代码或者思路,密钥层面的,不用 c 的代码
1
InkStone 2020-05-20 09:53:26 +08:00 1
你这个“密钥层面”指的是什么?要隐藏你 APP 中的密钥么。用白盒加密就好了。
最简单的方法当然是直接买加壳服务,不过免费的那种基本没有,得指令抽取级别的壳才有点防护能力。 不想花钱,自己弄的话,就是字符串混淆+控制流混淆+动态代码加载。不过用处也不大,Java 层做不到什么很强有力的防护。 |
2
ai277014717 2020-05-20 09:53:54 +08:00
功能全都做到服务端上。
|
3
atfeel 2020-05-20 09:59:34 +08:00
一样被这个问题困扰,加壳服务有哪个能推荐下的,个人 APP,不是公司。价格太高用不起
|
4
ColoThor 2020-05-20 10:23:48 +08:00
全部东西都从服务器端取,权限也是服务端判断。另外混淆是最基本的,自己不写 c 代码,只能用第三方服务,java 转 c 的最好,不过价格高,性能也会降低
|
5
zoharSoul 2020-05-20 10:24:01 +08:00
关键功能依赖服务端.
|
6
blackfire 2020-05-20 10:33:05 +08:00
密钥层面?所以是啥?
|
7
Cmdhelp 2020-05-20 10:49:29 +08:00
只能提高破解者的逆向成本,没有绝对的反破解
|
8
jacklin96 2020-05-20 11:21:02 +08:00
用 flutter 写+自带混淆就完事了 能过滤掉一大批用脚本的
|
9
wujieyuan 2020-05-20 11:31:43 +08:00
所有功能和数据都做到服务端, 用 RSA 非对称加密, 这样就无法篡改服务端的数据也就无法破解. 服务端的数据加上时间戳, 防止被缓存.
如果仅仅靠客户端去做防破解, 可以告诉你, 没有任何可能, 哪怕什么加壳混淆都只是增加破解难度, 只要想破解早晚能破 |
10
ccpp132 2020-05-20 12:24:52 +08:00 via Android 4
加壳只是坑正版用户,单机应用防不了破解的。让正版用户体验好点吧
|
11
LokiSharp 2020-05-20 12:28:15 +08:00 via iPhone 1
把部分逻辑放到赴约,通过验证后下发
|
12
uTOmOuk3L6sb4MSI 2020-05-20 12:32:25 +08:00 via iPhone
https://i.loli.net/2020/05/20/FutIJHpBQc6UTGD.jpg
一、数据加密 二、用 SSL Pinning 三、api 权限服务器校验 我使用 quanX,发现大多 App 响应体没加密,可以直接修改,达到 vip 身份;而且 vip 功能基本上能正常使用,所以建议以上三点一定要做足够。 web 要用到的接口用 1 、3,App 应该用 2 就够了,App 方面不了解,我不是 App 开发,以上是个人破解过程发现的现象。 |
13
uTOmOuk3L6sb4MSI 2020-05-20 12:39:18 +08:00 via iPhone
补充,以上只是修改 api 响应体达到破解 vip 功能,并不需要自己去改 App 。
改 App 那有用正版劫持方便。 |
14
uTOmOuk3L6sb4MSI 2020-05-20 12:44:48 +08:00 via iPhone
SSL Pinning 还能防羊毛党,防自动签到等效果。
api 用户身份服务器校验,是否能使 App 反破解也没办法正常使用? |
15
ccloudk 2020-05-20 12:49:31 +08:00 via Android
老王?
|
16
tetora 2020-05-20 12:56:26 +08:00 1
小软件价格定低一点 8 块以下,基本没人去破解了
|
18
fyooo 2020-05-20 15:14:35 +08:00
如果是 Android 的话,ProGuard 有什么不足么?
|
19
tankren 2020-05-20 15:53:59 +08:00
卖便宜一点
|
20
dullwit 2020-05-20 16:45:20 +08:00
客户端没有绝对的防破解,只是难度高低而已。包括 so 库不混淆,防动态 load 等手段,跟明文没啥区别,所以别单纯以为写 c 就能防止破解了。
|
21
murmur 2020-05-20 16:53:15 +08:00 1
后端越重破解越没用,所以避开工具类软件
|
23
heart4lor 2020-05-20 18:57:26 +08:00
ssl pinning 依然是可以被跳过的,hook 掉本地相关验证的逻辑就可以。任何本地做的验证计算都可以被跳过,破解成本问题。想彻底解决只有全部放到服务端运算和验证
|
24
xFrye 2020-05-20 19:16:08 +08:00
你能在网上搜到的方案,基本上都能被逆向,只是门槛差别。真要安全验证只能交给服务端做
|
25
Jirajine 2020-05-20 19:44:09 +08:00 via Android
核心思路就是堵不如疏,破解只有让本来会买正版的用户不买才会造成损失。基于这个思路:
防护只做基本的,简单的验证下签名、传输加密,方便的话移到 so 里(如果 app 原本用不到 so 那也没必要做),能挡住脚步小子、不被一键 K 掉就行。影响正常用户的加壳、影响调试的混淆都没必要做。 对那些破解的,自用的不用管它,没什么影响。发布分享的只管能跑就行,所以留点暗桩,不要直接 crash 他们就不会额外花精力去掉。暗桩弄点小 bug,莫名少点数据让盗版用户不那么舒心,然后随机弹个窗警告用户盗版不安全啊、有 bug 之类的,再给点小优惠引导他们购买。把那些分发盗版的当成推广渠道,他们用习惯了,再加上盗版用着不爽,自然就会乖乖入正。 |
27
hyshuang2006 2020-05-20 21:57:53 +08:00
@tetora 别人在网上一搜,绿色版本,免安装,不要钱啊!!!
|
28
mtdhllf 2020-05-20 23:45:18 +08:00
360 加固啊,免费的已经够用了~
|
29
keymao 2020-05-21 09:02:01 +08:00
1.法律层面
2.做成服务 3.花钱购买加固产品 |
30
uestcfei 2020-05-21 09:04:10 +08:00
免费的加固:腾讯、360 、邦邦加固、爱加密 我觉得都够用了
|
31
dearmymy 2020-05-21 10:12:51 +08:00
我是搞逆向的。你个人自以为加密再好都没用。安全这块交给专业人。
用的人不多,那就找些免费的混淆,ollvm 啥的。 用户量大了,可以去买些专业的。 |
32
vove 2020-06-06 16:57:22 +08:00
核心代码用 c 写 + 混淆
|