十万火急,EXE资源替换 ( 积分: 300 )

  • 主题发起人 主题发起人 someset
  • 开始时间 开始时间
S

someset

Unregistered / Unconfirmed
GUEST, unregistred user!
目的很简单,更新一个.rc或.res资源文件到一个可执行文件中去

这个程序我用DELPHI写的,然而一次意外,源码丢了。555...程序用PECompact压缩过,不过又用PEUnpack压出来了,资源也都提出来了

现在客户需要更改语言资源,把里面的字符资源替换成法语的(原来是丹麦语的)

我把里面的资源用RESHACKER提取出来,并用VS里的编辑器完成了字符串资源修改。但麻烦的是,我用了EXESCOPE不能替换,RESHACKER以及“点睛资源替换器修正版”来执行完全替换,程序就都不能运行了。

如果再有一星期的时间,我可以重写一遍,但这个任务眼前就得完成,真要急死我了!

各位大侠谁有好的办法,或能帮我完成资源替换,不胜感激,难以言谢,以分相许!另加300~
 
帮顶一下,找一下汉化高手
 
壳没脱好。
 
那我该怎么办呢,除了用UNPECOMPACT之外,有更完美的脱壳方案吗?
 
手工脱,然后修复资源,甚至不脱,写 Loader。
如果 300 分都给偶得花[:D], 那可以发给偶看看。
 
[:D]今天只要解决问题,分无所谓
我上面说了还有300分呢
那兄台给个email吧,我把exe 和改后的 res文件发给你
 
kryso@21cn.com
 
晚上帮你看看的说。
 
已发送,查收。
 
非常感谢,但是。。。
直接替换资源还是不行,只是出的错误不一样了
原来替换后xxx is not a valid win32 application
现在替换后The application failed to initialize properly(0xc0000005)

这不会是我用的res文件的问题吧?可原来用来连接资源的也是这样做出来的啊~
刚又看了下,原来ResHacker已经认不得里面的资源,说是被压缩了,奇怪

不过这问题我已经部分解决了,昨天用Exescope几乎逐条替换串资源,Exescope对Unicode支持的不好,只好用Ultraedit手动对照修改其中的乱码,现在界面语言已经搞定,虽然由于FreeRes文件尺寸上涨了50%,不过没关系了,反正换了版本,眼前这一关应该过得去了
 
原来没搞懂FreeRes,它很强[:D]
最终方案有了,无论哪种方式脱壳,用FreeRes先释放压缩资源(如果需要),再重建可编辑资源
之后就可以用ResHacker替换资源文件了
发分
 
资源不是一定能替换的,如果你要替换的比原来文件打,那就未必可以正确替换,就会出现 The application failed to initialize properly(0xc0000005)
类似问题了。
 
还可以,新的资源是比旧的大,但现在经FREERES重建后都替换成功了,差别是你帮我DUMP出来的程序可以被PEC再加壳,经UNPEC脱壳的就不行,再压缩后运行出现The procedure * could not be located in the DLL
 
后退
顶部