NodeSans 发表于 2021-1-19 16:57

为什么这个upx加壳程序无法停在pushad

最近在做buuctf 的 逆向题目,然后这个题目是buuctf的一个叫做新年快乐的题目。(程序在附件的链接中)这个题目中的程序通过exeinfope可知加了upx壳,然后就按照书上说的堆栈平衡定律脱壳。但是不知道为什么用ollydbg调试这个程序没有一开始停在pushad指令处。这是为什么呢?难道ollydbg一开始暂停的位置是会被干扰的?希望有大佬能解答。

Hmily 发表于 2021-1-20 11:05

因为这个是被人为改了一下入口,入口点的上一行就是跳到OEP的代码位置,在往上看就是UPX的代码了。

NodeSans 发表于 2021-1-20 17:18

Hmily 发表于 2021-1-20 11:05
因为这个是被人为改了一下入口,入口点的上一行就是跳到OEP的代码位置,在往上看就是UPX的代码了。

哇,原来入口点是能被人为修改的啊{:1_937:} 那这个入口点能改回去吗

Hmily 发表于 2021-1-21 08:23

NodeSans 发表于 2021-1-20 17:18
哇,原来入口点是能被人为修改的啊 那这个入口点能改回去吗

可以跟踪还原,其实他修改的并不影响脱壳。

NodeSans 发表于 2021-1-21 16:17

Hmily 发表于 2021-1-21 08:23
可以跟踪还原,其实他修改的并不影响脱壳。

嗯,好的谢谢。:lol
页: [1]
查看完整版本: 为什么这个upx加壳程序无法停在pushad