android一些加密的总结

2018-12-13  本文已影响3人  假_f89c

总结下自己平时发现密钥硬编码的主要形式有: 

1、密钥直接明文存在sharedprefs文件中,这是最不安全的。 

2、密钥直接硬编码在Java代码中,这很不安全,dex文件很容易被逆向成java代码。 

3、将密钥分成不同的几段,有的存储在文件中、有的存储在代码中,最后将他们拼接起来,可以将整个操作写的很复杂,这因为还是在java层,逆向者只要花点时间,也很容易被逆向。 

4、用ndk开发,将密钥放在so文件,加密解密操作都在so文件里,这从一定程度上提高了的安全性,挡住了一些逆向者,但是有经验的逆向者还是会使用IDA破解的。 

5、在so文件中不存储密钥,so文件中对密钥进行加解密操作,将密钥加密后的密钥命名为其他普通文件,存放在assets目录下或者其他目录下,接着在so文件里面添加无关代码(花指令),虽然可以增加静态分析难度,但是可以使用动态调式的方法,追踪加密解密函数,也可以查找到密钥内容。

---------------------

作者:阿里聚安全

来源:CSDN

原文:https://blog.csdn.net/alimobilesecurity/article/details/51425629

版权声明:本文为博主原创文章,转载请附上博文链接!

上一篇下一篇

猜你喜欢

热点阅读