欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

ASPR学习笔记上篇:修复IAT

ASPR学习笔记上篇:修复IAT

这次的目标是AllNetic Working Time Tracker - Version 2.2,好像是一个工作时间安排的工具吧?
下载地址是 http://www.allnetic.com/
先查看一下壳的版本:
PEiD扫描:ASProtect 2.1x SKE -> Alexey Solodovnikov
使用verA0.13插件扫描:Version: ASProtect 1.35 build 04.25 Release [Extract]
找OEP就略过了,难度不大,太占篇幅了
只总结一下ASPR程序找OEP的思路:
1.刚开始F7慢慢跟,等跳到新的区段中后就可以观察后面的代码直接F4或CTRL+F9大段略过。
2.当再次跳到新的区段时直接用CTRL+F9执行到返回。注意观察一下返回前的代码,有一个地方会连续把8个地址压入堆栈,这就说明很快要到达OEP了,经过9次CTRL+F9再F7慢慢跟,直到跳到一个新区段的开始位置时,跳过循环就到达OEP附近了。
3.最简单快速的办法是下断点bp GetSystemTime,然后经过十多次RET,再F7到新区段的开始位置,再F4跳过循环,就到达OEP了。

找到OEP后的程序的输入表很多都被加密了,需要修复IAT。
既然壳会解密出一部分IAT,那么看看是在哪解密出来的?随便找一处有调用系统API的代码,发现形式是call [69CCXX],用dd 69CC00查看一下,然后向上翻找到最上面的一行,我这里是69CB98,下硬件断点hw 69CB98,重新载入后执行,经过几次数据初始化和代码解密的中断,来到这里:

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功