轉載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());