Android 逆向

ApkTool 工具下载:

https://github.com/iBotPeaches/Apktool/releases/tag/v2.7.0

下载完 jar 后,找一个你想要反编译的 apk,然后输入以下命令即可

1
java -jar apktool_2.7.0.jar d com.taobao.taobao-10.24.20-441-2754.apk

Untitled

然后我们看到 test 目录就生成了以下这些文件

Untitled 1
那么 apktool 生成这些文件和目录分别是什么呢?

1
2
3
4
5
6
7
- original 目录:保存了原始的 AndroidManifest.xml 和签名信息
- res 目录:应用程序的资源文件目录,包含了应用程序的布局文件、字符串资源、图片资源等。
- smali 目录:应用程序的 Smali 代码目录,包含了应用程序的所有 Smali 代码文件(Smali 就是字节码)
- assets 目录:应用程序的 assets 目录,包含了应用程序需要使用的各种资源文件,例如音频、视频、图片、配置文件等。
- lib 目录:应用程序的库目录,包含了应用程序需要使用的库文件,例如 so 文件等。
- AndroidManifest.xml:应用程序的清单文件,包含应用程序的名称、包名、版本号、权限等信息。
- apktool.yml:是 APKTool 工具使用的配置文件,用于指定反编译和打包 APK 文件时的各种参数和选项。

输入以下命令进行回编译

1
java -jar apktool_2.7.0.jar b taobao-10.24.20 -o taobao.apk

Untitled 2

1
2
3
4
5
6
Java.perform(function () {
var SwitchConfig = Java.use('mtopsdk.mtop.global.SwitchConfig');
SwitchConfig.isGlobalSpdySslSwitchOpen.overload().implementation = function () {
return false;
}
});

然后使用如下命令启动App进行抓包。抓包效果如下,可以看到已经能抓到了。

1
frida -U -l hook.js -f com.taobao.taobao