Exetools  

Go Back   Exetools > General > General Discussion

Notices

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #3  
Old 01-27-2005, 07:53
gabri3l's Avatar
gabri3l gabri3l is offline
Parity Error 0x0FF2131D
 
Join Date: Aug 2003
Location: Eastern Shore
Posts: 118
Rept. Given: 0
Rept. Rcvd 5 Times in 1 Post
Thanks Given: 8
Thanks Rcvd at 21 Times in 10 Posts
gabri3l Reputation: 5
I just downloaded this and played around with it. Dumping as you said is simple.

Load in Olly
Execute the PUSHAD
Follow ESP register in Dump
Set Hardware breakpoint on first four bytes in the dump
When Olly breaks follow JNZ
And then RETN to OEP
Write down OEP and then dump with Ollydump
Rebuild imports with Imprec using your discovered OEP

I did not recieve any error messages about corruption.
The interesting thing is that the WEX (compiled HTML) is not included in the dump. And the dumped program asks for it. If you compile your own WEX you can easily open it. However, are you wanting to also dump the WEX file?

Edit: Dumping the WEX isnt as hard as i thought, just time consuming. Turns out Webexe saves each file in the archive as a PKzip and then puts them all together and gives the file a new signature. For example I was able to compress the recent int smashing tutorial by Shub-Nigurrath into an exe and manually extract each resource. Here's how:

1. Get to the OEP using the information above.
2. Remove the hardware breakpoint.
3. Search for all intermodular calls
4. Set a breakpoint on all calls to kernel32.ReadFile
5. Press Run you will break at the first ReadFile.
6. Look at the address you are at. This readfile is executed a few times however it is not the one you want. Continue to press Run until you break on a new readfile. My address was 00407DAC
7. Look at the stack and you will see the arguments being passed to ReadFile
Write down the Buffer address and the BytestoRead value.
8. In your dump window; right click and select go-to->Expression
9. In the box that comes up type in the Buffer address from the stack window. Press Okay
10. Press the StepOver button on Ollys toolbar, you will see the information being written to the memory address.
11. Now select the first byte in the dump window.
12. Right click and go-to->Expression again. In the box type in the value of (Buffer Address + BytestoRead). Press Okay
13. *Important* Press and HOLD SHIFT and choose the first byte you see in the dump window. This will select all the data from the beginning of the buffer to the end.
14. Right Click and choose Binary Copy
15. Paste in notepad (word wrap off) and save as file1.txt
16. Press Run again and start over from #7
17. When you have all the files saved. Open up HexWorkshop and make a new file. Paste the copied hex from file1 (Edit->Paste Special->CF_TEXT And make sure Interpret as hexadecimal string is checked)
18. Save the file with a .zip extension and repeat for all the files.
19. Extract the data from the newly saved pkzip files (they will not have any extension) Check their signatures in HexWorkshop to figure out what extension they need.
20. Long time later... You are done...

Last edited by gabri3l; 01-28-2005 at 08:45.
Reply With Quote
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



All times are GMT +8. The time now is 15:14.


Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX, chessgod101
( Since 1998 )