JD-GUI反编译出来的源码不全,例如缺少静态方法,可以用jad.exe,能翻译个大概。
输入命令:jad -o -r -s java -d src org/*/.class
我解释一下这些参数的含义:
-o:覆盖旧文件,而且不用提示确认。
-r:重新加载生成包结构。
-s:定义输出文件的扩展名。jad为默认扩展名,我们反编译后当然是要.java源文件了。
-d:输出文件的目录。src表示反编译后的所有文件都放在src目录下。
org//.class:org是解压后的文件夹的名字,整个表示org目录下的所有class文件。你也可以写成这样/.class,这表示当前目录及其子目录下所有的class文件(包含所有的子目录)。

需求场景:修改jar包源代码。
jar 打包命令详解
步骤:1、jad.exe将需要修改的class文件翻译成java文件进行修改 ;2 将java文件通过javac命令翻译成class文件;3使用jar命令打包,命令如下: jar cvfm AAAA.jar /BBBB目录/META-INF/MANIFEST.MF -C /CCCC目录/ .

这样就将CCCC目录下的所有class文件打包成AAAA.jar。

注:jar 是打包命令;cvfm 是参数; 参数c表示要生成一个新的JAR文件;v是显示打包的日志信息;f表示要生成的JAR文件的名字;m表示文件清单文件的名字。一定要注意顺序。

通过我是基于jdk1.8版本的jar命令生成jar包 ,androidstudio报了一个错:
https://stackoverflow.com/questions/37020413/android-dex-cannot-parse-version-52-byte-code
说Dex cannot parse version 52 byte code, 要设置编译版本为1.8才可以。于是,我改了编译版本为1.8,但是提示要用com.android.tools.build:gradle:3.0.0以上的版本,而这个版本又要求gradle-wrapper要4.1以上,下载完了,又提示Error:This Gradle plugin requires Studio 3.0 minimum。。。。

JAR包的JDK版本查看与设置
方式1: 查看.jar包中的META-INF\MANIFEST.MF
用7-zip打开.jar包,查看META-INF\MANIFEST.MF中的内容,Build-Jdk属性就是JDK的版本,比如:
Build-Jdk: 1.5.0_22
说明其JDK版本为1.5.0.22。
方式2: 通过反编译.class文件来查看
解压.jar包,能得到.class文件。用JDK自带的javap反编译.class文件,用如下命令:
javap -verbose Configuration.class
查看得到的信息中,major version属性的内容,如下
major version: 52
说明这个.class文件是由JDK1.8编译得到的。

J2SE 6.0 = 50 (0x32 hex)
J2SE 5.0 = 49 (0x31 hex)
JDK 1.4 = 48 (0x30 hex)
JDK 1.3 = 47 (0x2F hex)
JDK 1.2 = 46 (0x2E hex)
JDK 1.1 = 45 (0x2D hex)
注意:一个.jar包中可能有多个.class文件,每个.class的JDK版本可能会不一样(编译器多个项目设置不同)
这种方法的示例在这里
方式3: 可直接把jar添加到AndroidStudio工程lib目录下,打开某一个class文件,会出现


因此,不想升级AndroidStudio,可以使用jak1.7版本的javac命令,将java文件翻译成class文件。

需求场景:更方便的阅读反编译代码。
Eclipse反编译工具Jad及插件JadClipse配置

反编译一之反编译代码相关推荐

  1. jar包修改并重新打包,jar包反编译使用工具以及修改代码方法

    jar包修改并重新打包,jar包反编译使用工具以及修改代码方法 备忘: https://blog.csdn.net/tomcat_zhu/article/details/79240011

  2. 谈谈android反编译和防止反编译的方法

    android基于java的,而java反编译工具很强悍,所以对正常apk应用程序基本上可以做到100%反编译还原. 因此开发人员如果不准备开源自己的项目就需要知道怎样防止反编译和反编译他人的项目来学 ...

  3. 如何反编译,防止反编译,常见问题总结

    本文对如何反编译,防止反编译,和常遇到的问题做了个总结,并略有修改. 资源来自:http://blog.csdn.net/sunboy_2050/article/details/6727581 htt ...

  4. 【反编译系列】反编译so文件(IDA_Pro)

    概述 安卓应用程序的开发语言是java,但是由于java层的代码很容易被反编译,而反编译c/c++程序的难度比较大,所以现在很多安卓应用程序的核心部分都使用NDK进行开发.使用NDK开发能够编译c/c ...

  5. 超详细!apk安装包快速反编译,多种反编译及失败的解决方案(包含classes.dex的反编译,新增加快速反编译)

    如要转载,请贴出原地址:https://blog.csdn.net/Nobody_else_/article/details/83996441 众所周知,我们开发所用的手机App安装包都是apk文件, ...

  6. Erlang项目编译及防止反编译

    erlang自带了类似makefile的功能,Emakefile,可以自动化编译整个erlang项目的代码,使用非常方便,直接运行erl -make即可自动化编译. Erlang项目编译 一个简单的例 ...

  7. 防止静态反编译及动态反反调试,反外挂

    发布程序前一定要做加密,不然会被破的体无完肤.推荐几款加密产品. Virbox Protector Standalone 加壳工具 效果:代码加密,防止静态反编译 加密技术:代码混淆/虚拟化/代码加密 ...

  8. python脚本转换成apk_apktool反编译apk并回编译

    apktool反编译apk并回编译 下载apktool工具: apktool官方网站:https://ibotpeaches.github.io/Apktool/ 安装apktool并配置apktoo ...

  9. Apktool工具 - 反编译apk和重新编译apk

    目录 1. 下载apktool.jar 2. 创建apktool.bat文件 3. 反编译apk 4. 编译apk 5. apk进行签名 1. 下载apktool.jar   Apktool官网:ht ...

  10. .net dll 反编译修改IL再编译,修改版本号

    记一次.net dll 反编译修改IL再编译exe 可用Everything搜索ildasm.exe 在用ildasm.exe打开dll或exe 点击文件右键转储 转储之后用visua studio ...

最新文章

  1. R语言使用yardstick包的gain_curve函数评估多分类(Multiclass)模型的性能、并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的增益
  2. 设置共享,实现Linux和Windows之间的共享
  3. 一加8系列新机有望亮相CES 2020:全系支持5G网络
  4. 【非科班告诉你】前端自学从小白到入门
  5. mlfviewer_语音识别ASR - HTK(HResults)计算字错率WER、句错率SER
  6. android httpurlconnection 超时 重发_Android / Java | 向服务器传文件
  7. Android最佳实践之流畅设计
  8. VISIO——word中插入visio图片 图片边缘空白裁剪
  9. 【成功解决】Error:(3, 46) java: 程序包org.springframework.context.annotation不存在
  10. 留言系统php课程设计,PHP课程设计网络留言板
  11. 电商常见业务场景分析思路(持续更新中......)
  12. MongoDB文档增删改查
  13. asp.net/c# 注册页实现激活邮箱验证
  14. ssd [Error] UnicodeDecodeError: 'gbk' codec can't decode byte 0x81 in position【已解决】
  15. css表格文字位置调整,word表格中的文字距离表格四周太远,怎么才能调的近一些,除了调字大小。...
  16. 书单|双十一必入的科普口碑好书
  17. Linux USB实现网络共享
  18. android市场发展前景,安卓模拟器市场发展前景怎么样
  19. ccna 闫辉单臂路由 和 acl access control list
  20. Electron教程 (一)Electron介绍

热门文章

  1. ELSS秘密节税随着共同基金的投资
  2. Invalid demension,shape[-1,40,40,1]
  3. Vue3聊天气泡简单实现思路
  4. 李炎恢xhtml视频教程
  5. golang 开发 环境搭建
  6. 新手答疑解惑,Ajax 到底是啥,新手必看
  7. 在github上写个人简历——先弄个主页
  8. 拼多多商家发货时有什么需要注意的?
  9. js转换html为图片(html2canvas模糊变清晰)
  10. 架构之争,MIPS走上开源道路!