作为第一个解包练习,我决定尝试解包著名的 UPX(当然不使用 upx -d)。我选择了一个我在某处拥有的可执行文件,在调试模式下从 C++ 代码构建。我使用最新版本的 upx 打包upx algorithm.exe并对其进行了测试。
我在 PUSHAD 之后设置了一个硬件断点,在我点击它之后,我用 OllydumpEx 转储了这个过程。最后我用 Scylla 重建了 IAT。
在整个过程中没有错误,但我的固定转储以分段错误终止。你会怎么做来调查出了什么问题?
此图显示了我暂停转储的反汇编窗口,以及在此过程中使用的选项。

编辑:
我刚刚检查了进程内存,发现 IAT VA 和大小 b Scylla 似乎是正确的。

