APK逆向工具详解对应的配套视频课程、工具详见:

Android安全逆向技术入门课程--移动安全视频教程-信息安全-CSDN程序员研修院

模拟器

app不一定要在手机上安装,模拟器是一样的。这样可以不同的手机版本切换,随时进行root。

缺点:app模拟器是基于X86的虚拟机,有一些xposed的操作会失败,这时还得在真机上。

夜神模拟器

雷电模拟器

adb命令

ADB是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备。

为了方便可以直接将模拟器中的adb.exe配置环境变量,这里我用了我夜神里面的adb模拟器配置的环境变量,这里有一点如果用adb连接夜神的模拟器需要用夜神的nox_adb.exe

直接在cmd中输入adb

shell命令



adb devices #查看存在的android设备 adb shell #进入手机的超级终端Terminal adb connect tcpip:5555 #统一局域网中直接连接手机ip(默认端口5555) adb pull <A> <B> #A为手机路径,B为电脑路径,意思为:把文件从手机中复制到电脑上 adb push <B> <A> #A为手机路径,B为电脑路径,意思为:把文件从电脑复制到手机上 adb install apk文件名称.apk #安装软件 adb install -r apk文件名称.apk #重新安装该软件 adb uninstall apk包名.apk #卸载apk软件 adb logcat #查看日志

Logcat查看-DDMS



android-sdk-->tools-->ddms #ddms路径 ​ android测试类\工具包\android测试工具包\android-sdk_r24.4.1-windows\android-sdk-windows\tools\ddms.exe

查看某个apk日志

左边点击该app,右边可以看到其Process ID,在左下角Savad Filters中点加号进行配置

常见逆向工具

java环境

因为apk都是java写的,因此需要先安装jdk,这里可以选着java1.8兼容性比较强,安装好后需要配置环境变量:

我的电脑--->属性-->高级系统设置-->Path-->配置环境变量

java的安装路径也要记住哦,后面AndroidKiller都会用到路径进行配置:D:\software\jdk1.8

下图为配置成功图;cmd-->java -version

apktool

APKTool是GOOGLE提供的APK编译工具,能够反编译及回编译apk,同时安装反编译系统apk所需要的framework-res框架,清理上次反编译文件夹等功能。需要java支持。



apktool d demo.apk -o demo #将demo.apk发编译到demo目录中 apktool b demo -o demo_unsigned.apk #将demo打包为demo_unsigned.apk

ApkToolBox

大佬封装好的apktool UI版本,更加的方便。里面集成了编译、回编译、签名等

jadx

启动后先配置jdk哦,参考“java环境”

启动后选择需要编译的apk

jadx类似是dex2jar & jd-gui的组合,直接将apk转换为java代码,并且较其他反编译工具逻辑是最强,乱码最少的工具。

工具支持apk、dex、jar、aar等格式的文件

getCert

apk反编译中常用的一个小工具,可以看apk签名信息,hash值等。

直接将apk拖到getCert.bat中

集成工具

AndroidKiller

androidkiller是一款集成性的工具,里面包含了编译反编译,签名打包等功能。

配置java环境

主页-->配置-->Java

识别模拟器

Android-->已找到的设备(刷新)

类方法索引

方法再各类的交叉引用

自定义代码块一件插入

根据上面编辑好的直接引入

关键字语法显示、Unicode转换

直接显示java代码

反编译,回编译,签名,安装

反编译:添加apk后自动会进行反编译

回编译:Android-->编译

安装:Android-->安装(回编译后默认进行了签名)

避坑点

随着时间的推移,apktool会有新的版本,自己可以添加新版本,以及在参数处配置自己需要的apktool参数。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐