![]() |
|
|
|
#1
|
|||
|
|||
|
Hi
Hi britedream,
I'm looking foreward to learn about your solution. ![]() BTW, has anyone found a program protected by this new version? Last edited by hobgoblin; 05-20-2004 at 01:41. Reason: Additional info/question |
|
#2
|
|||
|
|||
|
why not find the part in the unpacker that cycles through all the imports and patches the calls in the app with addresses of the redirected api in the envolope section, make a little ollyscript to capture the true api address and use ollyscript to put in correct api address and then use imprec tool to search for call [xxxxxx] and rebuild u a import that directly patches the calls,
or capture the table out of memory aspr uses to create these redirected calls and build your own tool to build imports section and fix the call [xxxxxx] to point to a new IAT - Darren |
|
#3
|
|||
|
|||
|
Quote:
I also look forward to hearing more about true iat direction fixing from britedream. From my observation, it appears that there is never an 'original' call structure that is then overwritten. It only seems that there are some basic distance bytes that are then calc'd and overwritten to the direct calls/jumps to the aspr env. If you have found something else that's truly be amazing.
|
|
#4
|
|||
|
|||
|
this is the internal import table i mean, aspr steps through this and decodes as it goes, patching the calls and jumps to the envolope. on my machine the address of the code that does this is 0xc1550a. its possible to hijack this code with a little ollyscript and avoid it pointing calls to envolope code but to the real api addresses in memory, also i suspect with a few tweaks to the script it should be possible to make the script create an IAT and all the patched jumps/calls will be pointing to this new IAT, then its a case of sniffing out any emulated api and fixing them up manually
- Darren |
|
#5
|
|||
|
|||
|
well, i managed to do it, but the solution doesn't seem to fit every situation so i'll not post any real specifics yet. just wanted everyone to know that it is possible. it took a lot of rebuilding. rebuilding an iat, fixing jumps/calls, etc.
i do have one question, maybe someone can help me out. is there an api that acts the opposite of GetModuleHandleA? in other words, an api that can be feed in a number that is the modules handle, like 77000000, and it will spit out the module name? just curious, cuz something like that could help somewhat. |
|
#6
|
|||
|
|||
|
Quote:
|
|
#7
|
|||
|
|||
|
hehe, duh!
![]() thanks. my brain is a little fried
|
|
#8
|
|||
|
|||
|
Hi all,
On the last exception you will see anti softice sice too .hmm still need time to find why the iat is not able to resolve using revirgin or imprec.... Regards |
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Help with ASProtect 1.23 RC4 | Perdition | General Discussion | 7 | 06-09-2004 01:48 |
| New Asprotect?? | loman | General Discussion | 7 | 02-04-2004 20:34 |