首页
社区
课程
招聘
[求助]请教脱arm壳的问题
发表于: 2005-7-25 16:19 5575

[求助]请教脱arm壳的问题

2005-7-25 16:19
5575
最近尝试脱壳,找XDeskCal练手,peid查是Armadillo 1.xx - 2.xx -> Silicon Realms Toolworks [Overlay],在00401000下内存断点,找到OEP,然后ImportREC 1.6 final,输入OEP,IAT AutoSearch,Get Imports,Trace Level 1后cut trunk(总共cut掉36个unresolved/共618个,这样的比例正常否?)
接下来Fix Dump,选原来的exe,ImportREC提示Invalid dump file! Can't match RVA to Offset in the dump file。我又尝试把option的Create new IAT勾上,脱壳的exe是出来了,可是Log那里显示了一堆Can't match RVA:xxxxx to offset(Exact call)。于是我用LordPE修正原来的exe的OEP和IAT,结果依然。是不是我在操作过程中忽略了哪个步骤,有某些表没有修正好呢?或者是要把内存映象中的exe dump出来?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 898
活跃值: (4054)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
2
先去用Armadillo标准方式加壳记事本练习
2005-7-25 16:29
0
雪    币: 270
活跃值: (312)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
3
这个问题解决了,前面漏了一步用LordPE把镜像dump出来。用这个镜像exe就可以通过fix dump,可是出来的dump_.exe非法操作,已经用LordPE把IAT修复了(用ImportREC auto search出来那个值)。这是什么原因呢?我看了很多教程都说修复IAT就可以了……
2005-7-25 22:40
0
雪    币: 270
活跃值: (312)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
4
我自己弄明白了,这里需要手动修复非法指针

我看到里面很多指针里面的代码都是类似
00E6E0E1    mov edx,[EA01B8]    // ~= kernel32.dll/00D4/FindNextFileA
00E6E0E7    add edx,64
00E6E0EA    call edx
00E6E0EC    mov edx,[EA0144]    // ~= kernel32.dll/016F/GetModuleFileNameW
00E6E0F2    add edx,64
00E6E0F5    mov ecx,5

所以正确的指针应该是GetModuleFileNameW后面64偏移的那个。arm的壳用这招来混淆辅助工具的判断。我跟踪了一下,FindNextFileA后面的偏移64是GetTickCount,GetModuleFileNameW后面是GetModuleHandleA。可是几十个函数都这样跟踪工作量好大,有没有查表或者其他好的办法呢?请版大帮帮忙,我试过记事本是一下就fix dump成功了,没有碰到过要手动修复的情况……
2005-7-26 14:40
0
雪    币: 898
活跃值: (4054)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
5
脱壳时避开输入表加密
2005-7-26 14:42
0
雪    币: 270
活跃值: (312)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
6
原来破解magic jump就是指这里的处理。按照版大的提示终于知道下一步应该怎么做,magic jump附近的指令和其他教程上的稍微有差别,不过还是认出来,成功破解了。谢谢版大。
2005-7-28 00:28
0
雪    币: 898
活跃值: (4054)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
7
恭喜你进阶了
真的付出,就会有所收获
2005-7-28 13:12
0
游客
登录 | 注册 方可回帖
返回