1
InkStone 2019-12-20 16:50:22 +08:00
我就说点比较简单的方案:防止逆向用 OLLVM; 防调试检测 ptrace; 防止放到别的地方用,可以多调用一些 Java 层的函数。
|
2
ai277014717 2019-12-20 17:21:48 +08:00
加一层基于 appid 校验
|
3
forrestvxu 2019-12-20 18:50:52 +08:00
各大加固厂商都有 So 保护的方案,比如 360 家的加固保,有 So 防盗链的功能,应该可以满足你的要求
|
4
cxl008 2019-12-20 19:39:43 +08:00
1、native 源代码混淆
2、加壳 ,就你自己那一个 so 的话 就用 upx 吧 3、native 代码里面 反射调用 java 一些函数,或是读一些值 4、native 代码里面查自己 maps 里面,app 相关的其他 so 是否都在 6、加密算法不要用 java 层,自己找 c 代码编译进去调用,base64 的常量串 和服务器上同步篡改一些序列 7、key 加密算法尽量小众 8、so 里面反射 java 层,获取拿到签名 md5,包路径(计算 hash),作为明文内容 参与加密,服务器校验 9、如果你自己会修改 elf 的话其实还能做更多,不过那涉及到很多专业的加固方案了,一两个人短期搞不定 10、比较重要的一点,不要在 native 层直接拒绝服务 返回错误 或是 制造崩溃!所有获取到的东西,参与加密,服务器判断后拒绝服务! |
5
cxl008 2019-12-20 19:58:26 +08:00
11、key 不要明文编码,可以通过二次运算得出真实 key
|
7
huruwo 2019-12-23 10:56:28 +08:00
简单的就是使用付费加固
一般的应用没什么大的破解价值,看到壳就会放弃了。 |
8
zsxzy OP |
9
cxl008 2019-12-31 10:15:47 +08:00
/proc/selfpid/maps
|