最佳实践--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
注意,因为众所周知的原因,不要选择联网更新之类的操作
    

来自为知笔记(Wiz)

反编译 APKTool 逆向助手相关推荐

  1. -反编译 APKTool 逆向助手

    最佳实践--Android逆向助手 1.点击"反编译apk,完成后res下的所有资源就都可以正常使用了,相当于apktool的功能------目前已失效,但是直接用rar解压是可以的! 2. ...

  2. 【app反编译和逆向打包】

    一:反编译 1:反编译代码 JADX(推荐) 具体的安装和使用,推荐看这篇文章吧点这里 dex2jar 和 jd-gui 关键命令: d2j-dex2jar classes.dex ps:将获取到的c ...

  3. Android 反编译 apktool+dex2jar+jd-gui

    前言 ApkTool 下载 使用 dex2jar 下载 使用 jd-gui 前言 反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平. 该 ...

  4. vue打包代码反编译_Android逆向反编译代码注入APK过程思路分析

    一.名称解释 逆向 - 是一种产品设计技术再现过程,从可运行的程序系统出发,运用解 密.反汇编.系统分析等多种计算机技术,对软件的结构.流程.算法. 代码等进行逆向拆解和分析,推导出软件产品的源代码. ...

  5. android 反编译apktool工具

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

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

    下载apktool:https://ibotpeaches.github.io/Apktool/install/ 根据文档操作下载,命名等 工具介绍: apktool 作用:主要查看res文件下xml ...

  7. 2021 Android APK反编译 apktool使用教程

    欢迎交流.微信公众号:一休日记. 目录 前言: 工具介绍: 新版本apktool用法: Smali2JavaUI 前言: 最近我在使用Android Studio混淆打包release版本,打包是否成 ...

  8. exe反编译NET逆向

    下载一个DotNetCrackMe1.exe 使用ILSPY打开程序,使用C#反编译 关键代码如下: private void button1_Click(object sender, EventAr ...

  9. android 360加固 反编译,[原创]逆向360加固等dex被隐藏的APK

    如果遇到apk中的lib文件夹中是这样的 基本没有dex文件可以反编译,这中的dex文件一般都是加密混淆压缩后放在so中啦. 但是软件要想运行就需要解出dex字节码然后加载到手机内存中,这样就可以在软 ...

最新文章

  1. 图文详解什么是快速排序
  2. python能做表格吗-零基础小白怎么用Python做表格?
  3. mysql读写分离实战准备一
  4. java io流 教程_Java基础教程:IO流与文件基础
  5. android alertdialog view,Android AlertDialog 方法setView(view,0,0,0,0)开发自定义对话框
  6. [转载] 动态口令,动态密码生成(OTP)
  7. dataframe groupby_python pandas获取groupby之后的数据
  8. CentOS7.9下实战安装MySQL5.7
  9. 省考计算机专业课考什么,计算机考研专业课考什么
  10. 连接/映射网络位置/共享磁盘
  11. 数据库作业8:SQL练习5 - SELECT(嵌套查询EXISTS、集合查询、基于派生表的查询)
  12. 你知道做一个网站要多少钱网站怎么运营能赚钱
  13. 计算机千分之一符号,千分之一,万分之一的符号在
  14. Zabbix监控组件介绍、工作原理、监控方式、监控概念
  15. win7删除文件夹提示找不到项目,文件删不掉怎么办?
  16. PHP,POST页面无法传值跳转,请大神帮助。
  17. Tita 推进企业绩效管理变革的最佳实践
  18. 服装制造业的数字化观点体现在哪里?
  19. 苹果手机咋截屏_苹果手机信号满格但是没网络咋处理
  20. 《剑指offer》—— 42. 和为S的两个数字(Java)

热门文章

  1. android 自动 轮播图,Android-自定义View实现轮播图
  2. 三洋p6系列伺服电机说明书_2-30N.m 50N.m伺服电机扭力测试仪器价格大概多少
  3. php网站模板怎么修改,网站后台模板修改
  4. 基于Vue的医院内部管理系统(医生、患者、挂号、药房)文档+答辩PPt+项目源码+演示视频
  5. div盒子最小宽度_min-width最小宽度与max-width最大宽度
  6. GeoServer样式(style)设置
  7. Ubuntu中安装Qt
  8. ospf避免环路_多进程OSPF发布LSA形成路由环路的规避办法
  9. windows 11远程桌面连接无法使用已保存的凭据密码,每次连接都要求输入的解决方案
  10. 基于C语言的材料力学模型计算实现(扭转变形篇)