第十课 附加数据的处理
第十课 附加数据的处理
来到打开看雪http://www.pediy.com/bbshtml/BBS6/pediy6923.htm地址的文章就是关于浅谈附加数据的问题的,大家有兴趣的可以去看一下。
附加数据处理
这里我们简单的说下什么是附加数据,附加数据就是一段程序,程序要正常运行就需要有这段程序那么这段程序就叫做附加数据了,当然有些程序没有附加数据也可以正常运行,所以附加数据左右程序的运行是选择性的,并不绝对。
形象得了解下什么是附加数据,就好比,TXT文本文件,如果没有系统的记事本notepad.exe是打不开的一样。那么notepad.exe就是TXT的附加数据了。
在我们脱壳中有带附加数据的有的时候会把附加数据给脱掉,所以我们需要自己手动添加附加数据
1,脱壳并修复,修复时也没有无效函数。打开后就不能运行,可能就是附加数据丢失的原因
2,用PEID查看原程序的区段,找到最后一个区段,几下ROffset(偏移量) RSize(大小)
3,用WinHex(等十六进制编辑工具)同时打开原程序和脱壳修复好的程序,计算ROffset + RSize ,得到的结果就为附加数据的起始地址,
4,在原程序中找到该起始地址所在行,数到起始地址的精确地址,(WinHex下)右键-->选择起始,拉到程序结尾-->右键-->选择终点-->右键-->编辑-->复制。
5,切换到脱壳修复好的程序,在程序的末尾-->右键-->编辑-->粘贴,保存即可。
Btw:关于附加数据的复制粘贴可以用Overlay 这款工具来做,
打开原程序和脱壳修复好的程序,直接点拷贝附加数据,它就会自动完成比对,复制和粘贴工作。 “附加数据保存”这个按钮是用比对附加数据并单独保存在一个文件中,我们可以用十六进制编辑工具获取其内容,然后手动完成粘贴工作。