Browse Source

新增起始的Java,hook一下log,看会不会报错

Alex 1 year ago
parent
commit
62a56e2a5d
2 changed files with 35 additions and 5 deletions
  1. 5 5
      agent/index.ts
  2. 30 0
      agent/tools/HookJavaLog.js

+ 5 - 5
agent/index.ts

@@ -2,6 +2,7 @@ import {hooklinker} from "./hooklinker";
 import {SafeSelf} from "./safeSelf";
 import {dumper} from "./dumper";
 import {HookGameCenter} from "./HookGameCenter";
+import {HookJavaLog} from "./tools/HookJavaLog";
 
 // SafeSelf.start();
 // SafeSelf.hook_dlopen();
@@ -11,11 +12,10 @@ setImmediate(main)
 function main() {
 
 
-    // setTimeout(() => {
-        Java.perform(() => {
-            HookGameCenter.startHook()
-        })
-    // }, 5000);
+    //     Java.perform(() => {
+    //         HookGameCenter.startHook()
+    //     })
+    HookJavaLog.testHookJavaLog()
     // init_array 通用模板的注入
     hooklinker.start();
     // dumper.start();

+ 30 - 0
agent/tools/HookJavaLog.js

@@ -0,0 +1,30 @@
+import {logColor, LogColor} from "../logger";
+
+export let HookJavaLog = {
+
+    testHookJavaLog: function () {
+        Java.perform(function () {
+            var Log = Java.use('android.util.Log');
+            Log.e.overload('java.lang.String', 'java.lang.String').implementation = function (tag, msg) {
+                logColor('Log.e:' + tag + msg, LogColor.RED_BG);
+                return 0;
+            };
+            Log.w.overload('java.lang.String', 'java.lang.String').implementation = function (tag, msg) {
+                logColor('Log.w:' + tag + msg, LogColor.YELLOW_BG);
+                return 0;
+            };
+            Log.i.overload('java.lang.String', 'java.lang.String').implementation = function (tag, msg) {
+                logColor('Log.i:' + tag + msg, LogColor.GREEN_BG);
+                return 0;
+            };
+            Log.d.overload('java.lang.String', 'java.lang.String').implementation = function (tag, msg) {
+                logColor('Log.d:' + tag + msg, LogColor.BLUE_BG);
+                return 0;
+            };
+            Log.v.overload('java.lang.String', 'java.lang.String').implementation = function (tag, msg) {
+                logColor('Log.v:' + tag + msg, LogColor.BRIGHT_BLACK_BG);
+                return 0;
+            };
+        });
+    }
+}