> 文章列表 > linux c++源代码,如何隐藏源代码中的常量字符串

linux c++源代码,如何隐藏源代码中的常量字符串

linux c++源代码,如何隐藏源代码中的常量字符串

首先,要对这个常量字符串进行加密。

然后,加密用的密码(密钥)需要进行特殊处理。

比如:要保护字符串123456,用密钥13579进行加密。

密钥13579的16进制数组形式为:{0x31, 0x33, 0x35, 0x37, 0x39, 0x00}

你可以对这个数组进行数据干扰。比如:高位乱填数据(因为你知道是3),低位都加/减某数值:

变为了:{ 0xA3, 0xF5, 0x67, 0xD9, 0x3A, 0x00 }

你在代码中对每一位进行恢复:

*p &= 0x0F, *p |= 0x30, *p -= 0x02,如此得到你的原始密码:13579;

反汇编看到的你的密钥串为:0xA3, 0xF5, 0x67, 0xD9, 0x3A, 0x00。

不知道你思路的话,只能碰运气猜啦。

在上面两种干扰方法基础上,你甚至还可以把高低位调换,这样就又加了一层干扰信息。

别人想破解也得好好猜一会了。

拔智齿技巧