xposed 小实战
- 经典贪吃蛇大作战
关键字符串:支付取消
1 | //zombie.class 11,Lcom/qy/zombie/zombie;->DX_Pay(Ljava/util/HashMap;)V+4h,, |
逻辑:payCancel 函数 payFailed 函数 都换成 paySuccess
通过androidkiller发现 这几个函数在类:com/qy/zombie/zombie$3 下
- 单机斗地主
支付宝购买关键字: 9000 (0x2328)
全局搜索
1 | //com/alipay/sdk/app/j |
修改此函数的参数为9000
- 街机捕鱼达人 同上 com/alipay/sdk/app/i
// 代码:
package com.example.xposedplugin;
import android.os.Message;
import java.util.Map;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XC_MethodReplacement;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
public class XposedInit implements IXposedHookLoadPackage {
@Override
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable {
XposedBridge.log(“当前启动的应用程序是:”+loadPackageParam.packageName);
if(loadPackageParam.packageName.equals("com.yunhaoge.tanchishe.egame")){
XposedHelpers.findAndHookMethod("com.qy.zombie.zombie$3", loadPackageParam.classLoader, "payCancel", Map.class,
new XC_MethodReplacement() {
@Override
protected Object replaceHookedMethod(MethodHookParam methodHookParam) throws Throwable {
XposedHelpers.callMethod(methodHookParam.thisObject,"paySuccess",methodHookParam.args);
return null;
}
});
XposedHelpers.findAndHookMethod("com.qy.zombie.zombie$3", loadPackageParam.classLoader, "payFailed", Map.class,
new XC_MethodReplacement() {
@Override
protected Object replaceHookedMethod(MethodHookParam methodHookParam) throws Throwable {
XposedHelpers.callMethod(methodHookParam.thisObject,"paySuccess",methodHookParam.args);
return null;
}
});
}
if (loadPackageParam.packageName.equals("com.june.game.doudizhu")){
XposedHelpers.findAndHookMethod("com.alipay.sdk.app.j", loadPackageParam.classLoader, "a", int.class, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
super.beforeHookedMethod(param);
XposedBridge.log("Str参数:" + param.args[0]);
param.args[0] = 9000;
XposedBridge.log("修改后参数:"+param.args[0]);
}
});
}
if (loadPackageParam.packageName.equals("com.prgame5.fish2.baidu")){
XposedHelpers.findAndHookMethod("com.alipay.sdk.app.i", loadPackageParam.classLoader, "a", int.class, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
super.beforeHookedMethod(param);
XposedBridge.log("Str参数:" + param.args[0]);
param.args[0] = 9000;
XposedBridge.log("修改后参数:"+param.args[0]);
}
});
}
}
}
1.
2.Android Killer 不反编译资源
3.xposed 原理初探
4.AndroidStudio调试smali代码
5.jeb调试smali代码
6.安卓破解实战 - 修改重编译
7.LLVM编译
8.linux configure调试模式
1.minifilter-学习笔记1
2.Android Killer 不反编译资源
3.xposed 原理初探
4.AndroidStudio调试smali代码
5.jeb调试smali代码
6.xposed 小实战