-
-
无聊脚本-重建资源
-
发表于:
2004-12-28 22:41
4406
-
附件脚本太长了,脚本代码运行效率可能有点偏低,只贴个简单说明!Enjoy!
此脚本是我以前兴奋中(现在没有那劲了)的一个重建资源OllyScript0.92的脚本,其目的是从一些脱壳文件的目录表和资源表描述中提取资源表和资源项目、资源,并将其重整后的资源表Dump出来:“rscr.bin”,这份资源表应该是正常的(资源工具应该不会再报未脱壳的),但我只测试过一个脱壳exe文件(资源项属于ID型的,Name型的未有探究),我对于PE认识还在肤浅阶段,所以你有心理准备,未必能用。
注:你必须手工去补丁OllyScript.dll,因为哈哈,Dump文件会有第三只手作怪的,你可以用OD等工具去加载它(调试它),在它的执行代码空间搜索所有 WriteFile 的调用call,并观察上面附近有否 cmp dl,0A 之类的比较,把它补丁一下,可参阅我的一篇修怪bug的文章!
原理:用OD加载目标文件,停在入口就可以了,因为OD已经为我验证了你的文件的PE有效性,脚本会去获取资源表的位置,取得资源描述表的大小,先将它搬运,然后再遍历所有资源,并将它们从描述表的结尾处开始粘贴添加,每成功加一个单独资源就记录一次偏移OffSet位置(RLT.bin,指针单位:Dowrd双字),资源搬运完毕,最后会根据用户填写的资源表RVA(即你在目录表将重新填写的这份资源表的RVA),再根据RLT调整正确的各资源指针,Dump出一块资源表(实际是资源描述表和资源的结合)和RLT,这是我的一个初想,自知没可能是完全兼容各种资源的,如果你有好的建议,哈哈通知我一声!
附件:Rebuild_Resource.rar :D
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课