最佳实践--Android逆向助手

1、点击“反编译apk,完成后res下的所有资源就都可以正常使用了,相当于apktool的功能------目前已失效,但是直接用rar解压是可以的!
2、点击“提取dex”,可以提取出apk文件中的.dex文件,相当于把.apk更改后缀后解压
3、点击“dex转jar”,相当于dex2jar的功能
4、点击“jd打开jar”,可以自动使用jd-gui打开jar文件,现在已经可以查看源码了
5、在jd-gui中不能修改源码,可点击把所有源码保存起来后就能修改了

6、再使用AXMLPrinter2 提取、转化XML文件。

 

常用工具介绍

常用工具:

apktool,作用:提取res目录下的【资源】文件(drawable、layout、anim、color等)
dex2jar,作用:将【.dex】文件(可执行文件)转化为【.jar】文件
jd-gui,作用:将编译后的【.jar】或【.class】文件以【.java】源码格式查看
AXMLPrinter2,作用:在apktool搞不定的情况下获取xml布局文件--目前apktool已失效,但本工具还能用
XJad    作用:和jd-gui作用类似,是一款Java源程序反编译软件。
Android逆向助手:整合以上工具的而成的一个图形化工具集
 
 
官网及靠谱的下载地址:

apktool  下载 http://download.csdn.net/detail/vipzjyno1/7025111    官网:https://code.google.com/p/android-apktool/downloads/list

dex2jar  下载 http://download.csdn.net/detail/vipzjyno1/7025127    官网:http://code.google.com/p/dex2jar/downloads/list

Jd-gui   下载 http://download.csdn.net/detail/vipzjyno1/7025145    官网:http://jd.benow.ca/ 或 http://code.google.com/p/innlab/downloads/list

XJad     下载 http://download.csdn.net/detail/killman0019/2567567

 

apktool

apktool的使用

apk反编译生成程序的源代码和图片、XML配置、语言资源等文件
  • 解压得到3个文件:aapt.exe,apktool.bat,apktool.jar
  • 将需要反编译的APK文件放到该目录下
  • 打开命令行界面 ,定位到apktool文件夹,输入以下命令:【apktool.bat d -f】【test.apk bqt】(test.apk是要反编译的APK文件全名,可以直接拖拽过来,bqt为反编译后存放的目录)
  • 成功后发现在文件夹下多了个bqt文件夹,点击便可以查看该应用的所有资源文件了。
  • 如果你想将反编译完的文件重新打包成apk,输入apktool.bat  b  test,完成后在test文件下便多了2个文件夹:build和dist(存放着打包出来的APK文件)
官方的apktool工具只包含以下三个文件,只能使用CMD命令执行
            
不过目前有很多重新打包后的版本,如下
        
 

dex2jar、jd-gui、XJad

dex2jar,jd-gui,XJad的使用

  • 首先将apk文件后缀改为zip或rar并解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的
  • 然后将classes.dex复制到d2j-dex2jar.bat(名称可能不太一样)所在目录文件夹中
  • 在命令行下定位到d2j-dex2jar.bat所在目录,运行ded2j-dex2jar.bat classes.dex
  • 最后,进入jdgui文件夹双击jd-gui.exe,打开上面生成的jar包classes_dex2jar.jar,即可看到源代码了
  • 不过,被混淆过的类文件名称以及里面的方法名称都会以a,b,c....之类的样式命名
XJad简介
  • 1、XJad是基于Jad核心的Java源程序反编译软件,内置Jad1.5.8e2;
  • 2、可处理多个*.class文件,可以处理文件夹内的所有文件,甚至可以处理*.jar文件;
  • 3、带有多页面文本编辑器,也可集成在资源管理器中,随时点击右键都可进行操作;
  • 4、支持java语法的高亮显示;
XJad使用说明
  • 1、打开一个或者多个*.class文件,XJad反编译后,重命名为*.java文件,保存至当前文件夹,并在编辑器中打开查看;
  • 2、打开一个文件夹,XJad将该文件夹下所有*.class文件进行反编译,并保存至该文件夹下,依据包路径信息生成文件夹路径,如com.spring.framework.*,将建立com\spring\framework的文件夹结构;
  • 3、打开一个*.jar文件,XJad将该Jar文件中的所有*.class文件解压缩到临时目录并进行反编译, 并将源文件带包路径信息保存至当前文件夹下名称为“~” + *.jar 的文件夹中;
 

AXMLPrinter2

作用:目前很多APP已经混淆,使用APKTOOL已经提取不出资源文件,使用这个工具可以将二进制的xml布局文件转化为正常的形式

弊端:需要一个一个的转换,且转换出来后有大量需要修改的地方
下载地址:http://download.csdn.net/download/simbaba/8625893 (网上流传的部分版本可能不能使用)
使用步骤:
  • 1、更改apk后缀名为.rar并解压
  • 2、找到解压后res目录下的要参考的布局文件,并将此文件复制到和AXMLPrinter2同目录下
  • 3、打开cmd并定位到此目录下
  • 4、执行命令java -jar AXMLPrinter2.jar bqt.xml > bqt2.xml 便可把二进制的 bqt.xm文件反编译成可以阅读的 bqt2.xml文件
 

eclipse安装jd-gui插件

eclipse安装使用JD插件

  1. Download and unzip the JD-Eclipse Update Site,
  2. Launch Eclipse,
  3. Click on "Help > Install New Software...",
  4. Click on button "Add..." to add an new repository,
  5. Enter "JD-Eclipse Update Site" and select the local site directory,
  6. Check "Java Decompiler Eclipse Plug-in",
  7. Next, next, next... and restart Eclipse.Installation
注意,因为众所周知的原因,不要选择联网更新之类的操作
    
 

反编译 APKTool 逆向助手的更多相关文章

  1. - 反编译 AndroidKiller 逆向 实践案例 MD

    目录 目录 反编译 AndroidKiller 逆向 实践案例 MD AndroidKiller 简介 插件升级 基本使用 实践案例 修改清单文件 打印 debug 级别的日志 方式一:直接代理 Lo ...

  2. 字节码 反编译 APKTool 重新打jar包 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  3. android 反编译apktool工具

    下载地址:http://pan.baidu.com/s/1bnHANtd 1.将编译的*.apk放在apktool的根目录下:2.双击“解压软件.bat”后,会提示完成:这样就反编译成功以:3.查看反 ...

  4. Android APK反编译 apktool使用教程

    2017年棋牌游戏突然就火了,正所谓春江水暖鸭先知本猿处在软件行业中就能清晰的感受到市场的变化,最近老家那边也是玩的风生水起,于是最近闲暇时光想到反编译下这些棋牌软件,看看代码实现的思路 (注:反编译 ...

  5. Android 反编译 -- apktool、dex2jar、jd-gui

    原文:http://blog.csdn.net/vipzjyno1/article/details/21039349/ apktool 最新官网: http://ibotpeaches.github. ...

  6. 专注于C#.Net WPF软件开发-软件反编译-软件破解-逆向-靖芯科技-包括安卓APK反编译

    靖芯科技提供.Net软件开发,软件修改定制二次开发,软件破解,反编译,逆向等各项优质服务: 包括安卓APK软件反编译. 包括但不限于C#,WPF,Surface,Winform,Asp.net.JAV ...

  7. apktool的下载,安装,反编译和重新打包

    一.环境要求 安装java 1.8 以上 命令行运行 java -version 返回版本大于1.8 如果没有,请安装java 1.8 二.下载与安装 下载apktool_x.x.x.jar到本地 官 ...

  8. APP反编译第一课《如何找到核心代码》

    相信很多人都应该会去接触APP反编译,本小七给大家带来入门级别套路,自己也在慢慢摸索学习,一起成长吧.第一步,反编译需要的工具有:一.java环境,其实这里你只要安装了burp就不用管这个的二.apk ...

  9. apk反编译——基础是内功,得牢,飞跃还得多看源码,不同思想的碰撞才能产生火花,加油!!!!!!!!

    1.获取java源代码 1.1 dex2jar&jd-gui dex2jar:将apk反编译成class文件(classes.dex转化成jar文件) jd-gui:查看APK中classes ...

随机推荐

  1. 深入Java虚拟机读书笔记第三章安全

    为什么需要安全性 Java的安全模型是其多个重要结构特点之一,它使Java成为适于网络环境的技术.Java安全模型侧重于保护终端用户免受从网络下载的.来自不可靠来源的.恶意程序(以及善于程序中的bug ...

  2. ThinkPHP 发送post请求

    function post($url, $param=array()){ if(!is_array($param)){ throw new Exception("参数必须为array&quo ...

  3. Js点餐加减数量

    <button class="add-on" onclick="chgNum(1,'del')" ><i class="icon-m ...

  4. linux下php上传文件注意

    linux下php上传文件注意1.修改上传目录权限linux 修改某目录下所有所有子目录权限chmod -R 777 html修改某目录为任何用户都用写读执行权限chmod a+rwx html2.设 ...

  5. 使用C#的自定义事件

    public class CarDealer { public Action<string> NewCarInfo; //使用系统定义的泛型委托 public void NewCarCom ...

  6. 「30天自制操作系统」 Stop & 「OS67 」 Start

    废话 整个十月都没有再写一点什么, 其实没什么好写的, 把书里的东西码出来贴在博客里实在没什么意思, 况且书里已经写得够详细了. 这本书给我最深刻的感觉是, 作者通过简化一些细节, 一步一步地模拟整个 ...

  7. 转:CentOS6.3配置yum源

    全新以最小化包安装了64位的CentOS6.3系统,作为本地的Web服务器使用,现记录全过程第二步,配置网易163的yum源 1. 下载repo文件    下载地址:http://mirrors.16 ...

  8. 【HDOJ】4985 Little Pony and Permutation

    水题. #include <cstdio> #define MAXN 100005 int buf[MAXN], n; int main() { int i, j, k; while (s ...

  9. COCI2014-2015CONTEST#7——POLICE

    http://www.hsin.hr/coci/archive/2014_2015/contest7_tasks.pdf [题目描述] 有N个书架,每个书架可以容纳M本书.给出了若干本书,每本书有一个 ...

  10. 【模拟】Vijos P1062 迎春舞会之交谊舞

    题目链接: https://vijos.org/p/1062 题目大意: 一群男女站成一排,一男一女配对,女的只找左边第一个空闲的男生,给定前n个女生左边的额男生个数,问前n个女生到男伴之间共有几个男 ...