首页
社区
课程
招聘
[求助][求助]修正重定位数据 有几个不懂的地方想请教一下
发表于: 2008-9-23 15:03 4214

[求助][求助]修正重定位数据 有几个不懂的地方想请教一下

2008-9-23 15:03
4214
;*******修正重定位数据

        mov        esi, dword ptr [ebp+ (S_RelocADDR-ShellStart)]
        .if        esi != 0
                add        esi, dword ptr [ebp+(FileHandle-ShellStart)]
                mov        edi, dword ptr [ebp+(FileHandle-ShellStart)]
                mov        ebx, edi
                sub        edi, dword ptr [ebp+(S_PeImageBase-ShellStart)]
                movzx        eax, byte ptr [esi]
                .while        al
                        .if al == 3h   如果3h是类型的话,但是类型是4位这样做不是取8位了吗?
                                inc        esi 为什么这里还要加啊
                                add        ebx, dword ptr [esi]   为什么要取值是dword类型的,重定位项不是高4位是类型低12位是地址吗?
                                add        dword ptr [ebx], edi
                                add        esi, 4h
                        .else
                                inc        esi
                                add        ebx, eax
                                add        dword ptr [ebx], edi
                        .endif
                        movzx        eax, byte ptr [esi]
                .endw
        .endif

还麻烦高人指点一下,小弟实在菜得很

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
2
这个是壳里面的处理代码吧,它的重定位可能是经过特殊处理的,你不能用标准格式做对比啊
2008-9-23 15:15
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
实在谢谢,让我想起来了!呵呵!呵呵,我以为这段代码你熟悉呢,这是第三版里的代码
2008-9-23 15:30
0
游客
登录 | 注册 方可回帖
返回
//