Java .Class 文件更改字符串

2023-11-21

我正在尝试修改一个minecraft mod(gravisuite),每当我按F键时,它就会将“重力引擎关闭/打开”,但是我想更改此字符串,我首先将“重力引擎关闭”替换为“重力引擎关闭”通过使用十六进制编辑器,但此后该文件不再有效:/我尝试使用 jbe 和 cjbe 和 rej 等工具,该字符串位于常量池中,但它只会让我删除它...

有什么方法可以更改已编译的java类中的字符串而不破坏它吗?

Thanks


我通过一个小的调整编译了同一个类两次,首先使用“foo”,然后使用“foo-bar”

public class HelloWorld {
   public static final String HELLO = "foo-bar";
}

与“富”

000000b0  74 01 00 **03** 66 6f 6f 00  21 00 02 00 03 00 00 00  |t...foo.!.......|
000000c0  01 00 19 00 04 00 05 00  01 00 06 00 00 00 02 00  |................|
000000d0  07 00 01 00 01 00 08 00  09 00 01 00 0a 00 00 00  |................|
000000e0  1d 00 01 00 01 00 00 00  05 2a b7 00 01 b1 00 00  |.........*......|
000000f0  00 01 00 0b 00 00 00 06  00 01 00 00 00 01 00 01  |................|
00000100  00 0c 00 00 00 02 00 0d                           |........|

与“foo-bar”

000000b0  74 01 00 **07** 66 6f 6f 2d  62 61 72 00 21 00 02 00  |t...foo-bar.!...|
000000c0  03 00 00 00 01 00 19 00  04 00 05 00 01 00 06 00  |................|
000000d0  00 00 02 00 07 00 01 00  01 00 08 00 09 00 01 00  |................|
000000e0  0a 00 00 00 1d 00 01 00  01 00 00 00 05 2a b7 00  |.............*..|
000000f0  01 b1 00 00 00 01 00 0b  00 00 00 06 00 01 00 00  |................|
00000100  00 01 00 01 00 0c 00 00  00 02 00 0d              |............|

看起来长度也被编码在结构中。注意 3 和 7...有有关此结构的更多信息

对于 300 个字符的字符串,前两个字节是 01 2c。

因此,考虑到“Gravitation Engine Turned OFF”的长度为 29 个字符,我会确保将字符串之前的字节更改为 1D,目前应该为 19 个字符(“Gravitation Engine OFF/ON”为 25 个字符)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java .Class 文件更改字符串 的相关文章

  • Logback线程池

    我使用 Logback 进行日志记录 我有一个问题 我将 AsyncAppender 与 ConsoleAppender 结合使用 当应用程序启动时 它会创建具有 logback 线程名称的线程池 所有日志记录工作均由 AsyncAppen
  • 如何在Eclipse中制作war文件[重复]

    这个问题在这里已经有答案了 制作war文件的简单方法是什么 当我右键单击 在服务器上运行 时 我的项目正在运行 但我想部署在 tomcat 服务器上 我已经安装了m2clipse但这给了我一个错误 maven是否必须制作war文件 我需要特
  • 如何获取JavaFX的版本号?

    如何在运行时找出我正在使用哪个版本的 JavaFX 简单的方法之一就是简单地阅读javafx properties文件位于您的 JAVA HOME jre lib目录 我现在安装了 Java 1 7 u9 与之捆绑的 JavaFX 是 v2
  • 规范路径和绝对路径有什么区别? [复制]

    这个问题在这里已经有答案了 可能的重复 Java 中的 getPath getAbsolutePath 和 getCanonicalPath 有什么区别 https stackoverflow com questions 1099300 w
  • 如何使用 Java2D 创建硬件加速图像?

    我正在尝试创建一个快速图像生成器 它可以执行大量 2d 转换和形状渲染 因此我尝试使用 BufferedImage 然后获取 Graphics2D 对象来执行所有绘图 我现在主要关心的是 make 速度非常快 所以我创建一个像这样的 Buf
  • 是否有适用于 Java 的 Harel Statechart DSL 工具?

    我正在寻找一种能够理解 DSL 的工具 在其中我可以定义生成 Java 代码的状态图 或者 DSL 中的状态图可以按原样运行 该工具最好用 Java 编写 并且必须根据 Harel 状态图 或等效的 UML 2 状态机 的定义支持超级状态和
  • 对 Java Servlet 进行单元测试

    我想知道对 servlet 进行单元测试的最佳方法是什么 只要内部方法不引用 servlet 上下文 测试内部方法就不是问题 但是测试 doGet doPost 方法以及引用上下文或使用会话参数的内部方法呢 有没有办法简单地使用经典工具 例
  • 如何在Netbeans中自定义jTable标题列字体大小?

    我尝试改变jtable标题字体大小Netbeans 但还不能 无论如何 表行字体大小已成功更改 这是我使用的方法 更改后的输出 问题 标题字体大小未更改 但我也想改变这一点 所以请帮助我该怎么做 一种方法是使用UIManager并替换默认的
  • 在java中迭代日期

    我需要遍历一系列日期 不确定如何在 for 循环中获取第二天 我在用java util Date So plusDays 1 不能在 for 循环中用于获取下一个日期 Used date1 new Date date1 getTime 10
  • 为什么在java中加载JNI是在静态初始化程序中完成的?

    在许多使用 JNI 的示例中 我看到类似以下内容 class SampleClass static System loadLibrary somelib 这种特殊语法的目的是什么 为什么使用这个 而不仅仅是在类构造函数或类似的东西中 我想你
  • 结果显示图像上有衬里

    我正在使用 opencv 和 android ndk 下面是我的 jni 代码 void Vignete Mat img1 Mat img2 Mat out resize img1 img1 img2 size img1 convertTo
  • 自 Java 7 以来 HttpServer 延迟 1 秒

    我们正在使用内部HttpServer项目中的类 用于通过 HTTP 在客户端和服务器之间交换数据 当我们切换到 Java 7 时 我们意识到结果交付存在延迟 我们可以将问题简化为以下示例 Class EchoServer创建上下文 echo
  • 如何在 Jersey RESTful Web 服务中放置 cookie?

    我想通过 Jersey API 将 cookie 从 PUT webservice result 放置到 POST webservice 这是我的代码 WebResource service1 client resource http te
  • Eclipse 错误:“设置构建路径”遇到错误

    我正在使用一个名为 jtwitter 的 API 它有一个 jar 文件 jtwitter jar 我一直在使用它并使用 git 维护它 我把代码托管在github上 有些天 我没有碰过它的代码 今天 当我克隆我的 git repo 时 实
  • 如何使用二叉树中的递归来完成回溯

    我正在尝试插入一个二进制节点 我的代码很复杂 没有希望挽救它 所以我计划重写它 基本上我没有考虑回溯 也没有仔细考虑算法 我正在尝试使用顺序遍历插入二进制节点 但我不明白应该如何回溯 D B E A C F 我如何搜索根 D 的左子树 然后
  • android.R.layout.simple_list_item_1是什么?

    在我看到的所有示例中 他们在创建 ArrayAdapter 时仅使用 android R layout simple list item 1 android R layout simple list item 1是什么 它只是一个名为sim
  • 通过命令行增加Java中的MaxPermSize内存

    您能否解释一下如何增加此 PermSpace 大小 我正在使用 Gate 应用程序并加载大量数据和大量插件 不幸的是每次运行后都会出现有关内存不足 maxPermSpace 的错误 我到处搜索 但我找不到如何通过命令行增加这个大小 或者可能
  • ElasticSearch - 定义自定义字母顺序进行排序

    我正在使用 ElasticSearch 2 4 2 通过 Java 的 HibernateSearch 5 7 1 Final 我在字符串排序方面遇到问题 我的应用程序的语言有变音符号 它们有特定的字母顺序 订购 例如 直接在之后L 追随O
  • 来自 Janino 和 Commons-Compiler 的 Spark java.lang.NoSuchMethodError

    我正在构建一个使用 Spark 进行基于随机森林分类的 应用程序 当尝试运行该程序时 我从该行收到异常 StringIndexerModel labelIndexer new StringIndexer setInputCol label
  • 为什么永久代空间不断增长?

    我读过几篇文章 我理解以下内容 如果我错了 请纠正我和 或编辑问题 java堆是这样分段的 年轻代 创建的对象放在这里 这部分被频繁且廉价地垃圾收集 老一代 在年轻代的垃圾收集中幸存下来的对象会移到此处 该区域的垃圾收集频率较低 并且使用对

随机推荐

  • 如何访问其他程序内存中的结构?

    我知道如何在 C 中导入和使用读 写进程内存 我正在做游戏训练师 我需要 直接 访问转换为结构的其他进程内存 我可以使用 readprocessmemory 或 writeprocessmemory 但这需要很多时间来实现许多结构 C 中有
  • 在旧的 Borland C 中使用 Visual C++ DLL?

    我必须支持使用旧的 Borland 编译器 BC 5 用 C 编写的旧应用程序 不幸的是 我们使用的旧 TCP IP 库开始显示出它的年龄 并且在 Vista 和 Win7 机器上出现问题 我有一个可用于 MS Visual C 的新函数库
  • 如何提取ctree()终端节点的分裂规则

    我有一个包含 6 个分类变量的数据集 级别范围从 5 到 28 我已获得以下输出 ctree 派对包 有 17 个终端节点 我已关注 Galled 的输入ctree 如何获取每个终端节点的分裂条件列表 达到我想要的输出 但是 我在运行代码时
  • $resource `get` 函数如何在 AngularJS 中同步工作?

    我当时正在看thisAngularJS 教程描述了如何使用 Angular 资源连接 Twitter 视频教程 这是在示例控制器中设置的资源 scope twitter resource http twitter com action ac
  • 使用 PHP 获取 TrueType 中可用的字符

    如何获取 TrueType 字体中所有可用字符的列表 使用 PHP PHP 似乎没有任何可用的扩展directly with FreeType 处理 TrueType 字体的统治性开源库 您可能需要使用适当的库来使用另一种语言 例如Perl
  • ModuleNotFoundError:没有名为“django”的模块

    我正在尝试在线制作一个项目 但出现一个我无法解决的错误 我已经安装了 django 但服务器给我这个错误 Virtualenv 也处于活动状态 2017 09 25 20 10 27 471 2017 09 25 20 10 30 892
  • 无法将 ListBox.ObjectCollection 转换为(类型化)数组

    我想将项目转换为字符串数组或我用来填充 ListBox DataSource 的类型 该类型已覆盖 ToString 但我似乎无法将其转换 甚至无法转换为 String String a String ListBox1 Items Cont
  • Cognito 用户池触发器上的 AWS Lambda 错误

    我正在尝试将一条记录插入到 DynamoDB 中 调用 Cognito 用户池的 预注册 触发器 出于测试目的 Lambda 函数非常简单 但在 AWSCognito CognitoIdentityServiceProvider Cogni
  • 刚刚开始出现 AIR SQLite 错误 3182 发生磁盘 I/O 错误

    我们的软件有一个新的测试版 进行了一些更改 但不是围绕我们的数据库层 我们刚刚开始在服务器日志中报告错误 3128 似乎一旦发生 只要应用程序打开 它就会发生 代码中最明显的部分是我们通过 SQLite 每秒记录数据的部分 仅这个月我们的服
  • 仅在 Swift 4.2 中上传带有多部分表单数据的图像

    我尝试了很多解决方案 我得到了一些 但他们正在使用objective c code在某处 我只需要解决方案swift 4 2并且没有任何第三方 例如Alamofire 使用它工作正常objective c类 我已经能够仅使用标头和其他参数以
  • 在 C# 中,创建新字节数组时字节的默认值是多少?

    这个问题的答案已经超出了我的搜索范围 当我这样做时 var authToken new byte 16 authToken 0 的值是多少 它是零还是零 默认值为 0 有关默认值的更多信息 http msdn microsoft com e
  • NSTableView + 删除键

    我正在寻找一种简单的解决方案 通过按删除键来删除 NSTableView 行 我在谷歌搜索时看到的都是这样的答案 http likethought com lockfocus 2008 04 a slightly improved nsta
  • EJB 3.1 容器管理的并发与同步

    我已经开始阅读有关单例会话 bean 和用于采用容器管理并发的注释的内容 与简单地使用 同步 关键字相比 我没有看到这样做的好处 所以我怀疑我遗漏了一些重要的东西 考虑一下书中的这个例子 企业 JavaBeans 3 1 作者 Rubing
  • 在pandas中找到每组中最小值大于值的行

    我有一个数据框 如下所示 pd DataFrame A C1 C1 C1 C1 C2 C2 C2 C2 C3 C3 C3 C3 B 1 4 8 9 1 3 8 9 1 4 7 0 Out 40 A B 0 C1 1 1 C1 4 2 C1
  • python查找字符串中重复的子字符串[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我正在Python中寻找一个函数 您可以在其中给出一个字符串作为输入 其中某个单词已重复多次 直到达到一定的长度 那么输出就是那个词 重复的单词不一定全部重复 也有可能根本没有重
  • 从 JAXB 泛型中删除 xsi:type、xmlns:xs 和 xmlns:xsi

    使用 JAXB 时 我想在使用泛型时从 XML 元素中删除多余的命名空间 类型 我该怎么做或者我做错了什么 我想使用泛型 这样我只需编写一次代码块 示例代码 public static void main String args try T
  • 使用 UserDefaults 保存和检索 bool

    我正在尝试保存一个bool从 UISwitch 到 UserDefaults 的值 并在另一个视图中检索它 但是 我尝试遵循多个教程和堆栈答案 但似乎都不起作用 这就是我保存它的方式 class SettingsViewController
  • 如何强制清除 STL 内存缓存?

    我有一个类 它有一个类型字段unordered map 我在我的应用程序中创建了该对象的单个实例 该实例被包装在shared ptr 该对象非常消耗内存 我想在使用完它后立即将其删除 然而 重置指针仅仅释放了对象占用的一小部分内存 如何强制
  • 手动将设备插件(和其他)安装到 cordova 3.0 中

    Phonegap Cordova 3 0 从 3 0 版本开始已转向模块化设计 例如 要调用device versionAPI 您需要将设备插件包含到您的项目中 任何人都可以向我提供有关如何将设备 或任何其他 cordova API 插件安
  • Java .Class 文件更改字符串

    我正在尝试修改一个minecraft mod gravisuite 每当我按F键时 它就会将 重力引擎关闭 打开 但是我想更改此字符串 我首先将 重力引擎关闭 替换为 重力引擎关闭 通过使用十六进制编辑器 但此后该文件不再有效 我尝试使用