安卓-反编译资料整理
工具类
Apktool
A tool for reverse engineering 3rd party, closed, binary Android apps. It can decode resources to nearly original form and rebuild them after making some modifications. It also makes working with an app easier because of the project like file structure and automation of some repetitive tasks like building apk, etc.
1 | usage: apktool |
标准做法就是拷贝 jar 包到当前目录, 然后执行 java -jar apktool.jar d test.apk
操作
反编译 xml 工具
AXMLPrinter2.jar 官方介绍: AXMLPrinter2.jar apk 分析 APK 文件,取得 APK 文件中的 包名、版本号及图标,很强大的工具,再一次感受到了批处理的牛逼。可以将 android 安卓编译过的二进制 XML 文件(binary xml file)反编译明文输出保存。是 APK 反编译修改的必备工具之一。例如需要查看 apk 安装包的权限、名称等,可以用 AXMLPrinter2 对androidmanifest.xml 反编译进行明文查看。反编译速度非常快、好用,可以顺利编译出 XML 文件。
拿到 apk 安装包后如何开启调试功能
想要调试 android 程序,但是目前情况是生成的 apk 不可调试,所以需要反编译 apk,并将 AndroidManifest.xml中的 application 标签中调试开关打开为 android:debuggable=“true”。
操作步骤
1. 重新打包 apk 安装包
1 | # 1. 解开 |
2. 将 apk 安装包按照到虚拟机或者实体收集并进行调试工作。例如可以通过 Android Studio 的 Device File Explorer 进行文件的查看等操作。
生成秘钥工具
秘钥生成工具——keytool
路径:jdk/bin/keytool.exe
生成秘钥:keytool -genkeypair -keystore test.keystore -alias test -validity 1000 -keyalg RSA
其中 -validity 指定有效期天数,-keyalg 指定算法
查看秘钥信息:keytool -list -v -keystore test.keystore
相关软件
Amazon Corretto-OpenJDK 的免费多平台发行版-AWS云服务
https://aws.amazon.com/cn/corretto/
Apktool - A tool for reverse engineering 3rd party, closed, binary Android apps.
https://ibotpeaches.github.io/Apktool/
Download Android Studio & App Tools - Android Developers
https://developer.android.google.cn/studio/
android 逆向之多dex(multiDex)文件 apk 的逆向
dex2jar 版本大于2.1才行
d2j-jar2dex.bat D:\MixSoft\Java-Decompiler\zc.apk
或者
d2j-dex2jar.bat zc-jar2dex.dex
都是可行的。
辅助分析
看当前 app 的页面布局和 Activity 类名
使用 adb 查看当前显示的 Activity 类名 adb shell dumpsys activity | find "mFoc"
查看当前 app 的页面布局,需借助 安卓sdk下的 \tools\bin\uiautomatorviewer.bat
相关软件
dex2jar https://github.com/pxb1988/dex2jar/releases
Java Decompiler http://java-decompiler.github.io/
静态分析工具之-AXMLPrinter2.jar的使用方法_冷冷清清里风风火火是我的博客-CSDN博客_axmlprinter
https://blog.csdn.net/qq_33721320/article/details/94553756