不是吧,我在学校可以搞定啊,我再做一遍。
脱壳后点击显示invalid date in the file.OK,有这个一般就是附加数据出问题了,另外我们明显发现脱壳后的exe才105KB,源文件都0.99M。附加段出问题基本上没什么疑问了。我们需要做的就是把附加数据加到脱壳后的EXE中,
用工具的话,我在论坛找了个名叫overlay的工具,工具不错,但是有点难用(其实也没什么,就是没个说明),源文件选择未脱壳的源文件,目标文件选择脱壳后的文件,先用overlay另存为,再选择复制Overlay,就可以了,再看脱壳后的文件,大小已经变成了1.05M,运行OK.
手动的话,先用lordPE查下源文件的最后一个区段的终结(就是Roffset+Rsize)。记下是:A200. 然后用UE32把源文件与脱壳后的都打开。把源文件从偏移地址A200以后的一直到结束的内容全部粘贴,然后复制到脱壳后的文件结束,(就是文件最后),然后保存,运行OK。
备注1:好像用winhex更好些,但是那个的编辑模式快把我这么死了,所以换成Uedit32,
备注2:再次强烈推荐我上面推荐过的那个讲附加数据的帖子,我这个手动只能解决,1/3的情况,那个帖子则理论操作皆大全。
解决了
貌似是我手动确定IAT大小出了问题,但是脱之后程序能正常运行啊
也有Invalid data in the file!的提示
我刚才试了一下,修复的时候让ImportREC自动寻找IAT
然后复制overlay数据,就没问题了,我手动确定IAT起始地址和大小,找到的Imports貌似和自动找到是一样的,真是奇怪
初学脱壳,看来还得多练习