To 墙头草,楼主: 300分要换源代码啊,你可真划算啊,你现在给我20万人民币我都未必会卖给你。
不过为了证明我不是吹牛,我把传奇的封包解密部分贴上来,这是我根据汇编翻译成C++的代码
的。反正传奇5月份要出新版了。
//---------------------------------------------------------------------------
int CMirCommand:
ecryptData(LPBYTE DataBuf,LPBYTE KeyBuf,DWORD DataLen,DWORD Max)
{
const temp[10] = {0x40,0x0,0xFC,0xF8,0xF0,0xE0,0xC0,0x8D,0x40,0x0};
//DWORD var_28;
BYTE var_23;
BYTE var_22;
BYTE var_21;
DWORD var_20;
DWORD var_1C;
DWORD var_18;
//DWORD var_14;
DWORD var_10;
//var_14 = DataLen;
var_18 = 2;
var_1C = 0;
var_20 = 0;
var_22 = 0;
//var_28 = DataLen;
for (var_10 =1;var_10<=DataLen;var_10++)
{
if (DataBuf[var_10-1]>=0x3C)
{
var_21 = DataBuf[var_10-1]-0x3C;
if (var_20<Max)
{
if ((var_1C+6)>=8)
{
var_23 = (var_21 & 0x3F & 0xFF) >> (6-var_18) | var_22;
KeyBuf[var_20] = var_23;
var_20++;
var_1C = 0;
if (var_18<6)
{
var_18+=2;
var_22 = var_21<< var_18 & temp[var_18];
var_1C += 8-var_18;
}
else
{
var_18=2;
}
}
else
{
var_22 = var_21<< var_18 & temp[var_18];
var_1C += 8-var_18;
}
}
else
{
KeyBuf[0] = 0;
break;
}
}
else
{
KeyBuf[0] = 0;
break;
}
}
KeyBuf[var_20] = 0;
return var_20; //返回解密后的长度
}
to wingerk: 这种东西不是用想的,猜的,全部的答案都可以在反编译的代码里面找到。传奇对我来说
是透明的,没有什么秘密了。盛大听说自己又组织了一帮人开发新传奇,看他们到时候能搞出什么
名堂来。哈哈
我很少上大富翁来了,因为现在的大富翁不像以前,大家热衷于某个技术问题的讨论,而充斥着是动不动就开口要源代码之辈,再这样下去,以后大富翁改成源代码交换论坛算了。