首页
社区
课程
招聘
[转帖]如此算出来的 重定位块个数究竟准确么?
发表于: 2012-9-5 09:34 3763

[转帖]如此算出来的 重定位块个数究竟准确么?

2012-9-5 09:34
3763
int numofReloc=(pRelocBlock->SizeOfBlock-sizeof(IMAGE_BASE_RELOCATION))/2;


重定位块的结尾是一个00 00的word,这样计算不是把最后一个结束标记也算进重定位了么?

那么手工重定位的时候以numofReloc作为for循环的最大次数,会不会造成每个块的最后一个重定位数据类型为0,地址为:(char *)hModule + 0???

还有手工重定位需要考虑到代码段的属性吗??如果我手工装载的各节有只读属性,重定位(手工)会失效么、?

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 122
活跃值: (72)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
另外牛们,重定位类型中除3以外的类型都是怎么表示的呢?
win32中我看到了3的类型,还有一些0的类型。
2012-9-5 09:35
0
雪    币: 122
活跃值: (72)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
好吧,今天又是一个自问自答的日子,都没人给个答案。
重定位只需要定位3类型的数据即可,其它类型在win32中不予考虑。
如此计算重定位数据的个数的确有问题,但是最后一个在判断的时候就已经不符合类型3了。所以不会出错。
2012-9-5 14:10
0
游客
登录 | 注册 方可回帖
返回