最近玩 XX 手游,为了方便挂机,于是想用模拟器挂机,就不用占用手机了。但是这个游戏屏蔽了模拟器,直接模拟器安装会把检测出来。然后网上搜索了一番,找到了这个网站 https://www.duokaiya.com/ 。这里面提到了安装他提供的 xposed 模块,然后就能过检测。我本以为是他自己写了个 xp 模块,想着这网站还挺厉害的,这么专业。于是掏了 20 软妹币,从这里买了一个 xp 模块,但是装上后我一看,这尼玛不就是大名鼎鼎的”环境变量“吗?但是他还专门改了一个名字,再写上他网站的 logo 。
于是我便好奇,他这会不会和原版有修改,进行了优化?于是我找到了环境变量的开源代码 https://github.com/kingsollyu/AppEnv 然后和他这个软件反编译后的代码对比。
对于一个 XP 模块,先看最核心的 xposed_init 文件,这个文件是 xp 的入口类文件,结果里面内容完全一致。这说明他这软件肯定是从开源代码 fork 来的。
然后又对比 xposed_init 里面提到的 MainXposed 类,这个类是 XP 模块的核心功能实现。结果这里面完全一样。
那么他只是简单换皮改名字拿来卖吗?但是我看了一眼代码目录结构,肯定不对,反编译代码中多了几百个包,只是换皮的话,引这么多包进去干嘛,吃饱了撑着了吗。于是我开始对比应用的 MainActivity 代码。虽然反编译代码经过混淆,但是一番对比还是找到了不一样。反编译的代码中多了两行
UMConfigure.preInit(this, "6225a3d0317aa87760832ef1", "app");
UMConfigure.init(this, "6225a3d0317aa87760832ef1", "app", 1, "");
这是个什么玩意呢,网上一搜,哦,似乎是广告联盟。
然后我又仔细看了看 xposed 部分代码,发现并没有在 xp 上面动手脚,仅仅是换了个皮,然后加了个广告联盟 sdk 进去而已。
看我他这代码后,我觉得作者要么是有良心的,要么就是没啥技术的。这要是我,既然都要这么搞赚钱了,干嘛不更进一步,你都有 xp 模块的权限了,你直接 hook 所有应用 MainActivity 类的 OnCreate 方法,然后给所有应用都注入你的广告联盟代码,岂不美哉,用户打开所有应用都能给你赚钱了。而且用户还不会骂你,只会去骂其他应用满屏弹广告。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.