首页 > 在线阅读 > 工具免杀 > 木马免杀之DLL重定位表修改

木马免杀之DLL重定位表修改

评论等级:★★★★★ 浏览次数:0 次 更新时间:2013-09-06 16:55:52 贡献者:admin


下载本文档需要登录,并付出相应积分。

大小:171.57KB

所需积分:0 点

资 料上传

资料简介
重定位表,即基址重定位表。当链接器生成一个PE文件时,它假设这个文件执行时会被装载到默认的基地址处,如果执行文件被装载到虚拟内存的另一个地址,那么链接器登记的地址就是错误的,这时就需要用重定位来调整。对于EXE文件来说,通常Windows都会尽量满足它的要求,所以EXE文件一般不需要重定位。而DLL文件通常是加载到其他EXE程序的内存空间运行的,不能保证其基址,所以都需要重定位。举例来说,在DLL中,十六进制“B8 50614200”的意思是“mov eax,426105”,当DLL文件的基址为400000时是正确的,而在加载时,Windows却将它加载至800000处,则“mov eax,426105”就会失去其本来的意义,从而引发错误。这时就需要根据重定位表将其重定位,修改为“mov eax,826105”。重定位表通常放置在.reloc块中。