Android反编译,apk反编译技术总结
1.谷歌提供的工具:android-classyshark
下载地址:https://github.com/google/android-classyshark/releases,下载下来之后是一个可执行的jar文件,win下或者mac下都只要双击即可运行。
功能:带有界面,一键反编译Apk工具,直接打开Apk文件,就可以看到Apk中所有的文件结构,甚至还集成了dex文件查看,java代码查看,方法数分析、导入混淆mapping文件等一系列工具。谷歌推出这个工具的目的是为了让我们开发者更清楚的了解自己的Apk中都有什么文件、混淆前后有什么变化,并方便我们进一步优化自己的Apk打包实现。下面带上几张截图,真是帅气的一笔的好工具啊!


即将到来的Android Studio 2.2中集成了一个叫做APK Analyzer的功能,这个功能不知道是不是和这个工具有关系呢,本人还没有尝试过2.2版本,有兴趣的朋友可以体验一下preview版本。
2.Python实现的工具:AndroidGuard
下载地址:https://github.com/androguard/androguard/releases
功能:集成了反编译资源、代码等各种文件的工具包。需要安装Python环境来运行这个工具,这个工具按照不同的反编译需求,分别写成了不同的py功能模块,还有静态分析的功能。所以如果想要用Python开发一个解析Apk文件并进行静态扫描分析的服务,可以引用这个工具来实现。
用法:具体用法比较多,这里也不再展开了。可以通过工具内置的-h帮助指令查看各个模块的功能。
unclechendeiMac:androguard-2.0 unclechen$ python androaxml.py -h
Usage: androaxml.py [options]
Options:
-h, --help show this help message and exit
-i INPUT, --input=INPUT
filename input (APK or android's binary xml)
-o OUTPUT, --output=OUTPUT
filename output of the xml
-v, --version version of the API
// androaxml.py这个模块是用来解析AndroidManifest文件的,`-i` 表示输入的apk文件,`-o` 表示输出xml文件。
3.Mac专属工具:Android-Crack-Tool
功能:这是网上一位名为Jermic的大神开发的、在Mac环境下使用的App,集成了Android开发中常见的一些编译/反编译工具,方便用户对Apk进行逆向分析,提供Apk信息查看功能。工具的截图如下所示,非常强大。

4.手机上的反编译工具:ApkParser
功能:在电脑上已经有了这么多的工具,在手机上的也有很方便的工具。APKParser是一款在查看手机上已经安装的Apk的信息的工具,他可以查看软件的AndroidManifest.xml文件、方法数、res资源文件,并在手机上直接展示出来。个人觉得这是一个非常实用的工具,作为开发者,手机里面必须要有它。

5.工具汇总
以上几款工具都是我体验过、感觉不错的集成工具,推荐给大家。临近本文结束前,又发现了这么一个福利网站-http://www.androiddevtools.cn/,其中有一章专门总结了各种Apk反编译的工具。相信有了这么多的利器,大家应该有100种方法将一个App扒得干干净净了。

Android反编译,apk反编译技术总结的更多相关文章
- 【Android】Android如何对APK反编译
本文笔者粗略的介绍如何利用一些工具,对Android进行反编译,从而得到源码,希望对你有所帮助,笔者的android环境为4.4.2. 1.准备资源. 在开始之前,需要准备三项工具:apktool ...
- Android Studio 动态调试 apk 反编译出的 smali 代码
在信安大赛的准备过程中,主要通过 Android Studio 动态调试 apk 反编译出来的 smali 代码的方式来对我们分析的执行流程进行验证.该技巧的主要流程在此记录.以下过程使用 Andro ...
- 爬虫app信息抓取之apk反编译抓取
之前也抓过一些app,数据都比较好取,也没有研究的太深,毕竟还有android 模拟器+ appium 的方法.直到遇见了一款app ,具体名字就不说了,它安装在模拟器上竟然打不开 !!第一次遇见上网 ...
- Android中的Apk的加固(加壳)原理解析和实现
一.前言 今天又到周末了,憋了好久又要出博客了,今天来介绍一下Android中的如何对Apk进行加固的原理.现阶段.我们知道Android中的反编译工作越来越让人操作熟练,我们辛苦的开发出一个apk, ...
- Android中的Apk的加固(加壳)原理解析和实现(转)
一.前言 今天又到周末了,憋了好久又要出博客了,今天来介绍一下Android中的如何对Apk进行加固的原理.现阶段.我们知道Android中的反编译工作越来越让人操作熟练,我们辛苦的开发出一个apk, ...
- 【转】Android中的Apk的加固(加壳)原理解析和实现
一.前言 今天又到周末了,憋了好久又要出博客了,今天来介绍一下Android中的如何对Apk进行加固的原理.现阶段.我们知道Android中的反编译工作越来越让人操作熟练,我们辛苦的开发出一个apk, ...
- Android开发:APK的反编译(获取代码和资源文件)
一.反编译工具: 1.APKTool: APKTool是由GOOGLE提供的APK编译工具,能够完成反编译及回编译apk的工作.同时,它也有着安装反编译系统apk所需要的framework-res框架 ...
- Atitit.反编译apk android源码以及防止反编译apk
Atitit.反编译apk android源码以及防止反编译apk 1.1. Tool apk逆向助手1 1.2. 二.使用dex2jar + jd-gui 得到apk的java源码1 1.3. 用 ...
- 【转】Android APK反编译就这么简单 详解(附图)
转载地址:http://blog.csdn.net/vipzjyno1/article/details/21039349 在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂 ...
随机推荐
- iOS-H5交互综合整理
1.WKWebView的使用 2.常见问题 2.1 iOS开发 WKWebView下js的alert(),confirm(),prompt()方法无法正常执行
- 0001-代码仓库-git 命令
参考 https://www.cnblogs.com/NTWang/p/6213408.html https://www.cnblogs.com/Sungeek/p/6905102.html
- linux后台运行、关闭、查看后台任务常用命令
一.& 加在一个命令的最后,可以把这个命令放到后台执行,如: [root@bqh-01 ~]# watch -n 3 "sh 1.sh" #每3s在后台执行一次1.sh脚 ...
- Chrome快捷键统计
Chrome快捷键: Chrome 个人常用快捷键 1 将当前网页保存为书签 Ctrl + d 2 重新加载当前网页 Ctrl + r或F5 3 打开书签管理器 Ctrl + Shift + o 4 ...
- flutter入门开发的一些坑
flutter入门开发的一些坑 很久没写博客了,最近在准备物联网比赛,顺便抽出时间学习了一下flutter,花了近2周完成了一个查看博客博文的一个小的APPdemo,随便截了两张图,如下: 首页 博客 ...
- Java获取各种路径
(1).request.getRealPath("/");//不推荐使用获取工程的根路径(2).request.getRealPath(request.getRequestURI( ...
- 2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018)-E. Explosion Exploit-概率+状压dp
2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018)-E. Explosion Exploit-概率+状压dp [P ...
- Java精通并发-synchronized关键字原理详解
关于synchronized关键字原理其实在当时JVM的学习[https://www.cnblogs.com/webor2006/p/9595300.html]中已经剖析过了,这里从研究并发专题的角度 ...
- ted演讲小总结(持续更新_12月15日)
目录 2019年12月1日 星期日 2019年12月2日 星期一 2019年12月3日 星期二 2019年12月8日 星期日 2019年12月15日 星期日(这个演讲相对来说不好理解,因为这类逻辑暂时 ...
- *.net框架 - IEnumerable类 & IQueryable类
什么使用IQueryable<T> 查询返回类型为什么用IQueryable<T>,而不用 IEnumerable<T>类型? IQueryable接口实现IEnu ...