jd-gui

Android APK文件的逆向反编译

不羁的心 提交于 2020-01-22 17:54:34
APK是Android Package的缩写,即Android安装包(APK)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。APK文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的简称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。 APK反编译就是通过使用APK反编译工具将APK文件中的源文件和资源反编译出来,得到的源文件和资源文件可以进行处理后再进行编译,以达到系统解剖分析,个性化定制,汉化等目的。 APK反编译有很多工具,本次实验中我们使用dex2jar工具。dex2jar 是一个用来将 Android 的 Dalvik Executable (.dex) format 文件转成 Java 类文件的工具。该项目地址是: http://code.google.com/p/dex2jar/ 针对JAR包的java反编译工具,我们使用jd-gui工具。jd-gui是针对Java平台的反编译工具,它可以将Java的字节码文件(class文件)反编译获得java文件

Android APK反编译技巧全讲解

孤街浪徒 提交于 2019-12-27 02:19:09
导言:在我们安卓开发当中,我们不仅需要掌握基础的开发技能,也需要掌握软件的安全技能,这样才可以让我们的软件能够成为一款能够真正可以进行发布的软件,同时也可以让自己的核心技术不会被别人所盗取。 首先我们应当了解的是,对于反编译我们一共需要三个工具,它们分别是:APKTool,dex2jar,和jd-gui。 APKTool :用于解析apk的res文件以及AndroidManifest.xml文件 dex2jar :用于把apk解压后生成的classes.dex文件解析为后缀为jar的文件,与下面的jd-gui工具联合使用则可以得到我们的核心Java代码 jd-gui :将上一步所得到的jar文件解析为Java文件,从而得到软件的核心代码 这就是反编译的核心流程,凡是没有被MD5算法加密,或者未被加固过的APK都可以利用这个方法来进行反编译破解。 第一步.来到官网下载APKtool 网址:https://ibotpeaches.github.io/Apktool/install/ 界面如下: 我们需要把下载的两个文件都放在同一个文件夹下,这个文件夹可以自己进行选择或者新建,本人这里在E盘下创建了一个androidsafe的文件夹用于保存这个工具,点击第二个链接之后会出现如下界面: 第二步.将需要进行反编译的文件放到刚刚我们创建好的那个文件夹下 此时我们的E:

Android 反编译apk

谁说我不能喝 提交于 2019-12-27 02:17:51
工具介绍:   apktool     作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看      下载地址: https://bitbucket.org/iBotPeaches/apktool/downloads    dex2jar     作用:将apk反编译成java源码(classes.dex转化成jar文件)      下载地址: http://sourceforge.net/projects/dex2jar/files/    jd-gui     作用:查看APK中classes.dex转化成出的jar文件,即源码文件      下载地址: http://jd.benow.ca/ 下载完成后如图: 如果上面的文件没有下载成功就自己在其他地方下载,网上搜索下还是很多的,只是注意下比较新的版本就好了哈(版本太旧会导致反编译失败),这里可以将这三个一起下载----> CSDN下载 (PS:没有积分的可以直接问我要文件,我也不知道为什么一传上去就默认要5分了) 将【dex2jar-2.0.zip】和【jd-gui-windows-1.4.0.zip】分别解压到当前文件夹,接下来开始使用 1、使用apktool反编译apk得到资源文件 使用cmd将目录切换到当前文件夹的目录下,然后输入 java -jar 【apktool的jar包名称】 d -f

如何获取android app的Activity

限于喜欢 提交于 2019-12-23 12:58:58
方法一 如有你有待测项目的源码,那么直接查看源码就好。如果没有,那么请联系有源码的同学,这是推荐方法。 方法二 直接把apk后缀改为zip格式,打开压缩包后再打开AndroidManifest.xml文件。找到manifest和activity地方,就是包名跟activity名。 方法三 如果你没有代码,那么可以反编译该app。 这里将用到2个工具,分别是dex2jar和jd-gui。你可以在 这里下载 目前为止的最新版本以及示例apk。 我们以工具包里的ContactManager.apk为例,简单介绍一下反编译的流程。 1,重命名ContactManager.apk为ContactManager.zip并解压得到文件classes.dex; 2,解压dex2jar-0.0.9.15.zip,并从命令行进入该文件夹; 3,运行命令 d2j-dex2jar.bat path_to\classes.dex 在当前文件夹下得到classes-dex2jar.jar; 4,解压jd-gui-0.3.6.windows.zip得到文件jd-gui.exe; 5,使用jd-gui.exe打开classes-dex2jar.jar; 嗯,好了,可以尽情欣赏了。上图。 参考 http://testerhome.com/topics/1030 http://www.cnblogs.com

推荐列表【博客,工具,框架,软件】

不羁的心 提交于 2019-12-06 09:56:35
https://alibaba.github.io/arthas/ Arthas 阿里开源java诊断工具 https://www.xuxueli.com/index.html XXL开源社区 记事本编辑器 notepad++ 记事本编辑,格式化xml,格式化json wxMEdit 十六进制编辑器 http抓包 Fiddler 数据库客户端 Navicat Premium 12 linux终端 SecureCRT java反编译 jd-gui luyten jad.exe 命令行 来源: https://my.oschina.net/u/4193646/blog/3136802

android apk 防止反编译技术第四篇-对抗JD-GUI(转)

依然范特西╮ 提交于 2019-12-04 22:20:58
一、 对抗 JD-GUI 原理 通常在对 apk 进行反编译的时候用到的最多的两个工具就是 apk-tool 和 dex2jar 。利用这两个工具将 apk 首先反编译成 classes.dex 然后再将 classes.dex 反编译成 jar 文件或者将 apk 直接反编译成 jar 文件;得到 jar 文件以后就可以利用 JD-GUI 将得到的 jar 文件打开就可以直接查看 apk 的 java 源码了。我们花了那么大心思写的程序就这么容易被别人拿到源码是不是很不甘心,现在我就告诉你对抗 JD-GUI 查看源码的方法。我们在用 JD-GUI 查看源码时有时有些函数的根本看不到直接提示 error 错误,我们就利用这点来保护我们的 apk 。原来 JD-GUI 在将经过混淆处理的 jar 里面的 class 字节码文件转成 java 文件时,遇到函数中根本走不到的分支的特殊实现时就会提示函数 error 。这时我们只要查看这些提示 error 的文件或者函数对应的源码是有什么语句引起的,将这些语句加到我们的源码中就可以防止利用 JD-GUI 去查看我们的 apk 源码了。 二、 原理实现 (1) 假如我们的 apk onCreate 的函数实现如下: ? 1 2 3 4 5 @Override protected void onCreate(Bundle

推荐列表【博客,工具,框架,软件】

半世苍凉 提交于 2019-12-04 15:02:33
推荐博客、社区 博客、社区 地址 XXL开源社区 https://www.xuxueli.com/index.html 推荐工具 类别 工具 说明 记事本编辑器 notepad++ 记事本编辑,格式化xml,格式化json wxMEdit 十六进制编辑器 抓包 Fiddler 数据库客户端 Navicat Premium 12 linux终端 SecureCRT 支持脚本,button java反编译 jd-gui luyten jad.exe 命令行 java诊断 Arthas 阿里开源java诊断工具 https://alibaba.github.io/arthas/ 来源: oschina 链接: https://my.oschina.net/u/4193646/blog/3136802

android apk 自我保护技术-让JD-GUI显示error

独自空忆成欢 提交于 2019-12-03 20:29:39
又到周末一个人侘在家里无事可干,这就是程序员的悲哀啊。好了我们利用周末的时间继续介绍 android apk 防止反编译技术的另一种方法。前三篇我们讲了加壳技术( http://my.oschina.net/u/2323218/blog/393372 )、运行时修改字节码( http://my.oschina.net/u/2323218/blog/396203 )和伪加密( http://my.oschina.net/u/2323218/blog/399326 ),如果有不明白的可以查看我的博客的前三篇中关于这三种技术的介绍。接下来我们将介绍另一种防止 apk 反编译的技术 - 对抗 JD-GUI 。 一、 对抗 JD-GUI 原理 通常在对 apk 进行反编译的时候用到的最多的两个工具就是 apk-tool 和 dex2jar 。利用这两个工具将 apk 首先反编译成 classes.dex 然后再将 classes.dex 反编译成 jar 文件或者将 apk 直接反编译成 jar 文件;得到 jar 文件以后就可以利用 JD-GUI 将得到的 jar 文件打开就可以直接查看 apk 的 java 源码了。我们花了那么大心思写的程序就这么容易被别人拿到源码是不是很不甘心,现在我就告诉你对抗 JD-GUI 查看源码的方法。我们在用 JD-GUI

【转】一步一步带你反编译apk,并教你修改smali和重新打包

匿名 (未验证) 提交于 2019-12-02 23:43:01
一、工具介绍: 1.apktool:aapt.exe,apktool.bat,apktool.jar;三个在同一目录结合使用,用来反编译apk,apk重新打包; 2.dex2jar:该工具作用是将classes.dex文件,反编译出源码(如果apk未加固),反编译出文件,使用jd-gui工具进行查看; 3.Auto-Sign:自动签名工具,将重新打包的apk进行签名,如果不签名,无法安装使用。 工具下载地址: https://download.csdn.net/download/sxk874890728/10443156 使用场景:项目源码丢失,只有线上apk,并且没有加固,要求修改apk接口地址,并且重新打包,再发布。 二、工具使用: 解压后工具包如图: 1.思路:使用工具dex2jar反编译,并用jd-gui工具进行查看项目结构,查看源码,并且找到接口地址类,修改接口地址; 步骤一:下载好工具,将需要反编译的APK后缀名改为.rar或则 .zip,并解压,如图: 得到其中的classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的 classes.dex复制到解压出来的工具dex2jar-0.0.9.15 文件夹内, 在命令行下,进入到dex2jar.bat所在目录,输入命令: dex2jar.bat classes.dex    效果如下:

在Java项目中如何反编译class文件及批量反编译?

一曲冷凌霜 提交于 2019-12-02 02:24:58
前言: 反编译是一个对目标文件可执行程序进行逆向分析,从而得到源代码的过程。尤其是像Java这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码。今天介绍几款反编译的工具,以及如何更快的批量反编译。 介绍: 市面上免费的工具一大堆,这里就简单的介绍博主认为常用的反编译工具,例如( jd-gui 、 luyten , Procyon-Decompiler 等等 )。 《JD-GUI》 是一款反编译软件,JD分为JD-GUI、JD-Eclipse两种运行方式,JD-GUI是以单独的程序的方式运行,而且提供了Eclipse平台下的插件JD-Eclipse、IntelliJ的插件JD-IntelliJ。JD-GUI不需要安装,直接点击运行,可以反编译jar,class文件。是一个用 C++ 开发的 Java 反编译工具,由 Pavel Kouznetsov开发,支持Windows、Linux和苹果三个平台。 官网地址: http://jd.benow.ca/ 《Luyten》 是一款很强大的反编译工具包, Luyten 是 Procyon 的GUI是一款Github的开源工具,软件功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化,软件支持*.JAR、*.zip、*.class等类型文件的反编译操作,还原度非常高,支持更多功能设置,如显式导入、类型、合成组件等等。