幼儿园一霸 发表于 2019-9-1 19:49

脱壳破解培训区第二课作业脱壳问题求助

本帖最后由 幼儿园一霸 于 2019-9-2 13:18 编辑

问题有点多,请各位大佬勿怪。


如上图,有三种方法。
其一:esp定律脱壳,但是到了005BABD0停下(F8后寄存器访问断点),随后F7单走一步,进入如图循环。
其二:查找二进制字串,00 00 00 .....,JMP行右键断点运行到此处,第一次可以,而后进入到如图循环,这是为什么?
其三:同方法二,而后再JJUM出加断点,F9后F7,同法二也是第一次可以,之后不行。



如上两图,去右下角框,图一是我的。图二是其他人的,为什么我的call返回和别人的不一样?是脱壳不完全的原因吗,但是跟着他的步骤一步一步跟下来也不一样。这是咋回事。
之后的过程都能实现,而上面这个步骤我找到00402C3F,在段首用retn后功能也实现了。
可能是壳没有脱干净,我用的pojie2.0版虚拟机,文件是在爱盘下载的,工具是虚拟机自带的工具包内的工具。
如果要是这个壳没有脱干净,那么如何把这个壳脱干净(上面的那三个方法都没有脱干净)。

-------------------------------------分割--------------------------------------
今天试了试发现可以不跳了,如果在那个循环内循环了好几次的话,在JMP行按几次F4就可以跳出来了。所以这个问题解决了。
还有另一个问题,就是那个call的地址为什么不同?
给出我脱壳后的文件
链接: https://pan.baidu.com/s/1IxgWOo7AXGlE5r7JVHjpyw 提取码: 2333      压缩包密码:123

5969810 发表于 2019-9-1 21:08

esp定律的可以详细说明一下问题吗?根本不知道你说的是什么

幼儿园一霸 发表于 2019-9-1 22:58

5969810 发表于 2019-9-1 21:08
esp定律的可以详细说明一下问题吗?根本不知道你说的是什么

...就是因为堆栈平衡,最后的那个esp一定会与入口压入的esp相等,而等到了最后一步实际上是跳到了lea eax那一行,然后在F7单步就走入循环,图例说的很明白了。

BlueTears 发表于 2019-9-2 10:03

你第一张图的那个jmp过去应该就是入口点了吧

幼儿园一霸 发表于 2019-9-2 13:21

BlueTears 发表于 2019-9-2 10:03
你第一张图的那个jmp过去应该就是入口点了吧

嗯,这个问题解决了,那个JMP是入口点,但是如果进入上面的循环再在JMP行运行到此处的话会跳回去,然后我发现在JMP行多按几次F4就解决了。
页: [1]
查看完整版本: 脱壳破解培训区第二课作业脱壳问题求助