/*
================================================== =====================
Srcipt for repairing Armadillo's IAT Elimination feature
================================================== =====================

This script should help you to rebuild IAT on targets protected
with Armadillo's IAT Eliminator feature. You will need to modify
some parts of script to work on your file. First you need to unpack
your file, and prevent common import redirection and then use this
script after you found OEP. Read my comments below.
================================================== =====================
*/

var code //Code section is one that holds your code.
var NewPointer //Base address of new section where thunks will be placed (use some armadillo's).
var OldPointer
var Import

ask "Enter base address of code section:" //Ask user to enter base of code section:
cmp $RESULT,0
je exit
mov code,$RESULT

ask "Enter address of new section for imports:" //Ask user to enter base of new IAT section:
cmp $RESULT,0
je exit
mov NewPointer,$RESULT




searching:
findop code,#FF15????A900# //Find calls that points to 00A90000 section. You need to change this.
cmp $RESULT,0
je exit

mov code,$RESULT //Caclulations.
add $RESULT,2
mov OldPointer,[$RESULT]
mov Import,[OldPointer]
mov [NewPointer],Import
mov [$RESULT],NewPointer
add NewPointer,8

jmp searching





exit:
ret
 


