diff --git a/AndroidHook/app/src/main/java/am/yiad/wxsqlpasswordhook/XModule.java b/AndroidHook/app/src/main/java/am/yiad/wxsqlpasswordhook/XModule.java index 2eaa320..a38f3e2 100644 --- a/AndroidHook/app/src/main/java/am/yiad/wxsqlpasswordhook/XModule.java +++ b/AndroidHook/app/src/main/java/am/yiad/wxsqlpasswordhook/XModule.java @@ -29,12 +29,17 @@ public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) @Override protected void beforeHookedMethod(MethodHookParam param) throws Throwable { Log.i(TAG, "Path: " + param.args[0]); - Log.i(TAG, "Password: " + new String((byte[]) param.args[1], "UTF-8")); - Formatter formatter = new Formatter(); - for (byte b : (byte[]) param.args[1]) { - formatter.format("%02x", b); + byte[] password = (byte[]) param.args[1]; + if (password != null) { + Log.i(TAG, "Password: " + new String(password, "UTF-8")); + Formatter formatter = new Formatter(); + for (byte b : password) { + formatter.format("%02x", b); + } + Log.i(TAG, "Password (hex): 0x" + formatter.toString()); + } else { + Log.i(TAG, "Password: null"); } - Log.i(TAG, "Password (hex): 0x" + formatter.toString()); Log.i(TAG, "CipherSpec - Cipher: " + XposedHelpers.getObjectField(param.args[2], "cipher")); Log.i(TAG, "CipherSpec - KdfIteration: " + XposedHelpers.getIntField(param.args[2], "kdfIteration")); Log.i(TAG, "CipherSpec - Hmac Enabled: " + XposedHelpers.getBooleanField(param.args[2], "hmacEnabled"));