-
-
[求助]一个UPX壳,从3DB开始37个字节被修改,如何修复
-
发表于:
2013-10-18 09:25
9670
-
[求助]一个UPX壳,从3DB开始37个字节被修改,如何修复
目前情况是这样的。。
我这里得到一个被UPX加壳的程序,是个ARM下的程序,但是我的IDA有问题,不能动态调试,所以,我想直接给它脱壳。
问题就来了。
这个程序,被人修改过了,从文件偏移0x3DB开始37字节,被人修改成全部为00了,这样UPX自身也就无法识别这个壳的。
我可以手动修复,从0x3DB开始的5字节为 版本号\0 如 "3.91\0" 。后面紧接着四字节是 "UPX!" 。但是后面剩下的28字节到底是什么,就不清楚了。
请问,谁能告诉我这数据,到底是什么吗。
能想的办法都想了,无奈,个人水平不行,网上有一个WinCE下的UPX壳脱壳工具,但是使用了之后,我的程序区段没有恢复,而且脱壳的程序也不能运行了。
那28个字节,实在不好猜,我上网找了很久很久,也才发现 UPX! 之后的 两字节似乎是什么长度,而和程序看起来,没看出多大联系,可能我自身水平太差。再之后的一字节,是压缩方式吧,和最后一个字节是配对出现的,但是经过实际压缩查看,也不是这么回事。
带壳调试运行不起来,我用IDA5.5+ActiveSync+微软CE6SDK自带的WinCE6模拟器。程序就是不能调试。
现在都愁死了。不知道怎么好了。
ARM 下没有ESP,只有个R13,小名SP,也是保存堆栈信息的,但是问题在于目前不能动态调试,所以我什么办法都没有。
XP下不能运行,ARM平台下,WinCE系统可以运行,但是需要一大堆数据文件,特别费事。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)