首页
社区
课程
招聘
[旧帖] [求助]菜鸟在脱壳常用思路中的几个问题 0.00雪花
发表于: 2007-9-4 21:23 3820

[旧帖] [求助]菜鸟在脱壳常用思路中的几个问题 0.00雪花

2007-9-4 21:23
3820
刚接触脱壳 看了脱壳常用思路有几个问题 麻烦前辈们指点下
1.下断点是为了什么,比如:
0040EA08    FF96 A8EC0000  CALL DWORD PTR DS:[ESI+ECA8]
0040EA0E    61                    POPAD      我在这句F2下断点后,是这句不执行 直接执行下一句 还是什么

0040EA0F  - E9 B826FFFF      JMP UPX.004010CC

2.一步到达OEP方法里F2下断点后,F9运行一下是干吗的?
3.F8单步跟踪里,遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断点——>运行到所选)这里为什么要在下一句按F4

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 1355
活跃值: (334)
能力值: ( LV13,RANK:920 )
在线值:
发帖
回帖
粉丝
2
[QUOTE=suyuanredi;355596]刚接触脱壳 看了脱壳常用思路有几个问题 麻烦前辈们指点下
1.下断点是为了什么,比如:
0040EA08    FF96 A8EC0000  CALL DWORD PTR DS:[ESI+ECA8]
0040EA0E    61                    POPAD      我在...[/QUOTE]

1,下断点是为了什么?为了快速脱掉某壳,熟练点后就一步到位,断点断在壳快要解密或者解压缩

完毕的地方,中间的花天酒地和山青水秀我们是懒得再理会了,因为重要的事情在后面(脱壳之后的

分析和破解)

2, 0040EA0E 61 POPAD 在这句F2下断点后,看情况,如果前面有某些跳转刚好饶过了该语句

跳到JMP的话,那也没办法,说明用不到这句,也就不执行了;大多数情况下是会到这句的,而且会执行

其含义是恢复寄存器的原始值,即恢复现场,因为壳的任务已经到此结束了,那么接下来的任务是替

主体程序恢复良好的执行环境......与它对应的有PUSHAD等,表示相反含义,即因为下文要进入壳中

疯狂的执行什么,那么刚开始的时候大多数要先保存寄存器的值,存入堆栈,壳快解完的时候再通过

类似POPAD这样的指令恢复原先存入堆栈的内容

还有针对你说的那个先ENTER,再F2,再F9,再F2的过程是因为ENTER只是前瞻目的地址的指令,

实际上程序并没有真的就执行过来了,所以ENTER到了OEP之后,还要F2下断点,F9运行后断下,

使程序真的运行到了OEP,这个时候就可以开始DUMP等

3,解壳(普通壳)碰到非强制性跳转,(除JMP等),说明带有条件性的跳转,满足了条件就往回跳,或者不

满足条件就回跳的时候,可以在指令必经之路(后面的指令)下断点,再F9,直接执行通过循环,继续脱壳

F4的作用:执行到此为止,暂停,等待拥护调试......相当于先断点,再F9,再取消断点,这里要注意,F4作

用在程序必经的流程上,否则就飞走了

不知道这样的解释能接受吗?
2007-9-4 21:39
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
还有待慢慢体会,有这方面的基础教程吗?
2007-9-4 22:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
爱琴海是好人啊  这贴要保存!
比LZ更菜的人路过!!!
2007-9-5 01:01
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
近来学学,好帖子啊 收藏一下吧
2007-9-5 02:24
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
恩,不错的帖子,值的珍藏一下!
2007-9-5 22:32
0
游客
登录 | 注册 方可回帖
返回
//