Android安全防护实用办法

最近一直做安全方面的业务,有一些理解总结一下

安全防护的有效方式

1.混淆     ★★★★★

最有用的方式之一,必须要做,

a.注意配置字典,最好不要用特殊字符,jadx反混淆之后,特殊字符会很被改写,最好是oO0、I1i这样的字典,github有很多,

b.形参混淆,局部变量混淆,这些东西默认是不会被混淆的,需要人工来做

2.加固     ★★★

免费的加固,基本上不管您是哪一家,都是白给,脱壳和加壳的技术一直是在对抗发展,但是免费的壳,用处十分有限,
现在的youpk方案脱壳机,对于免费壳都是一键通杀。vmp企业壳就不谈了,那个很安全了。

3.字符串加密     ★★★★★

字符串分析是破解者最重要的手段

有很多dex字符加密工具,比如stringfog,armPro,小纸片,等等都有,但是基本上也就防一下萌新

MT2的一键解密就可以把他们干掉了,

目前靠谱的字符串加密方案,还是本地直接用rsa公钥加密后的字符串,(自己代码可读的字符串就已经时乱码了)通过服务器下发加密后的rsa私钥,然后解密执行

内存不要保留真实的rsa私钥,而是保存加密后的rsa私钥,解密放在so层,并且so加固

4.so加固     ★★★★

主要是ollvm,地址,so不使用ollvm,就像java代码不混淆,

一般so加固都比较贵的,免费的有小密盾,但是免费的,能抵抗一部分破解者

5.dex2c,java2c    ★★★

把java代码,转成c代码调用执行,破解者看到的就是空方法,真实代码在执行时回填。加固厂商有提供的 arm 小纸片都有提供,会影响一些执行效率

6.虚假控制流     ★★★★

有免费提供的,小纸片 。有收费的MT2,MT2的方式呢配置比较方便,确实处理之后,代码逆向后的可读性大大降低。

7.签名校验     ★★★★

这个不好做,不管你做到java层,c层,都是能破解的,不过可以加上抵抗一会儿

8.风控策略     ★★★

主要就是针对破解者的假动作,比如

a.代码中检测自己apk安装包的md5,接口上报,(注意加密)

b.如果md5不正确,就随机退出,或者随机异常,重要的是随机,比如我发现你在破解我程序,我1分15秒后给你闪退。你能查出来原因不

其他策略比如root vpn 模拟器 xposed 等检测都可以用上,看自己喜欢

刚开始接触,了解的就这一些,说的不对,请指出。有用的就点个赞,大佬轻点喷。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值