[Java] 纯文本查看 复制代码package com.cy.qq;
import android.app.AndroidAppHelper;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;
public class hook implements IXposedHookLoadPackage {
public void handleLoadPackage(LoadPackageParam lpparam) throws Throwable {
if (!lpparam.packageName.contains("com.tencent.mobileqq"))
return;
XposedHelpers.findAndHookMethod("com.tencent.mobileqq.utils.HexUtil", lpparam.classLoader, "a", byte[].class, new XC_MethodHook() {
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
super.beforeHookedMethod(param);
}
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
super.afterHookedMethod(param);
byte[] signatures = (byte[]) param.args[0];
String sign = bytesToHex(signatures);
XposedBridge.log("输出 ------------- " + sign);
AndroidAppHelper.currentApplication();
if (sign.equals("自己app签名md5")) {
String result="正版签名md5";
param.setResult(result);
}
}
});
}
public static String bytesToHex(byte[] bytes) {
StringBuffer sb = new StringBuffer();
for (byte b : bytes) {
String hex = Integer.toHexString(b & 255);
if (hex.length() < 2) {
sb.append(0);
}
sb.append(hex);
}
return sb.toString();
}
}