首页
社区
课程
招聘
[旧帖] [求助]对脱ASPack壳的一些疑惑(很菜的问题) 0.00雪花
发表于: 2008-4-10 22:29 2976

[旧帖] [求助]对脱ASPack壳的一些疑惑(很菜的问题) 0.00雪花

2008-4-10 22:29
2976
0041F3AF    61              popad
0041F3B0    75 08           jnz short 硬盘保护.0041F3BA
0041F3B2    B8 01000000     mov eax,1
0041F3B7    C2 0C00         retn 0C
0041F3BA    68 7E4B4000     push 硬盘保护.00404B7E
0041F3BF    C3              retn

大家能不能帮我看一下这个,别人说脱ASPack的壳一般入口点都是这里,

能不能给我说说原因,我很菜,刚开始学破解.能看懂代码,但是就是不理解,希望高手能给我详细解释下.

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
入口点是 pushad
2008-4-11 00:17
0
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
3
一般的压缩壳,如UPX、ASPack等,在壳程序开头用一句pushad把寄存器值入栈,以保存程序运行的初始环境,然后进行壳程序的流程(解密区块数据,填充IAT,重定位等),最后在跳到OEP之前,popad把之前入栈的寄存器值再出栈,恢复初始的运行环境,然后再跳到OEP。这样跳到OEP后,程序的堆栈和寄存器环境就跟刚刚加载时一样了。

上段中,蓝色的部分,对应的就是楼主贴的这部分代码。所以,对于ASPack壳,看到这段popad后大跳(push后再retn,效果相当于jmp),就可以判断已经要到OEP了,这里00404B7E就是OEP。
2008-4-11 00:34
0
游客
登录 | 注册 方可回帖
返回