这个样本可以砍掉小米助手。
1.提示安装小米助手的方法是dispatchMessage(Landroid/os/Message;)V,没有返回值,直接在该方法代码段第一行return-void。
2.buyProduct是支付的启动程序,是必经的方法。
[Asm] 纯文本查看 复制代码 public static void buyProduct(String paramString)
{
m_productCode = paramString;
buying = true;
m_activity.runOnUiThread(new Runnable()
{
public void run()
{
if (AppActivity.sdklogined) {
AppActivity.m_activity.doPay();
}
for (;;)
{
return;
AppActivity.m_activity.doLogin();
}
}
});
}
该方法判断是否登录以判断启动支付程序还是登录程序,修改跳转为一直走支付逻辑doPay()
3.doPay()的内部方法finishPayProcess()中修改,确保一直走到buyedOK()。这里,不安装小米服务,监听不到返回信息,也会启动finishPayProcess(),是能够轻易砍掉小米助手的关键。
4.程序退出时,需要安装小米助手,否则还退出不了。将AppActivity中oncreate方法中,判断如果包名不是原包名就退出的那两行:
[Asm] 纯文本查看 复制代码 sget-object v1, Lorg/cocos2dx/cpp/AppActivity;->m_activity:Lorg/cocos2dx/cpp/AppActivity;
invoke-virtual {v1}, Lorg/cocos2dx/cpp/AppActivity;->finish()V
复制到AppActivity中exitGameNormal()V方法代码段的第一行。
|