头一次接触到App参数加密的,因此需要对加密参数进行反编译,了解到有工具inspeckage可以方便的来找寻加密参数。而其使用的条件为
- 手机已ROOT
- 在Xposed框架下运行
于是开始在夜神模拟器上捣鼓安装xposed、inspeckage。
安装
xposed框架
在不少地方都下载了xposed框架,但都不太使用,后来了解到模拟器的xposed是专用的,根据夜神模拟器官网介绍的夜神模拟器如何安装xposed框架后,决定还是在模拟器的应用商店进行安装xposed,下载安装后的名称为"xposed 派大星"。
下载安装后立马打开还是会显示没安装,需要点击"安装/更新"下的选项进行安装才行。在安装完成后再选择重启模拟器。
inspeckage模块
Inspeckage是一个用于提供Android应用程序动态分析的工具。通过对Android API的函数使用hook技术,帮助用户了解应用程序在运行时的行为——crypto菜单栏下会hook捕捉常见的加密,Hash菜单栏下会hook捕捉常见的hash。
原以为需要额外去搜寻下载,后来发现推荐的都是安装好xposed软件后,在其菜单栏的"下载"中搜寻"inspeckage"模块使用(搜索结果为Inspeckage-Andriod package inspector)后安装,安装成功切换到菜单栏的"模块"中,勾选"inspeckage"后重启模拟器。
注:xposed的作用只是为了给inspeckage提供运行环境。
启动inspeckage
参考:Inspeckage插件的运用
-
打开模拟器的inspeckage程序,
choose target
:选择目标app程序 -
点击"Lauch APP"打开要捕获程序
-
在宿主机cmd里面输入命令
adb forward tcp:8008 tcp:8008
,然后在浏览器里输入http://127.0.0.1:8008 就会看到Inspeckage的界面
注:得手动点击ON才能实时抓信息。
更多介绍见:Inspeckage使用笔记(app安全检测工具)
使用inspeckage
菜单页说明
模块名 | 功能 |
---|---|
Logcat | 查看该app的logcat输出 |
Tree View | 浏览app的数据目录并直接下载文件到本地 |
Package Information | 应用基本信息(组件信息、权限信息、共享库信息) |
Shared Preferences | LOG:app XML文件读写记录;Files:具体XML写入内容 |
Serialization | 反序列化记录 |
Crypto | 常见加解密记录,AES、DES、RSA(KEY、IV值) |
Hash | 常见的哈希算法记录 |
SQLite | SQLite数据库操作记录 |
HTTP | HTTP网络请求记录 |
File System | 文件读写记录 |
Misc. | 调用Clipboard,URL.Parse()记录 |
WebView | 调用webview内容 |
IPC | 进程之间通信记录 |
+Hooks | 运行过程中用户自定义Hook记录 |
注:inspeckage主要是用来hook加密的,对hash检测的效果可能不是很好——AXHC
使用说明:
如果是要参看加密前的数据(解密数据),可以直接查看Crypto菜单栏下的内容,搜索你所需要找的加密参数就可以得到原文和使用的加密、Hash类型,直接秒杀!
比如:Algorithm( MD5 ) [eexssdsd : zxcxzc]
,说明使用的算法为MD5, [plaintext : encrypted]
原理分析:那么这个效果是怎么做到的呢?其实很简单,就是直接将Java标准库中常见的被用于生成加密参数的方法给Hook了,监听它们的输入参数和返回值,这样就能直接得到加密、Hash前的原文、密钥、IV等内容了,怎么样?是不是很简单?——相对于反编译app,自己再看代码实现简单、快捷多了。
实战:
- 解析sign参数的明文:https://blog.csdn.net/qq_38832624/article/details/100897605
- inspeckage使用实战两例
- app反编译实战三:工具inspeckage的使用——识货MD5参数解析
- Jadx反编译:https://cloud.tencent.com/developer/article/1447630?from=article.detail.1548593
- 视频教程:
- APP逆向解密 安卓HOOK——恰恰小视频,复合加密: MD5(password, “saltA” + phoneNum + “saltB”)
- 安卓逆向 HOOK APP加密字段sign解密——众赢时空
附录
Mudule disabled
Module disabled表明测试环境中没有安装Xposed框架*,用户可以在没有Xposed的情况下运行Inspeckage*,但是绝大部分功能都要依赖Xposed框架,所以建议在测试环境中安装该框架。
如果安装Xposed后,并且inspeckage就是通过对应的Xposed软件下载的,那么检查"模块"中是否将"inspeckage"勾选,然后重启。
手机目录
MT管理器能看到
/data/data/
下是手机系统文件和你安装软件的数据文件,不建议随便删除,或造成死机或开不了机。需要root/etc/data
反编译
如果程序被加固(加壳,腾讯乐固、360加固),则需要去壳后反编译,比如脱壳工具FDex2,脱壳后得到多个dex文件,将其压缩成压缩包,再使用反编译如jadx导入分析。
Author: Mrli
Link: https://nymrli.top/2022/05/10/爬虫App——xposed-inspeckage/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.
每周一个开源项目——ddt-sharp-shooterNextPost >
toy reimplementation of an event loop in Python[翻译]