我正在尝试使用以下MD5逆转恶意软件示例:ef668a0cd0755c67930ece13d28a6bda。

很明显,这是一个打包好的恶意软件。乍看之下,它似乎是某种GUI程序,但在某个时候(0x4013E6)它会自行修改并完全变成另一个程序(恶意程序)。

我敢肯定OEP位于0x401265。但是问题是-我现在不能转储该过程,这使分析变得困难,因为我只能在调试器中进行分析。我试图使用OllyDump,它抛出无法读取调试进程的内存(00400000..00408FFF),然后出现错误的DOS签名!!我还尝试了ImmunityDBG中的dump.py,但没有帮助。不幸的是,不可能在所有部分都进行更改。另外,考虑到此恶意软件样本在修改自身时会创建新的部分,是否可能导致问题?

如果您想自己查看恶意软件样本,而不是将第一个硬件断点设置为0x40220F (这是开箱存根的起点)。在那之后,将另一个设置为0x401265(我认为是OEP)。

如果您能给我一个提示,我可以如何转储该进程或我做错了什么,那真是太好了。 >
谢谢您:-)

评论

您是否尝试使用Volatility的procdump插件进行转储?

我曾经在LordPE的过程转储器上获得过成功

是的,我可以使用procdump(volatilitiy的一种,来自Sysinternals)之类的其他工具来转储该过程。但是我还有另一个问题。我无法修理IAT。我试图使用ImportRec和波动率的影响。这就是为什么我无法在IDA中看到哪些函数被调用的原因。如果我在Python中使用MakeName,它只会添加一条注释。但是我想以某种方式重命名功能...你知道我该怎么实现吗?

#1 楼

恶意软件可以删除/操纵自己的PE标头。 />
也许您应该尝试重写原始的PE?

评论


实际上您的假设是正确的。该恶意软件会在新进程中启动自身的新实例之前将其标头的120字节写入零(它会将自身复制到Temp-Folder并从此处执行)。我尝试在启动新进程之前恢复此120字节的标头(在调试器中),但这只会导致错误!

– 0xDEADC0DE
15年7月17日在16:00