frida调用制作dex(用于有些对象读取不了)

转载https://www.jianshu.com/p/d2a1c7ffe063

通常我们需要将某些代码逻辑包含在某个class中,写好class后,怎样将其制作成dex文件?可以按照下面的顺序操作:

1、在android studio里写对应的类,譬如reverseA,将代码直接写进去

编译:Build– Make Project

在当前目录下(譬如:app/build/intermediates/javac/debug/classes/com/test/lesson9)生成reverseA.class文件

2、用build-tools里的工具d8将reverseA.class编译成dex

root@kali:~/AndroidStudioProjects/lesson9/app/build/intermediates/javac/debug/classes/com/test/lesson9#/root/Android/Sdk/build-tools/29.0.3/d8 reverseA.class

3、在当前目录下生成classes.dex文件

4、将其push到手机,并赋予执行权限

adb push classes.dex/data/local/tmp

chmod 777 classes.dex

二、frida调用dex文件

写如下脚本调用即可,decode_P和r_to_hex是类中的2个方法

Java.openClassFile("/data/local/tmp/classes.dex").load();

const reverseA = Java.use("com.test.lesson9.reverseA");

console.log("reverseA result:", reverseA.decode_P());

console.log("r_to_hex result:", reverseA.r_to_hex());

posted @ 2021-05-10 17:31  小小咸鱼YwY  阅读(295)  评论(0编辑  收藏  举报