java 反编译 android 反编译
1. jad
http://varaneckas.com/jad/jad158e.linux.intel.zip 下载jad,
给jad运行权限 ,运行
chmod a+x ./jad
./jad
缺点:不能反编译混淆过的,有很多文件反编译不成功
2. ded
http://siis.cse.psu.edu/ded/installation.html
3. jd-gui
都知道这个,直接反编译成java文件,但是没有命令行
4. jd-cmd
https://github.com/kwart/jd-cmd
其中需要安装maven:http://maven.apache.org/download.cgi
linux安装maven:
Extract the distribution archive, i.e. apache-maven-3.2.3-bin.tar.gz to the directory you wish to install Maven 3.2.3. These instructions assume you chose /usr/local/apache-maven. The subdirectory apache-maven-3.2.3 will be created from the archive.
In a command terminal, add the M2_HOME environment variable, e.g. export M2_HOME=/usr/local/apache-maven/apache-maven-3.2.3.
Add the M2 environment variable, e.g. export M2=$M2_HOME/bin.
Optional: Add the MAVEN_OPTS environment variable to specify JVM properties, e.g. export MAVEN_OPTS="-Xms256m -Xmx512m". This environment variable can be used to supply extra options to Maven.
Add M2 environment variable to your path, e.g. export PATH=$M2:$PATH.
Make sure that JAVA_HOME is set to the location of your JDK, e.g. export JAVA_HOME=/usr/java/jdk1.7.0_51 and that $JAVA_HOME/bin is in your PATH environment variable.
Run mvn --version to verify that it is correctly installed.
jd-cmd的使用:
程序本身给了3个例子:
Examples: $ java -jar jd-cli.jar HelloWorld.class
Shows decompiled class on a screen $ java -jar jd-cli.jar --skipResources -n -g ALL app.jar
Decompiles app.jar to app.src.jar; It doesn't copy resources to the output jar,
the decompiled classes contain line numbers as comments and the jd-cli prints
the most verbose debug information about decompilation $ java -jar jd-cli.jar myapp.jar -od decompiled -oc
Decompiles content of myapp.jar to directory named 'decompiled' and also on a
screen
但是我执行第三个总是提示
19:47:27.494 WARN jd.core.output.DirOutput - Class name or java source is null
所以如果要反编译class文件,用第一个,要反编译jar中的所有文件,用第二个
5. jeb
商业版,据说功能很强大,有命令行和图形,但是收费,执行速度慢,耗内存
http://www.kanxue.com/bbs/showthread.php?p=1300282
使用:
java -Xmx1430m -jar jeb.jar --automation --script=JEBDecompileAll.py classes.dex
启动命令
-Xmx 参数是指定java虚拟机进程内存上限的
JEBDecompileAll.py 这个Python脚本里调用了jeb的api,反编译了所有的class文件
java 反编译 android 反编译的更多相关文章
- eclipse 编译android程序 编译错误
windows->show view -> problems, 这个窗口的内容即为 编译错误的内容.
- H3 android 系统编译
http://bbs.ickey.cn/group-topic-id-57981.html [Orange Pi PC试用体验]11编译android源码笔记 编译android和编译linux有点类 ...
- Android framework编译出来的jar包classes.jar的位置
在源码环境下编译 Android framework编译出来的jar包classes.jar的位置 out/target/common/obj/JAVA_LIBRARIES/framework_in ...
- Android反编译(一)之反编译JAVA源码
Android反编译(一) 之反编译JAVA源码 [目录] 1.工具 2.反编译步骤 3.实例 4.装X技巧 1.工具 1).dex反编译JAR工具 dex2jar http://code.go ...
- Atitti.java android反编译解决方案-----虚拟机方案
Atitti.java android反编译解决方案-----虚拟机方案 哈哈,终极解决方案是虚拟机...c++也可以反编译为汇编代码,但无需担心,因为读懂汇编太麻烦..只要不能拿到c++源码就可.. ...
- Android反编译(三)之重签名
Android反编译(三) 之重签名 [目录] 1.原理 2.工具与准备工作 3.操作步骤 4.装X技巧 5.问题 1.原理 1).APK签名的要点 a.所有的应用程序都必须有数字证书 ,Androi ...
- Android反编译(二)之反编译XML资源文件
Android反编译(二) 之反编译XML资源文件 [目录] 1.工具 2.反编译步骤 3.重新编译APK 4.实例 5.装X技巧 6.学习总结 1.工具 1).反编译工具 apktool http ...
- Android 反编译
Android 反编译 步骤:1.下载apktool 工具,这一步 主要是反编译 xml 文件. 步骤:2 把xx.smali 文件转为java 工具 (单个) 图形界面 下载dex2jar 和xj ...
- 转 谈谈android反编译和防止反编译的方法
谈谈android反编译和防止反编译的方法 android基于java的,而java反编译工具很强悍,所以对正常apk应用程序基本上可以做到100%反编译还原. 因此开发人员如果不准备开源自己的项 ...
随机推荐
- iOS学习笔记(1)— UIView 渲染和内容管理
iOS中应用程序基本上都是基于MVC模式开发的.UIView就是模型-视图-控制器中的视图,在iOS终端上看到的.摸到的都是UIView. UIView在屏幕上定义了一个矩形区域和管理区域内容的接口. ...
- Dream------scala--scala内部类实战
Dream------scala--scala内部类实战 scala的内部类跟java的内部类有很大的不同,java中的内部类实际上是从属于外部类,而scala的内部类是从属于外部类对象的(及外部类实 ...
- go 匿名函数和闭包
匿名函数 1. 函数也是一种类型,因此可以定义作为一个函数类型的变量 package main import "fmt" // 函数作为参数 func add(a, b int) ...
- verilog中wire与reg类型的区别
每次写verilog代码时都会考虑把一个变量是设置为wire类型还是reg类型,因此把网上找到的一些关于这方面的资料整理了一下,方便以后查找. wire表示直通,即只要输入有变化,输出马上无条件地反映 ...
- Linux USB驱动学习总结(一)---- USB基本概念及驱动架构
USB,Universal Serial Bus(通用串行总线),是一个外部总线标准,用于规范电脑与外部设备的连接和通讯.是应用在PC领域的接口技术.USB接口支持设备的即插即用和热插拔功能.USB是 ...
- Python缓存技术,装x新高度。
一段非常简单代码 普通调用方式 def console1(a, b): print("进入函数") return (a, b) print(console1(3, 'a')) pr ...
- shell函数-页面跳转练习->
实现思维导图-> 实现思路-> 分析:1:先把三个页面的流程作为函数先写下来,定义在脚本的开头,方便下面的调用.2:先从一个流 程开始做,其他的流程类似,比如nginx3:整体实现思路是 ...
- SQLSERVER 2008 编辑所有或者任意行
选中表 右键选择“编辑前200行”,然后选择左上角的 sql图标,然后在右侧的SQL语句去掉 top 200 然后执行查询 就可以编辑所有的行了,可以选择自己需要写SQL,然后查询编辑. 第二种方法: ...
- OutLook中添加Exchange失败问题
问题: 在邮件中添加账户后,打开outlook时报出错误:无法启动 Microsoft Outlook. 无法打开 Outlook 窗口. 无法打开此文件夹集合. 必须先使用当前的配置文件连接到 Mi ...
- U盘删除文件时提示“文件或目录损坏且无法读取”的解决方法
U盘删除文件时提示“文件或目录损坏且无法读取”的解决方法 出现原因:在写入或读取文件时,进行复制操作,此时复制到的文件是不完整的!或者移动硬盘/U盘中途被拔出,导致文件损坏 异常现象:被删文件(夹)属 ...