-
-
[分享]静态分析-android killer使用
-
2022-2-2 15:30 6091
-
0x1 介绍
1.图形化反编译工具
android killer是一款图形化反编译工具,还记的反编译三剑客吗,底层就是调用的apktool,dex2jar等命令行工具,可实现一键反编译,一键回编译。
0x2 运行环境
1.IDA脱壳原理
由于android killer使用的反编译工具是java程序,所以需要安装jdk环境并且配置jdk路径。
0x3 特色功能
1.特色功能
编辑smali
动态插桩
键重签名
0x4 使用
1.运行程序,点配置,检查java环境等等。
2.点工具,看一下为我们提供了哪些功能:
3.编码转换,搜索字符串时搜索不到,可以换编码再搜索。
4.apk签名,默认的有点问题,签名时将default改成AndroidKiller签名。
5.在Android菜单下,可以点编译,将程序重新打包成一个apk。
6.安装了模拟器我们可以直接点 安装 将程序安装到模拟器中,还可以点 进程 ,查看模拟器中正在运行的进程
7.将程序拖进来,就会自动加载和分析程序,双击apk文件,安装到雷电模拟器,打开命令行输入adb shell进入系统。
1 2 3 4 5 6 7 8 9 10 | dumpsys activity top / / 查看当前最顶层的活动界面 TASK com.example.ctf2 id = 3 ACTIVITY com.example.ctf2 / .MainActivity ae27780 pid = 2365 Local Activity 1e03868 State: mResumed = true mStopped = false mFinished = false mChangingConfigurations = false mCurrentConfig = { 1.0 ?mcc?mnc [zh_CN] ldltr sw617dp w1097dp h593dp 280dpi lrg long land finger qwerty / v / v - nav / h s. 5 } ...... |
8.ACTIVITY com.example.ctf2/.MainActivity,就是说这个活动界面在com.example.ctf2这个包下面MainActivity文件里,那么MainActivity.smali代码对应的就是模拟器中运行的apk窗口的活动代码。
9.app启动时通常会调用onCreate方法,.method public onCreate(Landroid/os/Bundle;)V,可以右键插入代码,插入log,每个函数前面插入一个,打印字符串来分析程序的执行流程。
1 2 3 | .method public onCreate(Landroid / os / Bundle;)V . locals 2 const - string v0, "you message:onCreate" |
例如打印方法名称,判断方法执行的先后顺序。
注意:这里我们使用了一个寄存器,.locals这里要加1,由2改成3
10.编译的时候点下面那个小三角,编译时使用Androidkiller签名。
1 2 3 | APK 所有编译工作全部完成!!! 生成路径: file :C:\Users\LENOVO\Desktop\AndroidKiller\projects\ 1 \ Bin \ 1_killer .apk |
11.去android-sdk\tools目录找到ddms.bat工具,双击运行,找到我们的进程,搜索我添加的字符串,可以看到输出了信息。
0x5 常见问题
1.Androidkiller编译失败,这是因为apktool版本太低,按照下面步骤添加apktool,切换版本即可。
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法