Talk:Nintendo DS Cart Whitelist
Jump to navigation
Jump to search
C representations
typedef struct { char ID[4]; // An ID unsigned char pad[0x84]; } sHNHA_Header;
typedef struct { char TID[4]; // Title ID unsigned long ver; // Title version unsigned char SHA[2][20]; // the two SHA-1 sums } sHNHA_Title;
--Ludo6431 19:24, 5 August 2009 (UTC)
C dumper
void myprint(char *format, unsigned char *data, size_t datasize) { while(datasize--) printf(format, (unsigned char)*data++); } int main(int argc, char *argv[]) { if(argc!=2) exit(1); FILE *fd=fopen(argv[1], "rb"); if(!fd) exit(1); sHNHA_Header header; sHNHA_Title title; fread(&header, 1, 0x88, fd); // read the header while(fread(&title, 1, 48, fd)==48) { // read each title printf("\nTID="); myprint("%c", title.TID, 4); printf("\nver=%d", title.version); printf("\nSHA="); myprint("%02X", title.SHA[0], 20); printf("\nSHA="); myprint("%02X", title.SHA[1], 20); } fclose(fd); }
--Ludo6431 19:24, 5 August 2009 (UTC)