.text
部分的示例。因此,我在写操作的.text
部分放置了一个断点,然后继续。我发现它将.text
部分归零,然后将解密的代码写入该部分,然后调用解密的OEP。我用Scylla纠正了OEP并转储了.exe
文件。 /> 这是
kernel32.dll
中转储的.exe
文件的汇编。在
PEBear
中打开转储文件。我在做什么错?谢谢。
#1 楼
首先在入口点本身上放置一个断点,该断点可能根本不在.text部分中,而是完全在另一个部分中。您将看到该程序可以动态地解析其自身的导入,可能是通过在kernel32.dll中搜索LoadLibrary和GetProcAddress。控制权转移到解密后的代码上。如果在那一刻转储文件,然后反汇编结果,则可能能够看到崩溃的原因-可能是反调试机制,这里有太多的可能性列出来(但是请参见http://pferrie.host22.com/papers/antidebug.pdf中的常用选项)。评论
谢谢。即使我的问题是IAT,我也会投票赞成详细答案。
–rustam Shirinov
17-10-27在19:18
评论
你能给文件的sha256哈希值吗?9ed85a6de31604eb431cdd7632cad0e5be54af10a16cc6ca0b886d1f92bb91b8
ImmunityDbg是OllyDbg的一个分支,有时两者都难以识别未包装部分的代码。在Olly中,您可以右键单击这些无法识别的代码,然后单击“分析”>“分析代码”。我建议您遵循此答案中提到的Igor步骤。制作解压缩的文件可执行文件通常会很困难,请记住这一点。
谢谢您的建议,顺便说一句,即使我做相同的事情,每次执行相同的过程时,我都会忘记提及哈希值。
使用反调试方法是否可能导致恶意软件?