首页
社区
课程
招聘
[旧帖] 求教这个问题 0.00雪花
发表于: 2013-10-5 21:02 7981

[旧帖] 求教这个问题 0.00雪花

2013-10-5 21:02
7981
各位高手
我用天草的15课脱壳穿山甲
14课的单线程
15课的双线程
为啥按部就班地都脱了

但是出现0x0000000不能为read呢?
两个都出现了 为啥呢?
并且都修复了,脱壳课修复都非常正常顺利,

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
关于第15课--15、手脱Armadillo壳(穿山甲壳),要点如下:
第一、he GetModuleHandleA+5,选择返回的时机要正确
第二、记得修改MAGIC JUMP
第三、he GetCurrentThreadId选择返回的时机要正确,同第一个断点一样,一般在一个较大缓冲之后的断点返回用户领空
第四、dump程序时务必清除所有断点
第五、修复IAT前剪除无效指针
2013-10-6 23:43
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
此外,在修改完MAGIC JUMP后直接在CODE区段下设置访问中断,可直接到达OEP。
2013-10-6 23:55
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
关于第16课双线程--进阶Armadillo壳
按照教程试了一下没有问题。
估计可能的问题:
1、记得隐藏OD
2、双变单过程push 12FDA0要修改成断点函数OpenMutexA的MutexName在堆栈地址中的数值
00401000      60               pushad
00401001      9C               pushfd
00401002      68 A0FD1200      push 12FDA0                        ; ASCII "44C::DA47D45903"

0012F71C   0012FDA0  MutexName = "12E0::DA47D45903"
并且返回到OpenMutexA后,记得将0x401000处修改的代码撤销

3、magic jump实际上要修改三次,分别对应如下三个动态库的GetModuleHandleA返回。
"KERNEL32.DLL"
"user32.dll"
"advapi32.dll"
教程为了简化脱壳过程,在修改完MAGIC JUMP后在如下JMP代码出下断。
01055C14      EB 03          jmp short 01055C19  //F2下断,Shift+F9,断下!取消断点!
01055C16      D6               salc
01055C17      D6               salc

断下后,除了取消断点,记得恢复MAGIC JUMP处代码;同时在CODE断F2下断。
2013-10-7 03:43
0
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
牛,学习中的确可以得到帮助的
2013-10-12 17:29
0
游客
登录 | 注册 方可回帖
返回
//