看起来'const BYTE*'和'const LPBYTE'之间有区别,当我编译下面的代码时(只是一个例子):
void Test(const BYTE * c,const LPBYTE d) {
c++; // OK
*c++; // OK
d++; // ERROR
*d++; // ERROR
Run Code Online (Sandbox Code Playgroud)
}
我在visual studio上得到"你不能分配给const的变量",我在codeblocks上尝试了它,并且我得到了"只读参数'd'的增量".我也用过typedef BYTE* bytes但得到了同样的错误.
那么这里有什么,为什么我可以修改'c'而不是'd'?
如果我有一个包含 1024 个字符的字符串和一个简单的异或算法,它仍然很容易被破解吗?
const unsigned char Key[1024] = {0x.........};
void EncodeBuffer(unsigned char Buffer[],unsigned int Size) {
unsigned int i = 0,c = 0;
while (i < Size) {
while(c < 1024)
Buffer[i] ^= Key[c++];
i++;
c = 0;
}
}
Run Code Online (Sandbox Code Playgroud)