hook一些重要函数

Java.perform(function () {

function showStacks() {
console.log(
Java.use("android.util.Log")
.getStackTraceString(
Java.use("java.lang.Throwable").$new()
)
);
}

// var hashMap = Java.use("java.util.HashMap");
// hashMap.put.implementation = function (a, b) {
// if(a.equals("username")){
// showStacks();
// console.log("hashMap.put: ", a, b);
// }
// //console.log("hashMap.put: ", a, b);
// return this.put(a, b);
// }

// var arrayList = Java.use("java.util.ArrayList");
// arrayList.add.overload('java.lang.Object').implementation = function (a) {
// if (a.equals("username=15968079477")) {
// showStacks();
// console.log("arrayList.add.overload('java.lang.Object'): ", a);
// }
// return this.add(a);
// }
// arrayList.add.overload('int', 'java.lang.Object').implementation = function (a, b) {
// console.log("arrayList.add.overload('int', 'java.lang.Object'): ", a, b);
// return this.add(a, b);
// }

// var textUtils = Java.use("android.text.TextUtils");
// textUtils.isEmpty.implementation = function (a) {
// if(a == "2v+DC2gq7RuAC8PE5GZz5wH3/y9ZVcWhFwhDY9L19g9iEd075+Q7xwewvfIN0g0ec/NaaF43/S0="){
// showStacks();
// console.log("textUtils.isEmpty: ", a);
// }
// //console.log("textUtils.isEmpty: ", a);
// return this.isEmpty(a);
// }

// var log = Java.use("android.util.Log");
// log.w.overload('java.lang.String', 'java.lang.String').implementation = function (tag, message) {
// showStacks();
// console.log("log.w: ", tag, message);
// return this.w(tag, message);
// }

// var collections = Java.use("java.util.Collections");
// collections.sort.overload('java.util.List').implementation = function (a) {
// try{
// showStacks();
// var result = Java.cast(a, Java.use("java.util.ArrayList"));
// console.log("collections.sort List: ", result.toString());
// }catch (e) {
//
// }
// return this.sort(a);
// }
// collections.sort.overload('java.util.List', 'java.util.Comparator').implementation = function (a, b) {
// try{
// showStacks();
// var result = Java.cast(a, Java.use("java.util.ArrayList"));
// console.log("collections.sort List Comparator: ", result.toString());
// }catch (e) {
//
// }
// return this.sort(a, b);
// }

// var jSONObject = Java.use("org.json.JSONObject");
// jSONObject.put.overload('java.lang.String', 'java.lang.Object').implementation = function (a, b) {
// if (a.indexOf("Encrypt") != -1) {
// showStacks();
// console.log("jSONObject.put: ", a, b);
// }
// return this.put(a, b);
// }
// jSONObject.getString.implementation = function (a) {
// showStacks();
// console.log("jSONObject.getString: ", a);
// var result = this.getString(a);
// console.log("jSONObject.getString result: ", result);
// return result;
// }
});

启动注入代码

frida -U -f com.dodonew.online -l src\test2.js - o log.txt
frida -U -f com.dodonew.onlice -l src\test2.js - o log.txt --no-pause //不暂停