|
|
#111 |
|
Homebrew Developer
![]() Join Date: Feb 2009
Posts: 80
Likes: 34
Liked 93 Times in 27 Posts
Mentioned: 16 Post(s)
Tagged: 0 Thread(s)
|
@deaphroat
, again well done for your work.
I'vwe wasted my time a bit, but I’m still working on this, I’ve made some fix/improvement which hopefully should be useful. For instance the MD5 function was only valid if you were running it on a full size file but gave wrong sum for a part of a file, I’ve asked google how I should because I know nothing about hashing and so on. At the moment I trying to fill up a list of MD5 You can eventually help… You may have a look here I’ve uploaded some code I use to help me in my dev, especially for all the MD5 stuff, it’s basically some copy/paste from my 0.9.6 main draft with few debugging things in it, if you want to use a MD5 routine from my code use the one from this one not from the older 0.9.5 of the NOR Dump Tool code as this old one is wrong. In PS3Data.h you'll see that I've started to build a MD5 db based on the wiki plus some comments where I tried to get sum for each FW files, you may complete it and share your findings :D PS: !!! I forgot to mention that in this dev-debugging code there no control for the NOR itself so do not use it as it is to confirm anything. it is just for debugging and dev, IT'S NOT VALIDATING ANYTHING !!! Last edited by anaria; 02-02-2013 at 12:37 AM. Reason: Warning added + comment |
|
|
|
|
|
#112 | |
|
Homebrew Developer
![]() Join Date: Sep 2010
Location: Australija
Posts: 873
Likes: 144
Liked 396 Times in 230 Posts
Mentioned: 219 Post(s)
Tagged: 0 Thread(s)
|
if you want md5 validation one of my public apps does that.
__________________
|
|
|
|
|
|
|
#113 |
|
Apprentice
Join Date: Oct 2011
Posts: 7
Likes: 0
Liked 2 Times in 2 Posts
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
|
Thank BwE and thanks all ^^
For comparing dump, i don't use md5, i make a array of bit and make == on it ^^ But it's nod a good idea for Nand... Maybe i will use a md5... I have already use Aes et Sha1 for ps3 with hashlib et Rijndael . |
|
|
|
|
|
#114 |
|
Member
![]() Join Date: Oct 2011
Posts: 718
Likes: 396
Liked 720 Times in 279 Posts
Mentioned: 116 Post(s)
Tagged: 0 Thread(s)
|
md5 is a simple digest function. it takes a message of length x and turns it into a hash of length 16 bytes (i think it's 16, someone correct me here if it's not please).
if you change one single byte of a message, the md5 will not match the previous one.
__________________
"Whoever has ears, let them hear."
|
|
|
|
|
|
#115 |
|
Apprentice
Join Date: Oct 2011
Posts: 7
Likes: 0
Liked 2 Times in 2 Posts
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
|
With Qt it's easy for make a md5, so my 2 function for test if dump are egal it's done (Nor and Nand).
|
|
|
|
|
|
#116 | |
|
Homebrew Developer
![]() Join Date: Feb 2009
Posts: 80
Likes: 34
Liked 93 Times in 27 Posts
Mentioned: 16 Post(s)
Tagged: 0 Thread(s)
|
" I’d come to it shortly, but first I’d like to thanks all of you who participate to this scene, I’m not good at naming people and I’m worry to forget some. " Yep if I had found your source code you can be sure I would have not scratch my heads in writing my lines, but now I think my draft is good enough for this part, I just need to make a proper do of MD5 for each possible files in the core os. |
|
|
|
|
|
|
#117 | |
|
Homebrew Developer
![]() Join Date: Sep 2010
Location: Australija
Posts: 873
Likes: 144
Liked 396 Times in 230 Posts
Mentioned: 219 Post(s)
Tagged: 0 Thread(s)
|
As they change once installed. (As told by me on the wiki).
__________________
|
|
|
|
|
|
|
#118 | |
|
Homebrew Developer
![]() Join Date: Feb 2009
Posts: 80
Likes: 34
Liked 93 Times in 27 Posts
Mentioned: 16 Post(s)
Tagged: 0 Thread(s)
|
@zecoxao
& @deaphrot, what I did wrong was to use
Click here to see full text
void MD5SumFileSection(char* SectionText, FILE *FileToRead, uint32_t Position, uint32_t Size) {
unsigned char MD5Sum[MD5_DIGEST_LENGTH]; int ByteSize; uint32_t Cursor; int DataWidth = 0x10; unsigned char DataValue[DataWidth]; MD5_CTX mdContext; MD5_Init (&mdContext); fseek(FileToRead, Position, SEEK_SET); for (Cursor=0;Cursor<NOR_FILE_SIZE;Cursor+=DataWidth) { ByteSize = fread (DataValue, 1, DataWidth, FileToRead); MD5_Update (&mdContext, DataValue, ByteSize); } MD5_Final (MD5Sum,&mdContext); printf ("%s", SectionText); for(Cursor = 0; Cursor < MD5_DIGEST_LENGTH; Cursor++) printf("%02x", MD5Sum[Cursor]); printf("\n"); } instead of Click here to see full text
void MD5SumFileSection( FILE *FileToRead, uint32_t Position, uint32_t Size, uint8_t *Sum) {
char *Buffer = malloc(Size+1); fseek (FileToRead, Position, SEEK_SET); fread (Buffer, Size, 1, FileToRead); MD5 (Buffer, Size, Sum); } void printMD5 (uint8_t MD5result[MD5_DIGEST_LENGTH]) { uint8_t Cursor; for(Cursor = 0; Cursor < MD5_DIGEST_LENGTH; Cursor++) printf("%02x",MD5result[Cursor]); } the result given with the first routine is valid only if you perform it on a full size but not on some part it, which is ok with the second one. But I 've found no reference of any MD5 for each files of each version of the CORE OS. But wath you are doing is not what I'm loking for for exmaple you check the MD5 of both ros0 and ros1, what I want to do is to check each files from both of them for example (probably not correct i still need to establish a correct db: Code:
{"emer_init.self" , "3.55","ca9bbc99c645173e1f98aa66c47a4500"},
{"isoldr" , "3.55","5c7436bffc7e8d0a8e210bd0ca83cdf2"},
{"manu_info_spu_module.self" , "3.55","09a1d434dbd7197e7c3af8a7c28ca38b"},
{"aim_spu_module.self" ,"3.55", "b0ad88ee637311ae5196f1b11d43be0a"},
{"appldr" , "9d670b662be696c8460449b7efdd803e"},
{"mc_iso_spu_module.self" ,"3.55", "b5f54d9a11d1eae71f35b5907c6b9d3a"},
{"creserved_0" ,"3.55", "c1dc055ef0d6082580ac066e2b0a3c38"},
{"sb_iso_spu_module.self" ,"3.55", "811329ecdb677181b9fc5cc3564d9047"},
{"sv_iso_spu_module.self" ,"3.55", "ff6753184d15f45508c5330a6144a4d9"},
{"sc_iso.self" ,"3.55", "bc6b000f5ac5db94daee47720d0bfe6b"},
{"spu_pkg_rvk_verifier.self" ,"3.55", "e9ae2a62b4cc31750d4e56c7d5ffdd6f"},
{"lv2ldr" ,"3.55", "a597aa3d8101674856eef83ac1d0ef28"},
{"eurus_fw.bin" ,"3.55", "413b0666736e87929b346ca2b712284d"},
{"lv1.self" ,"3.55", "65a3eee4c48716674cb1c29609b5f54d"},
{"spp_verifier.self" ,"3.55", "5ffb33a6cecb99081e54a0e36e3c61af"},
{"lv2_kernel.self" ,"3.55", "3b15c14770d654fef9987e2517616d89"},
{"spu_token_processor.self" ,"3.55", "b39e13fbd6b07f65616a0355ef5cb262"},
{"me_iso_spu_module.self" ,"3.55", "d7edca0ed3749f11ee34f0f532cf5aa7"},
{"lv1ldr" ,"3.55", "3da12e2cb472eb8193309b663d7c913a"},
{"hdd_copy.self" , "90d1c8a45f6fee52219e1b14ff8c9765"},
{"spu_utoken_processor.self" ,"3.55", "b76b7244b19032a9518787d9ec827f3c"},
{"default.spp" ,"3.55", "22ababcfc027f892ad2cf4e1c9fd925c"},
{"sdk_version" ,"3.55", "0e5a2e8a68fe09481d728c227dc5a165"},
{"lv0" ,"3.55", "368f2d290c00f3cb3c5a5c8cfe584534"},
|
|
|
|
|
|
|
#119 | |
|
Member
![]() Join Date: Jan 2011
Posts: 224
Likes: 24
Liked 27 Times in 20 Posts
Mentioned: 10 Post(s)
Tagged: 0 Thread(s)
|
Envoyé depuis mon Nexus 7 avec Tapatalk |
|
|
|
|
|
|
#120 | |
|
Homebrew Developer
![]() Join Date: Feb 2009
Posts: 80
Likes: 34
Liked 93 Times in 27 Posts
Mentioned: 16 Post(s)
Tagged: 0 Thread(s)
|
I suppose it's because your file is in buffer RAM and not a direct read from the disk !?
|
|
|
|
|
|
Likes: (1) |
![]() |
| Bookmarks |
| Thread Tools | |
|
|