方法一:
1.修改跳转避开IAT加密(见有关介绍)
2.用ImprtREC得到所有函数列表,并save tree.
3.把同一dll的所有API组合起来(任意顺序),建立一个正常的IAT.然后根据同一dll的API组合顺序建立一个变换后在IAT中偏移表,每个API对应2字节的偏移.
4.在程序入口根据同一dll的API组合顺序在IAT偏移表,重新变换处理成为一个不连续的IAT.
方法二:
1.修改跳转避开IAT加密(见有关介绍)
2.在壳没有变换IAT前,用ImprtREC得到一个正常的IAT.
3.修复时在程序入口按照壳的变换规则(把壳的变换代码复制过来,稍微修改即可)处理IAT.
总结:
方法一适应于所有任何变换IAT的壳(不仅仅是ARMA).不管过程,只要IAT变换后的结果.
方法二必须要了解Arma壳的变换IAT过程.