首页 > 编程知识 正文

小程序调试模式如何关闭,微信小程序防止反编译

时间:2023-05-06 19:42:06 阅读:129293 作者:4609

我记得2018年,公司做小程序三方平台的时候,接触到了小程序的反编译。 网上博客说,一步一步操作,bingo,搞定,so easy!

很高兴能得到小程序的反编译源代码,但我的担心也渐渐浮现了出来。 如果我们的小程序被别人反编译了怎么办? 然后,我也反编译了自己的小程序。 反编译获取的代码竟然和源代码差不多。 本人大学修的信息安全专业在安全方面比一般开发者更敏感。 然后,我开始收集和寻找有什么防护手段。

经过几天的搜索,得出了微信小程序的安全性非常差的结论。 只能通过混淆基本代码来提高反编译后代码的可读性,微信只能期望自己修补和修复此错误。 我们自己的小程序,不管别人反编译,也就是抓破UI,有价值的逻辑都不会写在小程序里,暂时不用太在意。 之后,我忙于其他业务,不再关注这件事。

最近又负责了微信项目相关的业务。 在一个业务逻辑中,小程序端需要报告用户是否看到了广告,并根据用户看到广告的次数给用户一定的报酬。 如果报告信息的真实性得不到保证,那就尴尬了。 你先去查一下,小程序是否还被抓了反编译。 艹先生,快三年了,还没堵这个洞。 只是用了法律武器,破解工具在网上就那么难找了。

applet安全性现状:仍然可以反向编译数据包(数据包加载也同样可以反向编译)。 在捕获包后,如果您想重新编译盗版并使其在线,则无法执行任何操作,而只是代码混淆(代码混淆可以使用微信开发人员工具的混淆检查选项,也可以使用uniapp applet开发人员工具的本地配置中添加了代码保护选项。 网上说自然会下蛋,但我自己还没有尝试是否有用。 说一下现在的解决方案吧。

一.独立小程序。 不能防止别人反编译后,重新编译上线。 只能通过微信投诉和法律渠道解决,但很难达到想要的效果。

二.有网络交流的小程序。 虽然不能防止别人偷你小程序端的代码,但你可以驱逐那些无耻的人后再偷你的数据。 有几种方式。 第一,服务器将通过微信登录获取的token (用户感知不到)与令牌交换到服务器,然后将小程序传递给该服务器的数据需要通过微信服务器,如果未通过验证,则该小程序将被验证有效期内可以使用令牌与服务器交换数据。 第二,根据header的refer信息判断请求是否来自自己的小程序(https://servicew echat.com/{ appid }/{ version }/page-frame.html,) 三是使用云函数,将云函数用作一个网络请求的中间板。 自己的小程序只能与自己创建的云函数交互。 云服务还会与自己的服务器进行数据交流,但这一方案的缺点也很明显,50万次/天的上限访问有点漏洞,不够完善。

我们的小程序一定是需要互联网交流的小程序。 那么,如何满足我们的业务需求呢? 你选哪个好? 一眼就能看到,只有第三个能满足我们的要求,但由于访问次数的限制,我们不能使用它。 为什么呢? 分析一下吧。 我们不怕他们盗用我们的UI,也可以通过上述想法防止不让他们使用数据。 但是我们害怕他们报告一些非正常的数据。 如果不使用云函数方案,很难防止这一点。 为什么这么说,是因为小程序相当于裸奔。 不管你怎么和服务器交互,他们都扒掉了,没有剩下裤子。 他们会按照你要求的方法,要求你的API,在自己的账户里添加虚构货币(假设是虚构货币),然后只要换成虚构货币奖励,我们就会吃大亏。 云函数不同。 他们抓到了,但是不能正常触发我们的云函数,保证数据交换的正确性。

结论,小程序方面仍然不能舒适地保证安全性。 云函数是一种方法,但次数有限。 特别是开发一套保证通信安全的APP保证安全的方法,在小程序的反编译面前,是完全没有意义的。 当然,即使APP被反编译,被刮干净,也不能保证绝对安全。 然而,显而易见的是,APP反编译的难度远远高于小程序。 所以,正如你所见,小程序现在不要考虑代码层实现安全,而是在商业层着手吧。 尽量不要在小程序上做利润大的生意。 例如,类似于我们的业务(小计划方报告可以增加用户的虚拟资产,而且虚拟资产可以与实际报酬交换),当然类似的东西也可以(比如商业街),这是一个以7-11为标准的交互式业务

参考:

3359 developers.weixin.QQ.com/community/develop/article/doc/0006 ea e23 d 09 a 00693 a 81e c 0f 5b 813

3359 developers.weixin.QQ.com/community/develop/doc/0004 a6 Fe 6b cdd8B4 e 117368 d 05 BC 00? highline=反编page=2#comment-list

3359 developers.weixin.QQ.com/community/develop/doc/0004 a6 Fe 6b cdd8B4 e 117368 d 05 BC 00? highline=反编

3359 developers.weixin.QQ.com/community/minigame/doc/000 CEE 70 f E0 C08 f 46778 a 2656 c 01

3359 developers.weixin.QQ.com/community/develop/doc/000 aee5cc 24 b 90190 cf 67 ECB 751000? highline=反编

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。