软件保护方法简析

no_proxy:

很多走fiddler之类的软件,走中间人的方式直接识别明文数据。但是app可以直接设置no_proxy不走代理,这样fiddler就无法抓包了

解决方式:无

域名前置:

不走普通dns的方式找到服务器真实的ip,而是使用第三方的服务,走dns得到真实想要的ip地址,比如可以通过google.com的dns,得到实际的telegram的真实ip。这个是谷歌官方提供的一个服务,telegram也使用了这个方式,让人无法知道哪些流量是telegram的,从而无法阻断。

解决方式:无

证书绑定:

中间人攻击需要使用使用假的证书代替真的证书,所以写代码的时候可以将真实的证书写在客户端,而后严重获得的服务器证书是否真实。从而识别出中间人攻击。

解决方式:xposed  just_trust_me模块可以搞定。

签名验证:

程序运行前检查签名,看是否改变。通常不要直接在Java层写一个签名验证,这样容易被破解,可以隐藏在某个Java层调用的so函数中。so层也不要写在最外层,最好是某个必须走的so调用中的一个子函数。

解决方式:kstool (好像是这个工具,没用过)

加壳,这个介绍的详细一点,参考我的另一个文章:

Android 加壳与脱壳方式总结

反调试,这个也是比较全面,参考另一篇文章:

其他方式不断更新中。有知道其他保护和解决方式的可以留言呀。

发布了40 篇原创文章 · 获赞 22 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/liutianheng654/article/details/89448877