#include <stdio.h>
#include <stddef.h>
#include <stdint.h>
#include <string.h>
#include <stdlib.h>
gehe zum Quellcode dieser Datei
|
int | crypt_fwrite (void *buf, int len, FILE *f) |
|
int | crypt_fread (void *buf, int len, FILE *f) |
|
pak_t * | pak_create (char *filename) |
|
uint32_t | checksumm_init () |
|
uint32_t | checksumm_update (uint32_t cs, char *buf, int len) |
|
int | pak_add_file (pak_t *p, char *type, char *desc, char *infirname, char *filename, uint32_t baseaddr) |
|
int | pak_add_4byteid (pak_t *p, char *desc, char *name, uint32_t id) |
|
void | pak_close (pak_t *p) |
|
int | usage () |
|
int | main (int argc, char **argv) |
|
#define HEADER_SIZE (sizeof(header_t)/sizeof(char)) |
Definiert in Zeile 284 der Datei pakwif.c.
288 for (i=0;i<
len/2;i++)
289 cs+=((
unsigned short*)
buf)[i];
int crypt_fread |
( |
void * |
buf, |
|
|
int |
len, |
|
|
FILE * |
f |
|
) |
| |
Definiert in Zeile 192 der Datei pakwif.c.
194 unsigned char cbuf[1024];
195 int r, rtot, start, towr, i, c1, c2;
207 r =
fread(cbuf,1,towr,f);
209 while (
len>0 && r>0){
211 ((
unsigned char*)
buf)[i+rtot] = ((
unsigned char*)cbuf)[i] ^
crypt1[c1++] ^
crypt2[c2++];
226 r =
fread(cbuf,1,towr,f);
int crypt_fwrite |
( |
void * |
buf, |
|
|
int |
len, |
|
|
FILE * |
f |
|
) |
| |
Definiert in Zeile 156 der Datei pakwif.c.
158 unsigned char cbuf[1024];
159 int r, rtot, start, towr, i, c1, c2;
173 for (i=0;i<towr;i++){
182 r =
fwrite(cbuf,1,towr,f);
int main |
( |
int |
argc, |
|
|
char ** |
argv |
|
) |
| |
Definiert in Zeile 403 der Datei pakwif.c.
426 printf(
"Building FIR for camera %04X ver %08X\n", camid, ver);
435 pak_add_file(p,
"PROGRAM",
"Program",
"WriterInFIR.bin", wif_fn, 0xffffffff);
444 sprintf(cbuf,
"0x%04X", camid);
int pak_add_4byteid |
( |
pak_t * |
p, |
|
|
char * |
desc, |
|
|
char * |
name, |
|
|
uint32_t |
id |
|
) |
| |
int pak_add_file |
( |
pak_t * |
p, |
|
|
char * |
type, |
|
|
char * |
desc, |
|
|
char * |
infirname, |
|
|
char * |
filename, |
|
|
uint32_t |
baseaddr |
|
) |
| |
Definiert in Zeile 297 der Datei pakwif.c.
308 inf =
fopen(filename,
"r+b");
316 filelen =
ftell(inf);
323 strncpy(fnbuff, infirname, 31);
341 strcpy(h.description, desc);
345 h.checksumm = (baseaddr==0xffffffff)?h.checksumm:baseaddr;
void pak_close |
( |
pak_t * |
p) | |
|
pak_t* pak_create |
( |
char * |
filename) | |
|
Definiert in Zeile 240 der Datei pakwif.c.
248 f =
fopen(filename,
"w+b");
267 strcpy(h.description,
"UpgradeFirmSignature");
Definiert in Zeile 397 der Datei pakwif.c.
399 printf(
"pakfir <out_fir_file> <in_wif_file> <camera_id> [version]\n");
unsigned char crypt1[512] |
unsigned char crypt2[513] |