Now it's getting even more interesting:
Example:
Original binary:
Failed/invalid binary, only one value modified, results in new checksum:
Valid modified binary, two values exchanged, therefore still the same checksum
Conclusion: NT9666X uses even more checksums for different parts/areas of code (but probably still the same algorithm)
Next task is to find these new checksums.......
Example:
Original binary:
Code:
003cf2e0 01 00 00 00 00 09 00 00 10 05 00 00 [1e]00 00 00 ................ //ORIGINAL VALUE: 1e
003cf2f0 00 48 26 00 00 00 00 00 06 00 00 00 00 00 00 00 .H&.............
003cf300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003cf310 00 00 00 00 01 00 00 00 80 07 00 00 38 04 00 00 ........€...8...
003cf320 60 00 00 00 00 48 26 00 00 00 00 00 06 00 00 00 `....H&.........
003cf330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003cf340 00 00 00 00 00 00 00 00 01 00 00 00 80 07 00 00 ............€...
003cf350 38 04 00 00[3c]00 00 00 00 28 23 00 00 00 00 00 8...<....(#..... //ORIGINAL VALUE: 3c
003cf360 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Failed/invalid binary, only one value modified, results in new checksum:
Code:
003cf2e0 01 00 00 00 00 09 00 00 10 05 00 00 1e 00 00 00 ................
003cf2f0 00 48 26 00 00 00 00 00 06 00 00 00 00 00 00 00 .H&.............
003cf300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003cf310 00 00 00 00 01 00 00 00 80 07 00 00 38 04 00 00 ........€...8...
003cf320 60 00 00 00 00 48 26 00 00 00 00 00 06 00 00 00 `....H&.........
003cf330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003cf340 00 00 00 00 00 00 00 00 01 00 00 00 80 07 00 00 ............€...
003cf350 38 04 00 00[1e]00 00 00 00 28 23 00 00 00 00 00 8...<....(#..... //ORIGINAL VALUE: 3c
003cf360 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Valid modified binary, two values exchanged, therefore still the same checksum
Code:
003cf2e0 01 00 00 00 00 09 00 00 10 05 00 00[3c]00 00 00 ................ //ORIGINAL VALUE: 1e, exchanged with 3c
003cf2f0 00 48 26 00 00 00 00 00 06 00 00 00 00 00 00 00 .H&.............
003cf300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003cf310 00 00 00 00 01 00 00 00 80 07 00 00 38 04 00 00 ........€...8...
003cf320 60 00 00 00 00 48 26 00 00 00 00 00 06 00 00 00 `....H&.........
003cf330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003cf340 00 00 00 00 00 00 00 00 01 00 00 00 80 07 00 00 ............€...
003cf350 38 04 00 00[1e]00 00 00 00 28 23 00 00 00 00 00 8...<....(#..... //ORIGINAL VALUE: 3c, exchanged with 1e
003cf360 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Conclusion: NT9666X uses even more checksums for different parts/areas of code (but probably still the same algorithm)
Next task is to find these new checksums.......