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开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂 ...
随机推荐
- ORACLE主键ID的生成
转自:https://blog.csdn.net/yh_zeng2/article/details/83477880 一般常用的方法有两种,使用Sequence和使用SYS_GUID(); 方法一 ...
- git小结-ms
目录 1.git是什么 2.git怎么工作的 3.git常用命令 4.git提效工具 5.git的技术用语 1.git是什么 git是开源的分布式的版本控制系统,可以有效.高速地处理的项目版本管理.g ...
- MySQL Replication--双主结构优缺点
双主架构图 双主架构实现原理当从库IO线程接受到主库传递来的二进制日志(Binlog)并将之保存为从库的中继日志(relay log),然后从库SQL线程将中继日志(relay log)的事件重做到从 ...
- SQL SERVER-Alwayson原理
流程 1.异步提交模式 主副本无须确认该副本已经完成日志固化,就可提交事务. 主副本不受辅助副本的影响 辅助副本上的DB处于SYNCHRONIZING 2.同步提交模式 主副本要确认副本已经完成日志固 ...
- 蓝桥杯-入门训练 :A+B问题
问题描述 输入A.B,输出A+B. 说明:在“问题描述”这部分,会给出试题的意思,以及所要求的目标. 输入格式 输入的第一行包括两个整数,由空格分隔,分别表示A.B. 输出格式 输出一行,包括一个整数 ...
- [nginx] nginx源码分析--监控检测模块
描述 HTTP监控检查,是nginx官网推荐使用的第三方模块 https://www.nginx.com/resources/wiki/modules/healthcheck/ https://git ...
- Linux命令——taskset
参考:Linux taskset Command Tutorial for Beginners (with Examples) 简介 taskset命令用于设置进程(或 线程)的处理器亲和性(Proc ...
- convirt集中管理平台搭建
情况说明: (1)本文采用OEL6.3x64操作系统,需要有KVM安装环境.(2)convirt2.1.1采用源码方式安装,convirt环境分别两部分,一部分是cms,用于管理kvm/xen虚拟主机 ...
- P2756 飞行员配对方案问题[二分图最大匹配]
题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞行员,其中1 名是英国飞行员,另1名是外籍飞行员.在众多的飞行员中,每一名 ...
- 零基础如何学好python之变量
想要自学python,变量(variable)是必经之路,它是学习python初始时,就会接触到的一个新的知识点,也是一个需要熟知的概念.python是一种动态类型语言,在赋值的执行中可以绑定不同类型 ...