过掉游戏检测模拟器(江湖风云录.apk)


一、分析

  1.打开后软件提示不允许在安卓模拟器运行:

应用在模拟器上运行



  2.软件自动退出:

app自动退出



  3.使用jadx分析源码(搜索提示信息):

搜索提示信息



  4.并未搜索到关键字,可能是Unicode编码:

搜索得到代码处



  4.找到代码处,但是并不确定so层是否还有校验所以我采用的是Hook的方式校验so层是否还有模拟器检测:

找到代码处



  5.Hook代码如下,我选择直接替换原函数(无任何操作):

    //实现方法
    @Override
    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable {
        //XposedBridge.log("packageName:"+lpparam.packageName);
        if(loadPackageParam.packageName.equals("jianghu.lanjing.com.mzw")){
            //jianghu.lanjing.com.mzw
            //android.bluetooth.BluetoothAdapter.getName();

            Class<?> clazz = XposedHelpers.findClass("com.secure.InitAntiEmul",loadPackageParam.classLoader);
//            //查看是否调用了判断模拟器方法
            XposedHelpers.findAndHookMethod(clazz, "init", android.content.Context.class, new XC_MethodReplacement() {
                @Override
                protected Object replaceHookedMethod(MethodHookParam methodHookParam) throws Throwable {
                    return null;
                }
            });
        }


  6.查看运行结果(成功进入):

成功进入游戏


二、使用Ak直接修改这个函数代码

  1.smali代码对应函数处:

对应代码块,直接删除

删除代码后的源码


三、运行结果

打包后丢到模拟器运行结果


在浏览的同时希望给予作者打赏,来支持作者的服务器维护费用.一分也是爱~