我正在教自己如何进行恶意软件分析。在尝试分析USB驱动器上的恶意文件时,我注意到这个恶意软件包含了Aspacker 2.12(PEiD)。我以前从来没有遇到过Aspack,快速谷歌搜索让我看到了这个视频:http://www.youtube.com/watch?v=I3QeEqC4-jE 这家伙说找到ECX寄存器来找到原始入口点。
另一个谷歌搜索引导我到另一个网站上的教程调用tuts4you(我无法发布链接,因为你需要下载文件来查看教程)但是这个人说找到ESP寄存器和EDI寄存器和做同样的事情。
他们都使用ollydbg并导入REC,看起来教程显示完全相同的东西 - 即找到OEP来解压缩ASpack。
由于我是新手,有人会介意解释哪一个是正确的,为什么?
答案 0 :(得分:3)
希望问题不要过时...... 有更多方法可以完成这项任务。您可以按照上述教程中的步骤或尝试其他方式(通常依赖于打包器版本/选项等)。要提及一种替代方法,请尝试在打包的可执行文件中找到以下说明:
6800000000 push 0
C3 retn
将断点设置为此push 0
指令并运行可执行文件。在打包程序代码执行期间将修改此指令,并且0
(DWORD 0x000000)将替换为原始入口点的地址(DWORD)(因此指令将显示为push 00451000
)。
一旦执行,OEP的地址将被推送到堆栈,并且ret
指令将把它作为返回地址,执行应该继续....因此将EIP
(指令指针)设置为原始入口点。
为了搜索这些说明,我建议使用一些十六进制编辑器或HIEW32 ...搜索以下十六进制模式:
6800000000C3