在.class文件中编辑字符串



essue

嘿。我一直在开发游戏,在游戏中,我显示了版本" 1.0.13",我很快意识到它是完全不正确的,并且应该显示" 1.9"。我在Eclipse中编辑代码,并且没有为每个版本的代码做备份,因此我不能只编辑Eclipse的字符串。我尝试使用 .jar epompiler 将.jar文件分解为游戏。我下载了源代码(.java文件),然后将其放入Eclipse霓虹灯中。将.java文件放入我后,我意识到出现了一些错误。我修复了它们并运行了程序。游戏的许多机制都被完全打破了。我意识到这是行不通的,所以我使用 winrar 提取.jar,然后尝试使用 Notepad 手动编辑.class文件(这是一个愚蠢的想法)。使用其内置工具后,我用" 1.9"迅速替换了所有" 1.0.13"S。保存代码并运行.jar文件后,出现标题为" Java Virtual Machine Launcher"的窗口和文本"错误":发生了JNI错误,请检查您的安装并重试您。命名 JBE(Java bytecode编辑器)。使用程序时,我不确定如何编辑常数变量,我使用该程序搜索了教程,并且发现无。

>

我只想编辑一个字符串,我花了数小时的研究,甚至找不到解决方案。如果您知道如何解决这种情况,请发表评论。预先感谢。

info

因为我"至少需要10个声誉才能发布更多感谢链接"。我将只发布一个可以阅读的粘贴链接,该链接将链接到我在这篇文章中讨论过的所有网站和程序。

不要反编译,也不要编辑字节代码。

如果您使用标准六角编辑器(http://www.hexedit.com/),则可以打开二进制类文件。浏览那里,您可能可以在某个地方的旧版本号码。您可以更改单个字节(别忘了它是UTF-16编码!)并保存二进制更改。

关键是班级中没有其他移动或更改位置。记事本将插入或删除字符,这将破坏类文件。当您找到文字时,必须用太空字符填充字符串(您无法更改字符串的长度)。也就是说,将其存在的字符更改为新数字或太空字符,但切勿添加或删除任何内容。

除了代表类文件中字符串的字节外,没有什么改变。

最新更新