能力值:
(RANK:350 )
|
-
-
2 楼
LordPE新增一区块,Voffset填0x00fd0000
|
能力值:
( LV12,RANK:250 )
|
-
-
3 楼
多谢,晚上回去试一下。
|
能力值:
(RANK:1130 )
|
-
-
4 楼
人家基址是0x01000000 ,怎么增加0x00fd0000区段?
这种情况下没法静态补区段
可以试试下面的方法:
OD刚载入程序后(未到OEP),申请内存,把低于0x01000000的内存全部分配完,然后再跑到OEP,这样这段内存肯定高于0x01000000了,然后再补区段
|
能力值:
(RANK:350 )
|
-
-
5 楼
我理解错了,以为0x00fd0000是RVA,原来wangdell要说的是申请地址比基址低的情况。
|
能力值:
( LV6,RANK:90 )
|
-
-
6 楼
也可以对申请内存api下断,看哪申请的,修改下申请的地址到一个自己定义的地址去
|
能力值:
(RANK:1130 )
|
-
-
7 楼
对于申请内存次数少的壳来说对API下断是个好方法,如果申请内存次数过多。。。就比较郁闷了
|
能力值:
( LV12,RANK:250 )
|
-
-
8 楼
多谢几位指点
|
能力值:
( LV12,RANK:250 )
|
-
-
9 楼
多谢几位指点
是,这个地址是比基址低的情况,也有比基址高的要处理.
好方法
目前就是申请内存的次数太多,壳申请了60多个区块,吐血...不知对这种壳大家都是怎么处理的?还有没有什么好方法指点一下.
|
能力值:
(RANK:1130 )
|
-
-
10 楼
这么做我认为是最简单的方法了
|
能力值:
(RANK:10 )
|
-
-
11 楼
true ,i see you .
another or.
|
能力值:
( LV12,RANK:250 )
|
-
-
12 楼
恩,只是它有60多个段需要补,够我忙一会的了.
可以一次把60多个一起补上吗?如果他们连在一起的话.
|
能力值:
(RANK:1130 )
|
-
-
13 楼
可以的,你可以全部DUMP出来,然后贴成一个区段,只要VA保持好就可以了,参见Volx的aspr_unpacker_v1.0.osc 脚本
|
能力值:
( LV12,RANK:250 )
|
-
-
14 楼
还要请教一下,如何申请内存?
我用HideOD怎么只能申请一块内存?
|
能力值:
(RANK:1130 )
|
-
-
15 楼
|
能力值:
( 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
|
|
|