如何重新组装 javap 生成的 java 字节码? [复制]

2023-12-07

我希望能够编辑字节码并重新编译为可执行类文件。我不知道该怎么做。我尝试使用 javap -c 和 -v 进行反编译,编辑一些内容,然后将其更改回我的 Class 文件,但出现错误“错误:无法找到或加载主类 Test.class”。我还想从字节码生成java源代码。有什么帮助吗?我想自己完成此操作,而不使用外部程序。如果可能的话我想自己做。


输出来自javap不适合汇编器的输入。如果要反汇编和重新汇编 Java 字节码,则需要执行以下操作之一:

  1. 使用具有第三方汇编器格式的第三方工具。
  2. 编写您自己的工具来(反)汇编第三方汇编器格式。
  3. 使用您自己的汇编程序格式编写您自己的工具。

我会看一下Soot and Krakatau,两者都具有完整(反)组装能力。 Soot 支持字节码的一些中间表示。我相信 Krakatau 使用基于流行的 Jasmin 的表示(尽管该工具本身是用 Python 编写的)。

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

如何重新组装 javap 生成的 java 字节码? [复制] 的相关文章

  • 如何获取枚举的子集

    大多数情况下 包含所有元素的枚举显示在用户界面的下拉列表中 我们只需要在用户界面中显示 5 个字段中的 2 个 通过某种方式利用可用于枚举的相同函数来获取此数据的更简单方法是什么 enum Color RED GREEN BLACK BLU
  • 带有来自 Selenium 2 / WebDriver 的 Id 的 jQuery 元素选择器

    我可以在 Selenium 中获取元素的 ID RemoteWebElement webElement getId 它返回一个像这样的字符串 e9b6a1cc bb6f 4740 b9cb b83c1569d96d 我想知道这个ID的来源
  • 哪个类调用了我的静态方法?

    假设我有一个带有静态方法的 Java 类 如下所示 class A static void foo Which class invoked me 进一步假设 A 类有任意数量的子类 class B extends A class C ext
  • 按下按钮时清除编辑文本焦点并隐藏键盘

    我正在制作一个带有编辑文本和按钮的应用程序 当我在 edittext 中输入内容然后单击按钮时 我希望键盘和焦点在 edittext 上消失 但我似乎无法做到这一点 我在 XML 中插入了这两行代码 android focusable tr
  • 如何将列表转换为地图?

    最近我和一位同事讨论了转换的最佳方式是什么List to Map在 Java 中 这样做是否有任何具体的好处 我想知道最佳的转换方法 如果有人可以指导我 我将非常感激 这是个好方法吗 List
  • Eclipse 自动完成更改变量名称

    只是一个愚蠢的问题 但很难搜索 因为有很多关于 Eclipse 自动完成的主题 而且很难找到与我的问题匹配的内容 所以问题是 如果我写 MyClass MyVarName 然后按空格键 添加 new MyClass Eclipse 自动添加
  • DateTimeFormatter.parseLocalDate 抛出 UnsupportedOperationException

    该API用于解析本地日期 http joda time sourceforge net apidocs org joda time format DateTimeFormatter html parseLocalDate 28java la
  • Spring 术语中命令、表单、业务和实体对象之间的区别?

    我试图理解这些对象在松散耦合系统方面的差异 业务对象与实体对象相同吗 我可以使用 MVC 中的业务或实体对象作为我的命令对象吗 命令对象与表单对象相同吗 只是寻找 Spring 术语和用法中对象类型的说明 我在 stackoverflow
  • Ant 无法启动,给出主类错误

    我正在运行 Elementary OS 基于 Ubuntu 12 并且在运行 apache ant 时遇到问题 它在重新启动之前就可以正常工作 所以我不确定会发生什么变化 我在 etc environment 中定义了环境变量 如下所示 P
  • Java 套接字:可以从一个线程发送并在另一个线程上接收吗?

    这可能是一个非常基本的问题 但我很难找到答案 让一个线程写入 Socket 的输出流 而另一个线程从 Socket 的输入流读取数据 这样可以吗 编辑 这是一个与外部服务器通信的客户端应用程序 我并不是想让两个线程互相交谈 很抱歉含糊不清
  • Java 7 中 Object 和 int 的比较

    最近我偶然发现了一个问题 让我停下来思考 对我来说 下面的代码应该总是会触发错误 但是当我的一位同事问我为什么 Eclipse 没有显示错误时 我无法回答任何问题 class A public static void main String
  • 多对多不检索映射数据

    Spring boot 2 5 6 我无法安装版本 概要文件 java Getter Setter NoArgsConstructor AllArgsConstructor EqualsAndHashCode FieldDefaults l
  • 处理照片上传的最佳方式是什么?

    我正在为一个家庭成员的婚礼制作一个网站 他们要求的一个功能是一个照片部分 所有客人都可以在婚礼结束后前往并上传他们的照片 我说这是一个很棒的想法 然后我就去实现它 那么只有一个问题 物流 上传速度很慢 现代相机拍摄的照片很大 2 5 兆 我
  • Storm Spout 未收到 Ack

    我已经开始使用storm 所以我使用创建简单的拓扑本教程 https github com nathanmarz storm wiki Tutorial 当我运行我的拓扑时LocalCluster一切看起来都很好 我的问题是我没有得到元组的
  • 将变量从 jenkins 传递到 testng.xml

    我想根据从詹金斯传递的变量运行测试用例 例如 选择您要运行的测试用例 测试用例一 测试用例二 在 pom xml maven 中
  • 使用链接列表插入优先级队列的方法

    首先 我觉得我应该提到这是一项作业 我并不是在寻找直接的代码答案 只是为了指出正确的方向 我们被要求在链表中实现优先级队列 我正在努力编写 insert 函数的第一部分 在代码中我尝试检查是否head包含任何内容 如果没有则设置为head
  • Apache Kafka 是否提供异步订阅回调 API?

    我的项目正在将 Apache Kafka 视为老化的基于 JMS 的消息传递方法的潜在替代品 为了让这个过渡尽可能的顺利 如果替代的排队系统 Kafka 有一个异步订阅机制那就更理想了 类似于我们当前项目使用的JMS机制MessageLis
  • Checkstyle - 方法按修饰符排序

    是否可以添加到 checkstyle 规则以按修饰符对类中的方法进行排序 我的意思是开头的公共方法和最后的私有方法 MethodsOrderCheck做这个工作 检查文档 https www qulice com qulice checks
  • Java,如何管理线程读取socket(websocket)?

    我有一个 WebSocket 服务器 我的服务器创建一个新线程来处理新连接 该线程一直处于活动状态 直到 websocket 中断 我的问题 对于 1 000 000 个连接 我需要 1 000 000 个线程 我如何通过一个线程处理多个
  • 线程“main”中出现异常 java.lang.UnsatisfiedLinkError: ... \jzmq.dll: 找不到依赖库

    我有一个使用 ZMQ 的 java 应用程序 我已经能够在我的 Win7 PC 上运行它 我将 jzmq dll 放在 jar 可执行文件所在的同一文件夹中 然后通过命令 java jar myapp jar 运行它 我的下一步是将其移至服

随机推荐

  • ASP.NET MVC 中的@Url.Action 到action formaction?

    我一天的大部分时间都在追这个问题 有很多很棒的建议 但没有一个能解决我的所有问题 我们有一个现有的网站 其中有人将按钮 href 链接到绝对地址 我正在尝试找出一种方法来做到这一点 我已经掌握了大部分内容 但是带有样式按钮和 formact
  • 如何在Windows Phone 8中异步发送带参数的POST请求

    我想在 Windows Phone 8 环境中发送 POST 请求 我的代码运行成功 但出现 NotFound 异常 它的意思是我想发布一些数据 但我发送的是空值 所以请让我知道如何在 Windows Phone 8 环境中使用数据异步发送
  • MVC 3 项目中的奇怪异常

    我在 MVC 3 0 RC 项目中遇到奇怪的错误 看来它对我的申请不是同质应用程序域昨天还好好的 不知道有什么变化 System InvalidOperationException was unhandled by user code Me
  • 使用PHP形成跨域POST请求

    我正在尝试将数据从表单发送到 php 文件 以便我可以将其存储在数据库中 但它不起作用 表单的代码与 php 文件不在同一服务器上 因为表单将位于移动应用程序上 html div div div div
  • 是否可以在 msys /mingw 上模拟进程替换(使用 bash 3.x)

    我正在尝试使用进程替换来避免使用临时文件 我尝试了以下方法 diff lt echo a lt echo b 在 mingw32 msys 上 来自http www mingw org 截至 2013 年 12 月 并得到 sh synta
  • 将画布保存为 JSON 并将 JSON 加载到画布

    我想做到这一点 以便当我按下 保存 按钮时 文件资源管理器会打开并选择我选择保存画布 JSON 文件的位置 我还希望能够通过加载按钮加载带有 JSON 文件的画布 我该如何开始呢 任何帮助表示赞赏 我希望这就是您想要实现的目标 var ca
  • 如何将 JSON 字符串转换为字典?

    我想在我的 swift 项目中创建一个函数 将 String 转换为 Dictionary json 格式 但出现一个错误 无法转换表达式的类型 lvalue NSData options IntegerLitralConvertible
  • 我应该先学C再学C++吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 今天我参观了大学计算机科学
  • 我需要 jquery 中的脚本,使该页面成为浏览器中的默认主页网站

    我需要 jquery javascript 中的脚本 使特定站点作为浏览器中的主页 如果可能的话 我需要它与所有浏览器兼容 我并不是说它应该自动完成 thanks 在 Internet Explorer 7 及更早版本中 可以使用以下命令来
  • 为什么在 Skylake-Xeon 上写入 2 个缓存行的部分内容时,`_mm_stream_si128` 比 `_mm_storeu_si128` 慢很多?但对Haswell影响较小

    我的代码如下所示 简单加载 修改 存储 我已简化它以使其更具可读性 asm volatile vzeroupper while m128i in mm loadu si128 inptr m128i out in real code doe
  • 我可以在 PostgreSQL 中自动从带有标题的 csv 文件创建表吗?

    我在 OS X 10 6 8 上运行 PostgreSQL 9 2 6 我想将带有列标题的 CSV 文件中的数据导入到数据库中 我可以用COPY语句 但前提是我首先手动创建一个表 并为 CSV 文件中的每一列创建一个列 有什么方法可以根据
  • 相当于不依赖innerHTML的html_entity_decode的javascript?

    我正在寻找 PHP 的 javascript 版本html entity decode 我找到了这个 function html entity decode str var tarea document createElement text
  • 启动第二个 JavaFX 应用程序

    我正在尝试从 JavaFx 应用程序中启动 JavaFx 应用程序 但看起来 Application launch 只能调用一次 这是否意味着我必须启动一个单独的 JVM 如 exec java 或者还有其他方法吗 更多背景信息 我希望我的
  • 从函数中的列表中返回项目。蟒蛇[重复]

    这个问题在这里已经有答案了 my list a b c def func input for i in input print i print func my list Output a b c None 我不想要 无 所以如何执行一行代码
  • UIScrollView 不随 UItextfields 一起滚动

    我正在制作一个普通视图 用户可以在其中更新他们的个人资料 我按照以下步骤制作了该视图 创建了一个新的UIViewController带有 xib 文件 Added a UIScrollView在超级视图中 添加了近9个UITextField
  • 使用 .onLoad 加载依赖包

    我的包需要 ggplot2 包 但我无法修复运行 R CMD 检查时得到的以下注释 no visible global function definition for qplot library or require call not de
  • 这个比较器是如何工作的?

    package vehicles order import java util ArrayList import java util Collections import java util Iterator public class ve
  • 理解 let 与 var 提升 [重复]

    这个问题在这里已经有答案了 With let vs var我了解到主要区别在于 let 变量的作用域为最近的块并且不会被提升 也让变量可以重新赋值 但不能在同一作用域内重新声明 那么为什么这段代码会返回 未定义 错误呢 let x 10 i
  • 将 CGImage 转换为 python 图像 (pil/opencv)

    我想在屏幕上进行一些模式识别 并将使用 Quartz PyObjc 库来获取屏幕截图 我得到的屏幕截图是 CGImage 我想使用 openCV 库搜索其中的模式 但似乎找不到如何将数据转换为 opencv 可读的 所以我想做的是 get
  • 如何重新组装 javap 生成的 java 字节码? [复制]

    这个问题在这里已经有答案了 我希望能够编辑字节码并重新编译为可执行类文件 我不知道该怎么做 我尝试使用 javap c 和 v 进行反编译 编辑一些内容 然后将其更改回我的 Class 文件 但出现错误 错误 无法找到或加载主类 Test