Peek
October 29th, 2002, 15:43
Hi
I have big problem with IAT reconstruction
I have programm protected with Armadillo 2.53x, it's Delphi compiled.
dump can be done, I got OEP but problem is that Revirgin or ImpRec can find IAT
I check for any API call which do sw in memory ( for example Kernel32!GetModuleHandleA )
and I see
all I trace in TRW2000
First API call
PUSH EAX
PUSH BYTE +00
CALL 0040619C - API CALL (I not see Kernel32!GetModuleHandleA String)
At 0040619C is:
JMP NEAR [0046C20C] - All looks ok yet at 0046C20C is 84296418
At 84296418 (normally must be BFF77716) is:
PUSH BFF77716 - Store to Stack Kernel32!GetModuleHandleA address
JMP BFF957CA
........
........
........
at BFF957CA is:
PUSHF
CLD
PUSH EAX
PUSH EBX
PUSH EDX
MOV EDX,[FS:20]
..... etc
many some code with compare and jumps etc
at end is:
POP EDX
POP EBX
POP EAX
POPF
RET - now address BFF77716 is pickup from stack and there is main Kernel32!GetModuleHandleA JUMP
so , it's Redirection but problem is that for other API calls is other TRICK code not the same
so is any FAST way to Rebuild IAT ???
also in DUMPED programm RVA is bad
is any fast solution or only manually reconstruction ????
thx for answer
I have big problem with IAT reconstruction
I have programm protected with Armadillo 2.53x, it's Delphi compiled.
dump can be done, I got OEP but problem is that Revirgin or ImpRec can find IAT
I check for any API call which do sw in memory ( for example Kernel32!GetModuleHandleA )
and I see
all I trace in TRW2000
First API call
PUSH EAX
PUSH BYTE +00
CALL 0040619C - API CALL (I not see Kernel32!GetModuleHandleA String)
At 0040619C is:
JMP NEAR [0046C20C] - All looks ok yet at 0046C20C is 84296418
At 84296418 (normally must be BFF77716) is:
PUSH BFF77716 - Store to Stack Kernel32!GetModuleHandleA address
JMP BFF957CA
........
........
........
at BFF957CA is:
PUSHF
CLD
PUSH EAX
PUSH EBX
PUSH EDX
MOV EDX,[FS:20]
..... etc
many some code with compare and jumps etc
at end is:
POP EDX
POP EBX
POP EAX
POPF
RET - now address BFF77716 is pickup from stack and there is main Kernel32!GetModuleHandleA JUMP
so , it's Redirection but problem is that for other API calls is other TRICK code not the same
so is any FAST way to Rebuild IAT ???
also in DUMPED programm RVA is bad
is any fast solution or only manually reconstruction ????
thx for answer