L1E6N0A2

监督自己不断学习

0%

安卓逆向学习(二)frida

Frida是一款轻量级HOOK框架,可用于多平台上,例如android、windows、ios等。frida分为两部分,服务端运行在目标机上,通过注入进程的方式来实现劫持应用函数,另一部分运行在系统机器上。frida上层接口支持js、python、c等。

APK逆向方式,frida

从APK到JAVA

  • apktool

    1
    apktool d D:\Tools\xiaomi.apk -o E:\IoT\camera\reverse

    得到如下文件,从文件中可以看有8个smali文件目录,可以猜测到该app的方法数超过了65536的限制,在编译时编译出多个dex文件,在第二步得到dex文件来验证下我们的猜测。

    1

  • 将apk文件后缀该为zip,解压得到dex文件

    2

  • dex2jar 得到jar文件

    1
    d2j-dex2jar E:\IoT\camera\reverse\xiaomi\classes.dex

3

​ 第三个dex报错,应该是和数字签名或者混淆有关系

a4

  • jd-gui打开该文件,将class文件反编译成java源代码

    发现不止classes3.jar有问题,都被混淆了,O00000o,

    a5

  • hook

    可以在smali代码的基础上进行修改,不过一般不建议直接修改smali代码,一般都是写好Java代码然后转换成smali代码进行注入。java转smali在Android studuio中有插件(jJava2Smali)

Frida

https://www.52pojie.cn/thread-1128884-1-1.html