恶意软件使用 UPX 打包 - 可以看到 0/1 部分。
当然,我可以使用工具甚至使用 UPX -d -o flags .exe 来创建一个比例 > 97% 的解压缩副本,但是我想手动解压缩它以继续练习我的技能并变得更好。
使用 OllyDbg 打开 .exe(恶意软件的 MD5:9fbdc5eca123e81571e8966b9b4e4a1e)让我们直接看到 POPAD 指令和堆栈上的几个常见后续调用,这也让我们知道这是典型的 UPX 内容。
问题是,当我跳过 PUSHAD 并执行 MOV 指令时,如果我通过转储跟踪 ESP 寄存器,前四个十六进制转储字节将被清零。
话虽如此,我仍然将 HWBP 设置为访问权限,只是为了看看它会引导我做什么,它让我想到:
这就是我被难住的地方。如果我尝试单步执行 JUMP 指令,它只会在返回到 PUSH 指令之前转到条件跳转 (JNZ)。我可以手动单击 JMP 指令并再次运行程序,这将引导我进入 CMP ESP、EAX。如果我再运行一次该程序,它会将我带到 0139BC0E,如下所示:
您可能会在程序开始时看到一些 kernel32 函数调用,但老实说,我不确定我是否需要进行解包。我对此表示怀疑。
总而言之,我可以使用一些帮助。



