一个反侦察能力超强的小程序被恶心到了

Origin,一个超强反侦察能力的小程序

今天朋友给我推荐了一款小游戏,建议我看看。我不假思索地打开它,真的被它恶心到了。废话不多说小程序游戏开发用什么语言,先录视频吧:

点击共享小程序后,会自动跳转到第二个小程序,第二个小程序瞬间直接跳转到一个小游戏。

仅仅自动跳跃是不够的。如果你使用的是iPhone,可以将这三个小程序一一关闭,返回聊天界面。但是,如果您使用的是 Android,抱歉,您将在无限关闭-自动-打开循环中卡在第二个和第三个小程序之间:

是的,你不能出去!手速再快也无法正常返回聊天界面,让你无限畅玩这款小游戏!

当你使用完全关闭微信的方法,恢复正常状态时,你首先想到的应该是举报。在Android端,我们还没有找到只进入第一个小程序的方法,暂时无法实现上报;iPhone端,依次退出,返回第一个小程序,然后点击左上角的举报进入投诉界面,系统提示我们上传证书截图:

但是当你回到小程序界面截屏取证时,小程序会自动关闭!

它会自动关闭!

离开!

如果您有耐心,请尝试再次打开它,您会发现,您!再次!还!打!不!打开!!

就问你,接受不接受!

这个小程序开发者绝对是高手,反查能力很强!他从一开始就知道这会激怒你,被你举报,所以他在举报的关键环节中加入了反侦察技术,让你在案发现场找不到任何证据!

常规分析

这种野路子西哥最喜欢了。我们先简单梳理一下它的实现逻辑。整个过程涉及三个小程序,我们可以在小程序历史页面找到它们:

让我们从后到前访问它们,看看“无限循环”操作从哪里开始。

游戏没问题

我直接打开了这个射击小游戏(小程序历史列表中的序列号3),然后点击退出,发现可以正常退出,截图也正常。说明恶心不是在小游戏里,只是最后的呈现,也就是说无限这个打开的操作,可能是它家的导航小程序(序列号2))造成的。

导航小程序没问题

还有,直接打开导航小程序(小程序历史列表中的序列号2),打开后不会自动跳转到小游戏,可以正常关闭,截图也不会触发自动关闭。那也就是说,正常情况下也是没问题的,只有被特殊环境“刺激”,才会刺激到它的疯狂状态。

所以问题一定是第一个applet。

第一个小程序唤起了其他小程序的疯狂

由于之前的截图是被小程序“录制”的,所以我们需要在再次打开这个恶心的小程序之前清除缓存。清除历史后,打开这个小程序,疯狂的无限循环再次出现……

拿起代码

既然你这样做了,就别怪我砍代码了。

我通过特殊渠道翻出了这个计算器小程序的JS源代码。我大致了解了它的基本实现逻辑:

在onShow或onLoad函数中使用wx.navigateToMiniProgram接口直接跳转到导航小程序;跳转时,在wx.navigateToMiniProgram接口的extraData参数中将变量传递给导航小程序;普通导航小程序通过extraData接收到extraData参数后,激活隐藏在其代码中的自动跳转脚本,进入疯狂的无限循环状态。

第一个小程序的部分JS代码:

至于截图小程序的自动关闭功能,可以通过wx.onUserCaptureScreen监听手机的截屏事件。一旦用户截取屏幕截图小程序游戏开发用什么语言,路径就可以关闭。

代码显示如下:

问题和思考

1. 巨大的盈利潜力

目前业界对小程序广告的计费方式有CPM和CPC两种。参考价格如下:

回想一下,如果你的手机是安卓手机,那几下死循环的点击可以为那个导航小程序赚 2-5 元。如果把这个恶心的小程序组合分享到100人的活跃群里,按照10%的打开概率,他至少能赚20-50元。

目前该导航小程序展示了20款小游戏,小程序还绑定了20+公众号。

这么大的盈利空间,我一个人当然不敢享受,这么小的程序不止这一个。有朋友还和我分享了另一个具有相同神奇功能的小程序。它没有名字,头像是心目中的王者,进入小程序时有一个明显的按钮引导用户点击。单击后,您将进入相同的无限循环…

这一个也更残酷。点击后跳转的次数太多了,你甚至不知道你访问了哪些小程序!此外,无限循环是嵌套的,并且此按钮出现在您输入的每个小程序中。

2.没有规则

在小程序关联规则方面,通过使用“侨联”,可以实现大量小程序跳转。

通过本文曝光的小程序跳转方法,理论上你可以在所有小程序中随意跳转,只要你愿意。

在官方的操作文件中,只写了“不允许”,但对执行没有任何限制。平心而论,申请userInfo的时候,一定要弹出一个窗口。为什么跳转小程序可以直接跳过用户权限?

3.审核能力不足

用户体验这么差的小程序能通过审核,一方面是开发者的伎俩,另一方面也说明了目前审核团队对小程序能力的欠缺。

据我了解,目前有不少小程序采用“只向审核组展示基本功能,上线后再调用全功能”的方式绕过审核。公平地说,这种通过审判的方式有点边缘,但确实有效!首先,为如此大量的审查工作雇佣具有代码审查能力的人员的成本是无法估量的;另一方面,逐行审查代码甚至只是功能代码审查是不现实的。因此,在小程序审核过程中,审核人员可以检查基本功能是否齐全,是否有红包等违规功能,被认为是专业的。

因此,这款隐藏“核心功能”的计算器可以轻松通过审核。

4.要让开发语言背锅吗?

诚然,政府当然没有足够的精力与广大程序员抗衡,但至少应该表现出对自己语言的掌控力吧?如果这种强行跳转的垃圾无法控制,和20年前病毒木马满天飞的windows98有什么区别?你想在微信小程序“系统”中开发一个360来帮助你“杀毒”吗?

话虽如此,导致Android陷入死循环的bug,iPhone端什么都没有,还是用swift开发小程序吧。

多于。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论