【问题标题】:How do you change strings in a .NET exe? (Translation) [closed]如何更改 .NET exe 中的字符串? (翻译)[关闭]
【发布时间】:2014-04-20 09:11:04
【问题描述】:

我正在尝试翻译一个似乎无法使用标准 .NET 反编译器正确反编译的已编译 .NET exe(免费软件)。我要做的就是翻译文件中的一些字符串并让它继续以相同的方式运行,所以如果你知道一种不需要反编译程序的方法,我可以告诉我什么程序可以做到这一点。我已经尝试过 IDA Pro(它不会重新编译它)和 Telrik 的 Just Decompile,但没有成功。我也尝试使用 HxD 手动更改它,但显然我尝试更改的字符串在十六进制编辑器中不可读。

【问题讨论】:

  • 对于 .Net 中的翻译,您通常不需要反编译应用程序。有没有 .Resources.dll 文件?
  • 您的问题在这里得到解答了吗? stackoverflow.com/questions/2742583/…
  • 谢谢。我不知道为什么有人将其标记为两次。只是因为什么都不知道而显得有点阴暗。毕竟这是一个可以学习的网站。
  • 我给你投了赞成票,因为我也对这种“文化”感到恼火。如果问题已经在其他地方得到回答,用户应该提供解决方案,而不是假设事情并在不评论他们为什么这样做的情况下投反对票。毕竟你提出了一个没有歧义的问题。为了将来轻松进行 .net 反编译,我建议您使用 ILSPY。

标签: c# .net string translate


【解决方案1】:

感谢你们的帮助。下面列出了我想出如何做到这一点的方法,供那些想知道我是如何做到的人使用的。

  1. 以管理员身份打开 VS 2010 命令提示符。

  2. 从命令提示符打开 ildasm.exe。

  3. 在 ildasm.exe 中,打开 exe 并执行 File->Dump(默认即可。)

  4. 将转储复制到一个较短的目录,并通过 Notepad++ 替换需要替换的内容。

  5. 全部修改后,在工作目录下的VS命令提示符下运行以下命令。

    ilasm.exe /EXE /RESOURCE=[RES FILENAME].res .\[SAVED IL FILENAME].il
    
  6. 将其复制到位,一切都会正常运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-09
    • 2017-02-27
    • 2015-01-04
    • 2014-11-28
    • 2016-06-21
    • 1970-01-01
    相关资源
    最近更新 更多