Android 应用是不是几乎没有办法防破解?
无论是运行时签名校验也好,还是把核心逻辑写到 native 代码也好,感觉都能轻松反编译,得益于 jadx ,IDA 这些工具,so 库也能给你搞出 C 伪代码来,各种命名,逻辑一览无余。代码混淆也只是缓兵之计,加固算比较高级的,但一样可以脱壳,可能付费的那种会安全一点?他们又是怎么做防护的呢?如果一个 App 有会员功能,在各种逆向工具和熟手面前,是不是几乎没有办法防护?
会员功能放到服务端
ida 反编译 so 文件还是有些门槛的吧,倒是编译到 dex 的代码,不做保护真的很容易破解
这 Android 没关系吧,window 上的程序也是一样。加壳会增加破解难度,但是并不能防止破解。如果破解成本比收益低的情况下,就没有破解的必要了。感觉联网验证,把一部分功能跑在服务器上,这样破解的难度就很高了
理论上是,但是现实中这样的人又有多少呢?只要增加复杂性,总能拦住绝大多数人。这样就够了
逆向:花里胡哨。会员共享:我在听,你继续说。QX:该我上场了。开发者:up up up up up up up up up up up up up up up up up up up up up up bugs. win.还是我厉害。一看数据,付费用户 10 人,破解用户 1 人,白嫖用户 0 ,项目黄了。
会员验证肯定要联网啊。现在还有不联网的游戏么。付费、订单类的都交给服务器
现在一些加固做的还是挺牛逼的,自定义 linker ,混淆 so ,魔改 aes 算法,至少阻挡 98%的脚本小子
会找盗版的人本来就不是你的用户。
看看 TX ,敢 PJ 直接封号,管你是不是 VIP
我做过一点这方面的东西, juejin.cn/post/7079794266045677575 juejin.cn/post/7314558811111866418主要是因为业务本身不依赖后端,所以客户端做安全处理是不可避免的。虽然没法完全杜绝,但是应该可以提升一些门槛。
这是一个博弈,让破解成本>收益 就可接受了
联网的已经能破解了,直接拦截到本地破.
用 flutter 写
分析的挺好的,但是大部分开发者都选择裸奔
Play Integrity API ,可认为基本不可破解: developer.android.google.cn/google/play/integrity/overview?hl=zh-cn
以前国际上最猛的 USB 硬件加密狗,甚至自建虚拟指令的加密方式,都能被破掉,安卓上这些渣渣加密,就不用提了。想保密,老老实实用自建云服务。关键服务上云,其他不重要的服务放在本地就好。
逻辑放云端,另外要有安全运营,防破解并不是一锤子买卖。
感觉纯本地应用就比较难受了。
感觉也没啥门槛呢,IDA 可以直接转换成 C 代码,逻辑很容易就看出来了,就是要改代码需要懂汇编。
混淆 so 确实很需要。
感谢分享!
算是 Google 官方比较好的方案了。
主要看你 app 贵不贵,并实不实用
放服务端其实可以破解免登陆 vip 的
啥都是一句话容易,你自己去破解几个商业 app 试试容不容易呗
核心功能和核心验证放服务端,只能这样,别无他法
#19 dex 手机有现成工具可以看和改,这门槛比要用 pc 的 ida 要低吧,而且因为要支持反射,函数名还是保留的,像 so 一般就没有函数名,有个函数名对反编译帮助很大的
客户端软件不存在完全防破解的方法,默认客户端就是随便被人改的。现阶段可信执行就两条路径,云端执行跟可信加密硬件。当然硬件也不是完全不能破解。所以只需要让你的软件破解代价大于收益即可。例如一个版本一密
你关键服务放到云端,然后客户端万一遇到网络一不好,下一次续费直接 cancel ,损失一个大客户。
我们以前是用魔改加密算法+vmp 加固+行为日志分析,没上之前盗版满天飞,上了之后基本能防住
你必须做成“网络游戏”
用 Flutter 打包后的 APK 是不是没有这个烦恼。
我目前工作是 MFC 写桌面软件,业余时间也想写点其他的东西 但是每次看到服务器,图形学,或者数据库,我就在想,我现在学了,对我的工作也没有用处,那我学他干啥呢,这些和桌面软件…
各种机缘巧合之下,家里已经有四五种品牌的摄像头在用了,像是 360 、小米、tplink 呀,每次需要到各个 app 里去查看,摄像头有什么通用的方式可以在一个地方聚合使用吗?…
通过 http proxy server 暴露浏览器资源, 基于 webrtc, 是直连, 无需二次中转 具体请看视频演示: youtu.be/czWW5xlfcS8 当前测…