Quote:
|
Originally Posted by DABhand
You cant change a 3 byte instruction to a 2 byte only, that will screw up the rest of the coding, you have to nop the last byte also.
|
Congratulations, you have just given the proof that you do not have a clue how a program works.
Quote:
|
Originally Posted by DABhand
Besides I dont see why a jump there would help with anything.
You could just nop out
457C6D to 457C76
That would take out the call,cmp and conditional jmp.
|
That will not work.
Time for a REAL lesson in assembly maybe ?
1. If you do not kill the instruction at 457C6C too, the stack pointer will be screwed and the program will crash when it tries to leave the function.
2. In the beginning of the function, the variable [ebp-1] is set to 1. If your patch is applied, the call at 457C8A will always fail (al = 0) since data6.owp will not be found. After doing this check from drive C to Z, [ebp-1] is set to 0 and this value will be given back. Moreover, since the check always fails, the code between 457C93 and 457CB2 is never executed. I have not analyzed what these functions do, but they are executed if the cd-check succeeds, but not when it fails. And that is exactly what my patch does: the cd-check is skipped and these functions are executed without even checking any drive.