下你所需,载你所想!
汇集开发技术源码资料

加密字符串防止被调试搜索

:246.188KB :1 :2024-04-15 10:13:13

部分简介

在分析调试时,分析者经常会将无意义的函数名改成有含义的名字,使便于理解。
字符串加密是一个非常传统的代码保护方案,在android的逆向过程中会涉及到java代码和C\C++代码,通常在做逆向过程中第一步一般就是反编译后查看代码中是否有包含一些可以作为突破口分析的字符串信息。
字符串信息的加密的影响只到静态的逆向分析这一步,字符串信息信息在实际业务运行过程中必然需要进行对字符串的操作,那这个就涉及到了对加密字符串的解密过程。这个运行态也就是在对app进行利用动态调试分析过程中都是赤裸裸的展现出来。这是时候字符串的加密就显得苍白无力了。因此可以通过反调试和字符串加密这两者的入门的动态和静态方式结合,稍微提高代码的安全性。
字符串加密算法基础
所谓字符串加密技术是指将一个信息(或称明文)经过加密钥匙及加密函数转换,变成无意义的密文,而接收方则将此密文经过解密函数、解密钥匙还原成原字符串。
字符串加密免不了采用加解密的算法,加解密算法的加解密方式和加解密强度直接决定了被攻破的时间成本。
字符串加密算法有简单的异或方式;通用的AES、DES、RSA、Base64、MD5散列函数等等;相对有难度的自实现加解密算法、冷门的加解密算法。
不过一般情况下,作为开发者一般不太可能自己去造轮子写加解密算法,一般都是直接就套用网络上稳定的、标准的加解密算法。其实如果从相对安全性来说,可以找那些冷门的加解密算法用于保护字符串。这样相对网络公开资料比较少,并且分析的人相对比较少,分析起来时间成本就相对比较高。

加密字符串防止被调试搜索

热门推荐

相关文章