专栏首页中国白客联盟Android常用工具集合(一)

Android常用工具集合(一)

apktool

下载地址

下载地址 : https://ibotpeaches.github.io/Apktool/

使用方法

反编译成smali

$ java -jar apktool_2.3.4.jar d demo.apk
I: Using Apktool 2.3.4 on demo.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
S: WARNING: Could not write to (/Users/wujiabo/Library/apktool/framework), using /var/folders/pd/1qwx8_fd2wvgtpklyxb6qjvm0000gn/T/ instead...
S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable
I: Loading resource table from file: /var/folders/pd/1qwx8_fd2wvgtpklyxb6qjvm0000gn/T/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...

默认生成以apk名称命令的文件夹

重打包命令

java -jar apktool_2.3.4.jar b demo

漏洞

构造恶意的AndroidManifest.xml,重打包即可造成xxe攻击

java -jar apktool_2.2.2.jar b demo/ -o demoxxe.apk

影响版本

1.5.2-2.2.4 还有个目录穿越漏洞,详情可以看https://security.tencent.com/index.php/blog/msg/122?from=timeline&isappinstalled=0

baksmali/smali

下载地址

下载地址 : https://bitbucket.org/JesusFreke/smali/downloads/

使用方法

反编译成smali,实际上apktool用的反编译成smali就是用的这个工具

java -jar baksmali-2.2.2.jar disassemble demo.apk -o demo_baksmali

重打包成dex

java -jar smali-2.2.2.jar assemble demo

dex2jar

下载地址

下载地址 : https://github.com/pxb1988/dex2jar

使用方法

看这目录就知道很全全面了

把apk/dex文件反编译成smali语言

sh d2j-baksmali.sh  demo.apk

重新签名dex文件

sh d2j-dex-recompute-checksum.sh demo.dex

把apk反编译成可读jar代码

sh d2j-dex2jar.sh demo.apk

注意,如果apk里面有多个dex,该工具只会反编译出一个,如果需要反编译dex文件,需从apk中扣出dex文件自行反编译 sh d2j-dex2jar.sh classes.dex

把dex反编译成smali文件

sh d2j-dex2smali.sh classes.dex

把jar文件打包成dex

sh d2j-jar2dex.sh classes-dex2jar.jar

jd-gui

下载地址

下载地址 : http://jd.benow.ca/

使用方法

直接打开用反编译工具反编译出来的jar文件

把所有java文件保存下来

jadx

下载地址

下载地址 : https://github.com/skylot/jadx

使用方法

直接打开apk即可

善用搜索

把整个工程保存在本地

jeb

下载地址

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

使用方法

直接打开apk即可

按q反编译成jar代码

常规套路

首先看apk是否有壳,在无壳或者拖壳以后,用以上工具反编译成可读代码,然后阅读代码找敏感url、参数等,如果数据加密,也可以在java代码中寻找解密函数(不要一味的相信反编译出来的代码,没有一款工具能100 %正确),或者利用调试技术获取你想要的东西。

本文分享自微信公众号 - 中国白客联盟(China_Baiker)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-01-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Evil Package

    那如果我们安装packages是恶意的怎么办呢,我们根据手册编写如下恶意setup.py

    Jumbo
  • NASA否认黑客组织AnonSec曾攻击全球鹰无人机

    ? 日前,有一黑客组织在Facebook上声称他们成功地黑掉了NASA(美国国家航空航天局)的全球鹰无人机。但NASA随后便否认了这一言论,NASA表示,他们...

    Jumbo
  • [预警]openssl再爆漏洞了,官方建议禁用SSLv2

    CVE-2016-0703 1.Drown漏洞是什么? DROWN出了一个严重的漏洞影响HTTPS和其他依赖SSL和TLS的服务,SSL和TLS协议保证用户上...

    Jumbo
  • 阿里参谋长曾鸣:那天,我泪流满面(作者授权转载)

    大数据文摘
  • MQTT安全性设计详解

    MQTT(MQ Telemetry Transport, MQ 遥测传输)。它是一种发布/订阅、极其简单和轻量级的消息传递协议,旨在用于受限设备和低带宽,高延迟...

    别打名名
  • 对自动化测试的几点思考(一)

    曾经在2012年的时候,测试一个WEB产品,怎么测试问题总是很多的,领导层对测试的能力非常质疑,而且领导层也认为测试这个事没什么技术含量,前台小妹...

    无涯WuYa
  • 自动化测试生命周期

    如今,项目经理和开发人员面临着用最少的资源并在日渐缩减的时间表中构建可靠应用程序的挑战。因此,组织正在转向自动化测试以有效地实现此目标。

    八音弦
  • Spark SQL+Hive历险记

    我是攻城师
  • Python 测试开发从入门到高手成长之路

    在“质量第一,效率为王”的移动互联网和大数据时代,互联网 IT 技术团队为了应对产品快速迭代要求,就必须具备持续交付的能力。而在测试这个环节,就意味着必须拥有自...

    测试小兵
  • Confluence 6 配置数据库查询超时时间

    如果数据库的查询时间太长同时你的应用程序显示没有响应,你可以配置数据库的查询超时时间。在默认情况下 Confluence 没有超时时间。希望配置数据库查询超时时...

    HoneyMoose

扫码关注云+社区

领取腾讯云代金券