HashMap
let hashMap = Java.use("java.util.HashMap");
hasnMap.put.implementation = function(a, b) {
console.log("HashMap: ", a, b);
return this.hashMap(a, b);
}
LinkedHashMap
ConcurrentHashMap
HashSet
LinkedHashSet
Log.getStackTraceString(new Throwable)
Frida打印Java函数栈
function showStacks() {
Java.perform(frunction() {
console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Throwable").$new()));
});
}
有些系统函数较为常用,不过滤容易奔溃
let arrayList = Java.use("java.util.ArrayList");
arrayList.add.overload("java.lang.Object").implementation = function(a) {
console.log("ArrayList: ", a);
return this.add(a);
}
ArrayList.add.overload("int", "java.lang.Object").implementation = function(a, b) {
console.log("ArrayList.add", a, b);
return this.add(a, b);
}
名称 | 仓库地址 | 备注 |
---|---|---|
DroidSSLUnpinning | ‣ | SSLUnPinning |
r0capture | ‣ | 应用层抓包通杀 |
RxAppEncryptionProtocol | ‣ | 解密脚本 |