我正在尝试学习如何解压恶意软件。我正在用 ollydbg 尝试这个。但是,当我尝试使用 ollydump 插件转储解压后。它提示错误“Bad DOS signature!!”。有人可以帮我解决这个问题吗?
到目前为止我发现的是:
- 恶意软件正在调用 VirtualAlloc(分配的区域是可读/可写和可执行/)
- 我在分配的地址上保留了一个硬件断点
- 当控件到达那个内存时,我运行了 ollydump。它抛出“错误的 DOS 签名”
任何解压此恶意软件的指针?
我正在尝试学习如何解压恶意软件。我正在用 ollydbg 尝试这个。但是,当我尝试使用 ollydump 插件转储解压后。它提示错误“Bad DOS signature!!”。有人可以帮我解决这个问题吗?
到目前为止我发现的是:
任何解压此恶意软件的指针?
恶意软件可能会在运行时破坏其 PE 标头,因此您可能需要寻找能够处理这些情况的工具。 Scylla应该完成这项工作。
如果你不想手动解压exe;
1.使用peid来识别包装类型。--下载peid
peid 教程 - tuts4you.com/download.php?view.398
由于关于解包流程的数据很少,以下是您在大多数打包恶意软件中应遵循的一般方法。如果我们谈论的是一些定制的和复杂的加壳器,这可能会更复杂。
我还强烈建议避免使用各种自动解包插件,因为它们会让您不了解该过程。
所以在大多数情况下,解包者(就解包过程而言)会尝试:
VirtualAlloc(Ex)
你应该尝试做什么:
VirtualAlloc(Ex)
因为有包装器将检查 BP 放置的前导码。按execute till ret
和 在EAX
您将获得分配的内存区域地址EAX
以按照中的地址Dump
Memory On Write
断点或HW on write
断点Dump
窗口以将解包的有效负载保存到文件中。在您的情况下,有效载荷可能不会是干净的MZ
文件,或者相反,解包路由有意削弱了有效载荷。
可能这将是一个迭代过程,因为您还需要验证解压缩的有效负载实际上是代码。尝试使用
Trace
HW on Execute
解包的有效载荷的开头玩得开心!
如果它是标准包装器,则有工具可以将其拆开。如果您想学习如何手动解包或者它不是标准的解包器,那么您可以继续。它看起来没有完成拆包。您可能必须继续获得有效的“原始”入口点。