![]() |
|
#5
|
||||
|
||||
|
Hey All,
Thanks for the offers of help. I was actually closer than I thought when I first posted the message. My target was crashing, but not because the OEP was wrong, but because even after running UIF, the IAT was still farked. It was my stupidity in not realising I was at OEP. I am performing the following steps to get a clean dump file: 1. Run trial mode exe in debugger, break somehwere in process code. 2. Run UIF and do not directly fix imports. 3. Dump (even procdump worked quite well) 4. Locate OEP, and edit EXE file. 5. Fixing Imports by hand (in progress) (dump as you go to save changes to a new exe) 6. IAT rebuild (not done, using hand or script) 7. Test, rinse, repeat. (not done) 8. Optimize dumped exe structure. (not done) My target as mentioned before was Delphi app. Nothing too special except that the intialization code at OEP was a bit more complex than expected. Finding the OEP Delphi programs have a string identifier after each method (n debug mode, and important methods are flagged in release mode). Example for sort is: Quote:
A quick scan for this binary string in Olly "E8 ?? ?? ?? ?? 00 00" found what I needed, I then traced back to find the OEP (push ebp). Interestingly RDGPD got it right first time, with its Delphi entry point scanner (runtime one), run against my clean dump. ![]() Quote:
I break at OEP using hardware breakpoints on the real exe. Then I open the file I am fixing. Searching for the jmp tables is easy, my Olly search string is "FF 25 ?? ?? ?? ?? 8B C0 FF 25". I am also locating them by running Olly on the dump to trap exceptions. in dumped file: Quote:
Quote:
Olly has such a nice binary copy function. I started doing that yesterday, have not played with the target in a while. Any advice on how to clean up the exe once I am finished ?? Last edited by redbull; 04-27-2009 at 17:53. |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| VMProtect v1.6 help | _503_ | General Discussion | 3 | 02-21-2009 13:06 |