首页
社区
课程
招聘
[求助]请教一下补区段(已解决)
发表于: 2007-12-19 08:49 7745

[求助]请教一下补区段(已解决)

2007-12-19 08:49
7745
请教一下,如何补区段。
目前是OEP已找到,并成功dump,IAT已修复完整。
但有部分call是call到了另一个区段,该如何补上这个区段,程序的基地址是0x01000000,而需要补的区段在0x00fd0000,大小为0x1000,该如何用LOADPE填写RVA什么的呢?或有没有其它方法?
请高手指点,谢谢。

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

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 44229
活跃值: (19960)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
LordPE新增一区块,Voffset填0x00fd0000
2007-12-19 09:08
0
雪    币: 87
活跃值: (47)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
3
多谢,晚上回去试一下。
2007-12-19 09:52
0
雪    币: 7309
活跃值: (3778)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
4
人家基址是0x01000000 ,怎么增加0x00fd0000区段?

这种情况下没法静态补区段

可以试试下面的方法:

OD刚载入程序后(未到OEP),申请内存,把低于0x01000000的内存全部分配完,然后再跑到OEP,这样这段内存肯定高于0x01000000了,然后再补区段
2007-12-19 09:55
0
雪    币: 44229
活跃值: (19960)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
5
我理解错了,以为0x00fd0000是RVA,原来wangdell要说的是申请地址比基址低的情况。
2007-12-19 09:57
0
雪    币: 223
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
也可以对申请内存api下断,看哪申请的,修改下申请的地址到一个自己定义的地址去
2007-12-19 10:49
0
雪    币: 7309
活跃值: (3778)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
7
对于申请内存次数少的壳来说对API下断是个好方法,如果申请内存次数过多。。。就比较郁闷了
2007-12-19 13:01
0
雪    币: 87
活跃值: (47)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
8
多谢几位指点
2007-12-19 22:49
0
雪    币: 87
活跃值: (47)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
9
多谢几位指点

是,这个地址是比基址低的情况,也有比基址高的要处理.


好方法


目前就是申请内存的次数太多,壳申请了60多个区块,吐血...不知对这种壳大家都是怎么处理的?还有没有什么好方法指点一下.
2007-12-19 22:53
0
雪    币: 7309
活跃值: (3778)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
10
这么做我认为是最简单的方法了

2007-12-19 22:55
0
雪    币: 93944
活跃值: (200219)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
11
true ,i see you .

another or.
2007-12-19 22:58
0
雪    币: 87
活跃值: (47)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
12
恩,只是它有60多个段需要补,够我忙一会的了.
可以一次把60多个一起补上吗?如果他们连在一起的话.
2007-12-19 23:00
0
雪    币: 7309
活跃值: (3778)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
13
可以的,你可以全部DUMP出来,然后贴成一个区段,只要VA保持好就可以了,参见Volx的aspr_unpacker_v1.0.osc 脚本
2007-12-19 23:41
0
雪    币: 87
活跃值: (47)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
14
还要请教一下,如何申请内存?
我用HideOD怎么只能申请一块内存?
2007-12-20 01:06
0
雪    币: 7309
活跃值: (3778)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
15
HideOD只能申请一块内存,换个插件
要不用脚本申请,或者下面的帖子可以帮助你
http://www.unpack.cn/viewthread.php?tid=15473
2007-12-20 10:30
0
雪    币: 87
活跃值: (47)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
16
非常感谢。

好强大的ODscript!今日才知道VOLX的脚本有多牛。
var tmp1   //存放临时数据
var imgbase//存放程序基址

cmp $VERSION, "1.47"		//比较版本是否>1.47
jb odbgver
dbh		//hide od
BPHWCALL                //clear hardware breakpoint
GMI eip, MODULEBASE     //get imagebase
mov imgbase, $RESULT


allocloop:
alloc 4000
mov tmp1,$RESULT
cmp tmp1,0
je error
eval "Start Addr:{$RESULT}"
log $RESULT
cmp tmp1,imgbase
jb allocloop
jmp success

odbgver:
msg "本脚本须配合 ODbgscript 1.47 或以上的版本"
jmp end


success:
msg "成功"
pause
jmp end


error:
msg "错误!"
pause
jmp end

end:
ret
2007-12-20 12:54
0
游客
登录 | 注册 方可回帖
返回
//