关于jar文件反编译

最近在搞tck测试,想要将其日志转换成apdu脚本,结果出现默认输出最大长度不足,输出被省略现象。

软件log出现的错误信息

...
Output overflow:
JavaTest Harness has limited the test output to the text to that
at the beginning and the end, so that you can see how the
test began, and how it completed.

If you need to see more of the output from the test,
set the system property javatest.maxOutputSize to a higher
value. The current value is 100000
...

查找帮助文档的解释
在这里插入图片描述

java -Djavatest.maxOutputSize=200000 -jar lib/javatest.jar .... 

搞笑的,命令行后面弄个省略号,导致我们怎么设置都失败。

为了解决问题,我们就只能反编译jar文件了,看他是怎么实现的。

在这里插入图片描述
一段段看代码,终于找到具体参数,解决问题。

java -Djavatest.maxOutputSize=500000 -Xbootclasspath/p:lib/jc-scio.jar -Djavatest.security.noSecurityManager=true -jar lib/javatest.jar
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: jar文件Java语言中常见的一种打包文件格式,它将多个Java文件、资源文件和其他文件打包成一个文件。一般情况下,jar文件是已经编译成机器码的二进制文件,无法直接查看其中的源代码。但是,通过使用反编译工具,我们可以将jar文件中的字节码还原成Java源代码。 在进行jar文件反编译时,我们通常会使用一些专门的反编译工具,如Java Decompiler、JD-GUI等。这些工具能够将jar文件中的字节码重新转换成Java源代码,并呈现给我们查看和分析。 使用这些反编译工具,我们可以对jar文件中的代码进行查看、修改和学习。例如,我们可以查看第三方库的源码,了解其实现原理;或者对某个jar文件进行定制修改,以适应特定需求。 需要注意的是,虽然反编译可以还原代码的结构和逻辑,但无法还原原始的变量名和注释。这是因为在编译过程中,Java源代码的变量名和注释会被编译器丢弃,只保留了与机器码执行有关的信息。因此,在反编译后的代码中,我们可能会看到一些类似"var1"、"var2"这样的临时变量名,而注释则可能被省略或被替换成了一些默认的注释。 总之,通过反编译jar文件,我们可以获取到其中的Java源代码,从而进行代码的分析和修改。这对于学习和项目调试等方面都起到了重要的作用。 ### 回答2: jar文件是一种Java语言的归档文件格式,可以将多个Java文件打包成一个文件反编译指的是将已经编译过的二进制文件(如jar文件)转换回可读的源代码。 要反编译一个jar文件中的Java源码,我们可以使用各种反编译工具,例如JD-GUI、Java Decompiler、FernFlower等。 首先,我们需要将jar文件导入到反编译工具中。这些工具通常提供一个用户界面,让我们可以轻松地导入并查看jar文件的内容。在工具的界面上,我们可以看到jar文件中包含的类文件和资源文件的列表。 接下来,我们可以选择一个或多个类文件,并使用反编译工具将其转换成可读的Java源码。这些工具通常会将反编译后的源代码显示在一个编辑器或浏览器窗口中,使我们能够查看和编辑源代码。 需要注意的是,由于编译后的二进制文件丢失了一些原始代码的信息(如变量和方法名),所以反编译后的源码可能不会与原始源代码完全相同。此外,反编译后的源码可能也会缺少一些编译器优化后的改进。 总结起来,jar文件反编译Java源码是一种将已编译的二进制文件转换回可读的源代码的过程。通过使用反编译工具,我们可以将jar文件中的类文件转换成可读的Java源码,以便于我们查看和编辑源代码。但需要注意的是,反编译后的源码可能与原始源代码存在一些差异。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值