-
-
[求助]有人熟悉这种加密算法吗?
-
发表于:
2011-12-26 17:06
5329
-
voi Encrypt(char* pdst//要加密的数据,
int len//加密长度,
char* psrc//用来加密的缓冲区,有效的字节是255,后面用0填充了。
)
{
char key1 = psrc[256];
char key2 = psrc[257];
for(int i=0;i< len;++i)
{
key1 = (key1+1) % 256;
key2 = (key2 + psrc[key1]) % 256;
key1 = key2;//swap(&psrc[key1],&psrc[key2])
pdst[i] ^= (char)(psrc + ((psrc[key1] + (psrc[key2]) % 256 & 0xFF));
}
}
用来作加密的缓冲区,每次都会变换。
帮忙看看这个算法能否逆出来,或者逆向它所要努力的方向。
改正这个错误,不要误导他人:
key1 = key2;
这里其实是调用了swap函数
swap(&psrc[key1],&psrc[key2])
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)