java反编译后goto_关于反编译:重新编译包含goto指令的反编译Java(JD / JAD)源

(相关问题:支持goto的Java编译器或JVM语言?)

我已经反编译了一个jar(可能出于调试目的)并希望重新编译它。

我已经使用了JAD和JD,并且由于goto指令而无法编译

例如。

goto _L1

...

L1:

return true;

有没有简单的方法(或任何方法)来重新编译它? (除了手动重构和删除goto)

可以使用异常来实现goto,但这不是很漂亮。 这里还收集了其他一些作弊技巧:stackoverflow.com/questions/2430782/

将goto L1替换为return true;怎么样? :)

不,没有。在您的情况下,JD和JAD都无法正确地反编译类文件。" goto"语句是有关实际程序流程的提示。

您可以直接与Java Decompiler团队联系,发送一个类文件,在该文件中反编译会导致非法的源代码,并询问这是当前版本中的错误还是尚未实现的功能。

JAD是一个非常了不起的反编译器,JD ...在" try-catch-finally"语句中存在一些问题。

您是否尝试过Stiver的反编译器(http://www.reversed-java.com/fernflower)?

伊曼纽尔,法学博士的作者。

刚刚尝试过Emmanuels JD,作品就像一个魅力。

所有反编译器都在寻找与Java源构造相对应的代码模式,并选择最合适的源。

显然,您拥有的代码不符合JAD或JD中存储的任何模式,因此您将获得无法编译的Java源代码。这很可能是因为JAD几年未积极开发。

我建议您看一下Soot项目,该项目的反编译器更具攻击性。

http://www.sable.mcgill.ca/soot/

我会推荐一个现代的反编译器-如CFR或FernFlower!

我在线上发布了6个Java反编译器:Jadx,快速且具有Android支持,CFR(支持Java 8),JDCore(非常快),Procyon,Fernflower和JAD(非常快,但已过时)。

无需安装即可使用它们:http://www.javadecompilers.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
反编译工具包 下载后的操作步骤 Android APK反编译 未做测试全是最新工具包,另附已经做过测试的工具包,部分是旧工具,自己可替换 http://download.csdn.net/detail/haoqinghua/5500751 一、Apk反编译得到Java代码 下载反编译工具包,打开apk2java目录下的dex2jar-0.0.9.9文件夹,内含apk反编译java码工具,以及码查看工具。 dex2jar:apk反编译工具 ,是将apk中的classes.dex转化成jar文件 jdgui:码查看工具,是一个反编译工具,可以直接查看反编译后的jar包代码 具体步骤: 首先将apk文件后缀改为zip并解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的,将classes.dex复制到dex2jar.bat所在目录dex2jar-0.0.9.9文件夹。 在命令行下定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex 生成 classes_dex2jar.jar 然后,进入jdgui文件夹双击jd-gui.exe,打开上面生成的jar包classes_dex2jar.jar,即可看到代码 二、apk反编译生成程序的代码和图片、XML配置、语言资等文件 如果是汉化软件,这将特别有用 首先还是要下载此反编译工具包,其中包含最新的apktool 1.5 具体步骤: 下载反编译工具包,打开apk2java目录下的apktool1.4.1文件夹,内含三个文件:aapt.exe,apktool.bat,apktool.jar 注:里面的apktool_bk.jar是备份的老版本,最好用最新的apktool.jar 在命令行下定位到apktool.bat文件夹,输入以下命令:apktool.bat d -f abc123.apk abc123, apktool.bat 命令行解释:apktool.bat d -f [apk文件 ] [输出文件夹] 反编译的文件如下(AndroidManifest.xml为例): 将反编译完的文件重新打包成apk,很简单,输入apktool.bat b abc123(你编译出来文件夹)即可,命令如下: 打包apk后的文件在目录C:\HelloAndroid下,生成了两个文件夹: build dist 三、 图形化反编译apk 上述步骤一、二讲述了命令行反编译apk,现在提供一种图形化反编译工具:Androidfby 首先,下载上述反编译工具包,打开Androidfby目录,双击Android反编译工具.exe,就可以浏览打开要反编译的apk

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值