感谢大家赏脸!
本应好好感谢yzhshi的(他帮我找到了一份我未看过的资料),但yzhshi执意只拿一分。
这里我按yzhshi的的要求给1分,但我在这里表示深深的谢意。
同时也谢谢
mantousoft(delphibox版主)
phenix_sd(by the way:那个mincer的程序我实在看不下去了,它竟然将程序自身完全
; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;^^^^
复制到了目标程序,my god!)
卷起千堆雪tyn
htw
jrq
goddy
这里我大致讲述一下结果:
pe文件就是win95以上的系统可执行文件(通常为exe、dll、vxd?在nt中有一种ne格式,
与之不同)
这里提到的sizeofimage是指的是将pe文件调入内存所需内存的总大小。
从表面上看,我们首先会想到是否与文件大小相等,实际情况并不是这样的。
它的长度等于最后一个section(节)的rva(各节调入内存后的相对首地址,真正的地址
通常为rva+the base of image,但如果程序在程序生成时的默认地址不可用,那么这个地
址还有可能加上一个偏移值)+最后一个结的实际大小。
对于上面的例子:
---.rsrc---小结
该段真实长度:29696 ($7400)
该块的RVA:483328 ($76000)
该块物理长度:29696 ($7400)
该块物理偏移:461312 ($70A00)
重定位的偏移:0
行号表的偏移:0
重定位项数目:0
行号表的数目:0
该值=$76000+$7400=$7d400,
由于内存分配的原因,所以这个值必需按
the Alignment of section is(块对齐):4096 ($1000)
取整(只入不舍),
所以最终结果为$7e000。
我在纸上计算时出现了错误,所以。。。。哎。
我目前还在研究pe文件格式,有兴趣的朋友可以与我联系:
yuan-fan@21cn.com
也许在今后的某一天,等我将pe文件格式了解得差不多了,我会公布我的所学。
希望大家和我一样期待着这一天的早日来临!
由于希望更多的朋友看到本贴。我暂时不结束本贴。
分数我会这样分配。
yzhshi ; ; ; ; ; ;1
mantousoft ; ; ; ;100
phenix_sd ; ; ; ; 80
卷起千堆雪tyn ; ; 60
htw ; ; ; ; ; ; ; 40
jrq ; ; ; ; ; ; ; 15
goddy ; ; ; ; ; ; 4