squidge
October 4th, 2003, 10:31
I've just taken another look at the latest version of one of my rarely used proggies now it's increased by a few versions, and found that PEID states its now protected with the above.
Strange thing is, it has the "Debugger detected, please remove" blah blah etc, so it's clearly a new version, but I found it much easier to unpack than the old version?!
Loaded the program into Ollydbg, patched the byte in FS to avoid debugger detection, told Olly to ignore certain exceptions and let the program run as normal. Finding nothing fancy there, I told Olly to pause the program, and then dumped it to disk. Not wanting to trace through the code looking for the iat and oep, I just looked for a IAT signature, zeroed the obvious bogus entries in between the iat thunks, and imprec fixed it with no problems. Found the OEP within 5 minutes using IDA (by looking for a code sequence). Fixed OEP and it ran.
Now, I never found any stolen oep bytes, but the program runs the same as the packed one, which I find strange. I expected to at least replace the bytes by the normal ones found in the compiler startup stub. In the old version of the program, there was both bytes missing and multiple dips into the code from aspr itself before oep. Now there seems to be nothing?!
Anyone else played with this version of ASPR?
Strange thing is, it has the "Debugger detected, please remove" blah blah etc, so it's clearly a new version, but I found it much easier to unpack than the old version?!
Loaded the program into Ollydbg, patched the byte in FS to avoid debugger detection, told Olly to ignore certain exceptions and let the program run as normal. Finding nothing fancy there, I told Olly to pause the program, and then dumped it to disk. Not wanting to trace through the code looking for the iat and oep, I just looked for a IAT signature, zeroed the obvious bogus entries in between the iat thunks, and imprec fixed it with no problems. Found the OEP within 5 minutes using IDA (by looking for a code sequence). Fixed OEP and it ran.
Now, I never found any stolen oep bytes, but the program runs the same as the packed one, which I find strange. I expected to at least replace the bytes by the normal ones found in the compiler startup stub. In the old version of the program, there was both bytes missing and multiple dips into the code from aspr itself before oep. Now there seems to be nothing?!
Anyone else played with this version of ASPR?