好友
阅读权限10
听众
最后登录1970-1-1
|
在我们用日常的工具像cff ,loardpe 、od等等,在pe的va和rva 到fa的转换时。在一般情况下,没什么问题。
但是在od中,我们修改了程序的代码,可是od出现没有办法定位的时候。这种情况是od在内在地址和文件
地址转换时做了判断。可是cff,还有一些其它的工具并没有出现检测的情况,不知道文件地址超出了定位的
范围。还转换出了相应的文件地址,这是不严谨的。
例如:在pe中是这样的两个节表信息
00 10 00 00 00 10 00 00 00 02 00 00 00 04 00 00
00 20 00 00 00 20 00 00 00 02 00 00 00 08 00 00
我们有两个va , 一个是00401028 ,一个是 004031e0要求转换成fa
第一个 va 00401028 --->rva 1028 ,可以看出在 1000 ---1fff中, 相对rva的偏移是 28H
文件偏移400 +200 = 600h ,而 400 <400 +28h < 600h , 我们转换到fa =428h 没有错。
第二个 va 004031e0 ---> rva 31e0 ,可以看出落在了2000--3fff中,相对rva的偏移是1e10H
文件偏移600 +200 = 800h ,而 1e10h >600h,更是>800h,超过了文件对齐的范围 , 我们就要警告,不能转换。
这样编写的代码才是能防止错误的出现。 |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|