***已得到(传奇封包)加密算法的源代码,谁能据此写个对应的解码过程啊?***
加密算法如下:(据说和base64类似)解码代码只要能把"Vba]Wc]eW_<lIn{GzXGZlxSRghc["解成"jianxin007/所罗门之蛇就可以了!"
int WINAPI fnEncode6BitBufW(unsigned char *pszSrc, TCHAR *pszDest, int nSrcLen, int nDestLen)
{
int nDestPos = 0;
int nRestCount = 0;
unsigned char chMade = 0, chRest = 0;
for (int i = 0; i < nSrcLen; i++)
{
if (nDestPos >= nDestLen) break;
chMade = ((chRest | (pszSrc[i] >> (2 + nRestCount))) & 0x3f);
chRest = (((pszSrc[i] << (8 - (2 + nRestCount))) >> 2) & 0x3f);
nRestCount += 2;
if (nRestCount < 6)
pszDest[nDestPos++] = chMade + 0x3c;
else
{
if (nDestPos < nDestLen - 1)
{
pszDest[nDestPos++] = chMade + 0x3c;
pszDest[nDestPos++] = chRest + 0x3c;
}
else
pszDest[nDestPos++] = chMade + 0x3c;
nRestCount = 0;
chRest = 0;
}
}
if (nRestCount > 0)
pszDest[nDestPos++] = chRest + 0x3c;
pszDest[nDestPos] = L'\0';
return nDestPos;
}