如何破解运动世界校园模拟器检测

本文已过时最新版不可用最早用安卓上的PacketCapture抓到http包只要删除对应模拟器文件就可以后来变成了https又对emulatorUrls进行了加密再追加了几个文件就难倒了一批菜鸡软件使用360加固直接逆向难度不小选择曲线救国第一次用Flidder的autoresponder直接把emulatorUrls的值清零返回.

大家好,又见面了,我是你们的朋友全栈君。

本文已过时 最新版不可用

Packet Capture
最早用安卓上的Packet Capture 抓到http包 只要删除对应模拟器文件就可以
后来变成了https 又对emulatorUrls进行了加密 再追加了几个文件就难倒了一批菜鸡
软件使用360加固 直接逆向难度不小 选择曲线救国
第一次用Flidder的auto responder 直接把emulatorUrls的值清零返回.成功
过段时间压抑不住自己的好奇心 就是想知道它检测了那些文件 遂开始学习用xposed来hook API倒是一猜就中 是java.io.File.exists
根据http://www.52pojie.cn/thread-534126-1-1.html 的教程 先hook360的ClassLoader 就能hook我想要的java.io.File.exists了
函数声明 public boolean exists()
只要hook时param.thisObject.toString().contains(“模拟器文件关键字”) 修改返回值为false

运行效果

运行效果

全部源码

package com.bc.hook;

import android.content.Context;

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;


public class Main implements IXposedHookLoadPackage {
    private String TAG = "BC";

    @Override
    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable {
        if (!loadPackageParam.packageName.equals("com.zjwh.android_wh_physicalfitness"))
            return;
        XposedBridge.log("Loaded app: " + loadPackageParam.packageName);
        //hook加固后的包,首先hook getNewAppInstance这个方法来获取context对象
        XposedHelpers.findAndHookMethod("com.qihoo.util.StubApp1211622898", loadPackageParam.classLoader,
                "getNewAppInstance", Context.class, new XC_MethodHook() {
                    @Override
                    protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                        super.afterHookedMethod(param);
                        //获取到360的Context对象,通过这个对象来获取classloader
                        Context context = (Context) param.args[0];
                        //获取360的classloader,之后hook加固后的就使用这个classloader
                        ClassLoader classLoader = context.getClassLoader();
                        //下面就是强classloader修改成360的classloader就可以成功的hook了
                        XposedHelpers.findAndHookMethod("java.io.File", classLoader, "exists", new XC_MethodHook() {
                            @Override
                            protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                                super.beforeHookedMethod(param);
                                XposedBridge.log("被检文件:" + param.thisObject);
                            }

                            protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                                super.afterHookedMethod(param);
                                if (param.thisObject.toString().contains("Nox") || param.thisObject.toString().contains("nox") || param.thisObject.toString().contains("stacks") || param.thisObject.toString().contains("Tian") || param.thisObject.toString().contains("tian")) {
                                    param.setResult(false);
                                    XposedBridge.log(TAG + "返回值设为false");
                                }
                                XposedBridge.log(TAG + "返回值: " + param.getResult());
                            }
                        });

                    }
                });
    }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126190.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 查看TensorFlow版本_查看tensorflow编译版本

    查看TensorFlow版本_查看tensorflow编译版本由于tensorflow版本不同,可能一些函数的调用也有变换,这时候可能需要查看tensorflow版本,可以在终端输入查询命令如下:pythonimporttensorflowastftf.__version__查询tensorflow安装路径为:tf.__path__查询结果如下:

    2022年4月19日
    43
  • 计算经纬度的距离_经纬度测距

    计算经纬度的距离_经纬度测距PHP根据经纬度坐标计算距离在有些应用中需要用到计算距离的功能,例如附近的商家、离我最近等功能。W为纬度对应的弧度,J为经度对应的弧度,如上图所示下面代码lat是纬度lng是经度看类代码/***根据经纬度算距离,返回结果单位是公里,先纬度,后经度*@param$lat1*@param$lng1*@param$lat2*@param$lng2*@returnfloat|…

    2022年9月15日
    1
  • clone fail smartgit_SmartGit

    clone fail smartgit_SmartGit安装选择非商业的第三个设置username和邮箱简单的配置ignore忽略一些不需要上传的配置文件,需要配置.gitignore文件.可以在github上搜索到所有编程语言需要忽略的配置文件ignore列表,从列表中找到对应的OC语言需要忽略的文件就可以了。修改ignore文件删除某一类文件的命令在SVN版本控制的project中,drag文件到git版本控制下的project中时…

    2022年10月21日
    0
  • [TCP/IP] 基础知识总结

    [TCP/IP] 基础知识总结课堂笔记整理。IPMACARPICMP你需要掌握那些知识?

    2022年6月29日
    21
  • 哈希表与哈希冲突(手动实现哈希桶)

    哈希表与哈希冲突(手动实现哈希桶)一直在说哈希,你还记得哈希冲突吗?尝试过自己手动实现哈希桶来解决哈希冲突吗?挑战一下,你会发现源码也没那么难,嘻嘻?

    2025年7月24日
    1
  • 中国电信4g最快服务器IP,中国电信DNS IP地址大全(32个省)

    中国电信4g最快服务器IP,中国电信DNS IP地址大全(32个省)中国电信DNSIP地址,包括广东电信DNS,上海电信DNS,北京电信DNS,浙江电信DNS,江苏电信DNS等共全国32个电信省份的DNSIP地址。中国电信辽宁省沈阳市DNS59.46.69.66中国电信辽宁省大连市DNS59.44.126.20中国电信青海省西宁市DNS202.100.138.68中国电信新疆乌鲁木齐市DNS61.128.114.133中国电信新疆乌…

    2022年7月11日
    267

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号