安卓逆向系列篇:安卓工具总结(二)

简介: 安卓逆向系列篇:安卓工具总结

二、安卓逆向工具

这部分介绍的安卓逆向工具是一些用于安卓反编译、逆向分析的工具,可以将源程序反编译成可读代码,如Android Killer、Jadx和JEB等工具

1、Android Killer

Android Killer是一款安卓逆向工具,集Apk反编译、Apk打包、Apk签名、编码互转、ADB通信等特色功能于一身,支持logcat日志输出,语法高亮,基于关键字项目内搜索,可自定义外部工具,简化了用户在安卓应用中的各种琐碎工作。

下载地址:https://www.androiddevtools.cn

Android Killer下载安装

1)下载后,解压至C盘

6257b1c6983570d7e25ebdfb22b7e306_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

免安装直接使用。

2)简单配置

如果打开报错,就修改下jdk路径

03627918885be8317375e9b5d7f39800_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

加载APKtool工具

默认情况下会自带一个apktool工具,这里加载额外的apktool

babd5d13fb174bf4dc9af1096d630ff7_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

Android Killer简单使用

对apk进行反编译

acae978cf871d6c98dd41665ffc0d917_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

2、Android逆向助手 v2018 少月版

下载地址:CSDN上有

安装前需确认存在JDK,其功能包括反编译、重打包,格式转换等。简单的功能都列在主页了,其中最好用就是签名apk功能

1393c50ba310bf3357b5ee783091bbca_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

3、Jadx 反编译工具

Jadx工具用于将dex文件反编译成Java代码文件,分为命令行窗口和可视化窗口两种类型

命令行窗口工具,直接进入目录的cmd中,通过jadx命令进行反编译

80a4f8773a2a08cac0c1689d4856d2b9_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

可视化窗口工具Jadx-gui,打开后导入文件即可开始反汇编

载入文件及介绍

载入贪吃蛇apk文件,主要反编译有两个文件,源代码和资源文件,资源文件对应apk中的文件(这里用压缩软件打开apk文件查看到)

b90408abf8f822102361fd9e39cbf63e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

简单搜索类

ce33b5fee9ec7a86367d8cc45ccfba30_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

函数跳转

选择函数,按住Ctrl+左键可以直接跳转至函数声明处。比如这里的BuyFailed()

cb861d5903d1467128dd9fca0aa3e6b7_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

4、JEB 反编译工具

JEB是一款Android应用程序反编译工具,用于逆向分析、代码审计,具有静态分析和动态分析的能力

下载地址:https://www.pnfsoftware.com

双击bat文件启动

ff6641908867f426338d173ad75a1987_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

选取一个apk文件进行反编译

Manifest文件是清单文件(元数据文件),用来定义扩展或档案打包相关数据包含了不同部分中的名/值对数据

Bytecode是字节码,里面内容是smali代码

226799ef4b55b7baaab0bc537f9df11b_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

简单使用

在smali文件中按q可以反编译回java代码

Ctrl+b下断点

三、安卓调试工具

这部分为安卓调试工具,主要先介绍下载及安装,JEB动态调试在本文的第六节中介绍,其余的IDEA和IDA会在后面的动态调试文章中体现

1、JEB

JEB是一款Android应用程序反编译工具,同时也具备动态调试的功能,下文将以一个小例子进行演示。

第六部分简单演示了JEB的动态调试过程

2、IDEA

IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境,在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的

下载地址:https://www.jetbrains.com/idea

安装过程参考:01-IDE工具之IDEA的简介、下载与安装、初步配置

动态调试见后文

3、IDA

下载地址:百度

安装后有32位的和64位,这里的位数是针对软件而言的,而不是针对操作系统版本,这里先简单安装下,在后面IDA动态调试中会有专门一篇文章来介绍。

四、安卓辅助工具

这部分主要是一些辅助工具,查询信息、是否加壳等。对于没有真机的情况下还介绍了一些上手还可以的安卓模拟器

1、APK helper

APK helper工具用于查看apk文件简单信息,包括包名、证书、版本、文件信息等

568640869de2be753a1005cce146328c_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

2、PKiD 查壳工具

PKiD工具,将apk文件拖入可以查看是否加壳

f1ade47638cb9a05043a941d07d6a679_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

3、安卓模拟器

如果没有真机做实验的情况下,可以使用安卓模拟器用于实验,大部分的模拟器都可以完成实验内容,但是注意的是安卓模拟器也是一个虚拟机,不建议在虚拟机内安装模拟器,一是安装不了,二是十分卡顿。这里介绍几款不错的安卓模拟器。

  1. 雷电模拟器

下载地址:https://www.ldmnq.com

  1. 网易MuMu

下载地址:https://mumu.163.com

  1. 逍遥模拟器

下载地址:https://www.xyaz.cn

  1. 蓝叠模拟器

下载地址:https://www.bluestacks.cn

相关文章
|
6月前
|
网络协议 Android开发 Python
Android 抓包工具r0capture使用
Android 抓包工具r0capture使用
535 1
|
6月前
|
安全 Java Linux
Android反编译——jadx工具
Android反编译——jadx工具
254 1
|
6月前
|
Android开发 芯片 开发者
Android MediaTek bootloader 的序列号长度 & 移除非字母和数字限制 SN-Writer工具支持写入
Android MediaTek bootloader 的序列号长度 & 移除非字母和数字限制 SN-Writer工具支持写入
96 0
|
6月前
|
XML Java Android开发
Android App开发实战项目之模仿美图秀秀的抠图工具(附源码和演示视频 简单易懂 可直接使用)
Android App开发实战项目之模仿美图秀秀的抠图工具(附源码和演示视频 简单易懂 可直接使用)
203 0
|
3月前
|
编解码 Android开发
【Android Studio】使用UI工具绘制,ConstraintLayout 限制性布局,快速上手
本文介绍了Android Studio中使用ConstraintLayout布局的方法,通过创建布局文件、设置控件约束等步骤,快速上手UI设计,并提供了一个TV Launcher界面布局的绘制示例。
57 1
|
4月前
|
Java Android开发 iOS开发
探索安卓与iOS开发的差异性:平台、工具和用户体验的对比分析
【7月更文挑战第30天】在移动应用开发的广阔天地中,安卓和iOS两大平台各自占据着不可忽视的地位。本文将深入探讨这两大平台在开发环境、工具选择以及最终用户体验上的根本差异,并分析这些差异如何影响开发者的策略和用户的偏好。通过比较安卓的开放性与iOS的封闭性,我们将揭示不同平台下的开发哲学及其对生态系统的影响。
44 4
|
4月前
|
开发工具 Android开发 数据安全/隐私保护
探索iOS与安卓应用开发的异同:技术、工具和市场趋势
在移动操作系统的广阔舞台上,iOS和安卓两大主角各自演绎着怎样的精彩?本文将深入剖析这两大平台在应用开发过程中的技术差异、开发工具的选择以及面对的市场环境。通过数据支撑和案例分析,我们将一窥这两个系统如何影响开发者的决策,并探讨它们未来的发展方向。
|
3月前
|
API 调度 Android开发
Android经典实战之处理后台任务的2个工具
本文介绍Android后台任务管理,涵盖WorkManager与JobScheduler的使用方法及区别。WorkManager属Jetpack库,确保任务可靠执行,支持延迟与条件依赖。JobScheduler则针对特定条件下的任务调度,如网络类型。两者各有优势,WorkManager适用于多数场景。
47 0
|
4月前
|
监控 开发工具 Android开发
探索安卓与iOS开发的差异:平台特性、工具和市场趋势
在移动应用开发的广阔舞台上,安卓与iOS两大操作系统扮演着主角。它们各自拥有独特的平台特性、开发工具和市场定位,这些差异深刻影响着开发者的决策和产品的最终形态。本文将深入分析这两大平台的关键技术差异,探讨各自的开发环境和工具集,以及它们在市场上的表现和未来的趋势,为开发者提供一个全面的视角,帮助他们在这两个平台上做出更明智的开发选择。
|
5月前
|
监控 Android开发 iOS开发
探索Android与iOS开发的差异:平台、工具和用户体验的比较
【6月更文挑战第25天】在移动应用开发的广阔天地中,Android和iOS两大平台各领风骚,它们在开发环境、工具选择及用户体验设计上展现出独特的风貌。本文将深入探讨这两个操作系统在技术实现、市场定位和用户交互方面的关键差异,旨在为开发者提供一个全景式的视图,帮助他们在面对项目决策时能够更加明智地选择适合自己项目需求的平台。