有没有分析过传奇网络通迅?

caimouse
人工智能领域优质创作者
博客专家认证
2003-07-10 01:00:47
昨天我装了一个私服,
然后下载热血,再装一点被丁,就可以在我单机上玩了,
后来我为了跟踪它网络通迅包,
写了一个网络登录服务器程序,接收MIR发来的TCP包,
但不会分解,看不明,有人分析过吗?
我大体看了一下,
主要是以#开头,以!为结束一个封包.
接#后面是包序列号,比如第一个包是1,第二个是2.
但帐号和密码,不知怎么样放到里的?
...全文
109 68 打赏 收藏 举报
写回复
68 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xxxno 2003-11-28
真强,回去就 研究
  • 打赏
  • 举报
回复
xzlzrsl 2003-11-02
根据wangjun_2002(王骏)的代码,写了个解密的,大家看看(wangjun_2002(王骏)的代码中nSrcLen变量用的妙,在解密的时候才发现,真是高手)
int jiemibase64(unsigned char *pszSrc, unsigned char *pszDest, int nSrcLen, int nDestLen)
{
int nDestPos = 0;
int nSrcPos = 0;
int yushu ;

if((nSrcLen%4)==1){/*printf("字节长度不正常!\n");*/return -1;}
while(nSrcPos<nSrcLen)
{ pszSrc[nSrcPos]-=60; nSrcPos++; }

nSrcPos = 0;
while((nSrcPos < nSrcLen) && (nDestPos < nDestLen))
{
yushu = nSrcPos%4;
switch(yushu)
{
case 0: pszDest[nDestPos] = (pszSrc[nSrcPos]<<2) | ((pszSrc[nSrcPos+1]<<2)>>6);
nDestPos++;
nSrcPos++;
break;
case 1: pszDest[nDestPos] = (pszSrc[nSrcPos]<<4) | ((pszSrc[nSrcPos+1]<<2)>>4);
nDestPos++;
nSrcPos++;
break;
case 2: pszDest[nDestPos] = (pszSrc[nSrcPos]<<6) | ((pszSrc[nSrcPos+1]<<2)>>2);
nDestPos++;
nSrcPos+=2;
break;
}
}
pszDest[nDestPos] = L'\0';
return nDestPos;
}
  • 打赏
  • 举报
回复
wqedsaa1 2003-11-02
做的好,顺便请各位高手也研究一下传奇3的编码方式,好象有点比一样;
这里是关于传奇2的:
http://expert.csdn.net/Expert/topic/2418/2418302.xml?temp=.8553278
  • 打赏
  • 举报
回复
xzlzrsl 2003-11-01
好象也不尽然啊,按照“我是谁”大哥的说法,加密以后的数据在60-123之间,然而我截获的数据不是这样的。
在密室里(只有我一个人),人物坐标不动,向同一个地点闪电,抓包后得到一组数据,其中三个服务器返回的数据是:
1、23 2b 47 4f 4f 44 2f 31 37 30 33 36 36 35 39 30 36 21 #+GOOD/1703665906!
2、23 2b 47 4f 4f 44 2f 31 37 30 33 36 36 38 32 39 36 21 #+GOOD/1703668296!
3、23 2b 47 4f 4f 44 2f 31 37 30 33 36 37 30 36 38 37 21 #+GOOD/1703670687!
不知道如何解释?
  • 打赏
  • 举报
回复
xzlzrsl 2003-10-31
小弟好佩服哦,有好消息通知我啊,,lhasa@126.com
  • 打赏
  • 举报
回复
gamerules 2003-10-31
楼上的无知
  • 打赏
  • 举报
回复
caimouse 2003-10-31
高手啊,
谢谢 demonstudio(我是谁) , tmman(铁提), wangjun_2002(王骏)


终于看到有人写出了解法,
不错,看来传奇传数据是通过BASE64编码的,
然后采用其它特别字符作为一个封包分隔.
这样看来是编程序比较方便,但会增加网络通迅量.通迅了1M实际数据,就要传3M数据.
不知这样对网络通迅压力大不大呢?

只要懂了这个,还有什么外挂做不了??
哈哈............................

  • 打赏
  • 举报
回复
wqedsaa1 2003-10-31
还请各位高手写个解码的函数啊!
  • 打赏
  • 举报
回复
tmman 2003-10-15
上面的加密算法完全正确,解密算法不难,可根据加密算法,写出解密算法。
  • 打赏
  • 举报
回复
feng1214 2003-10-15
feng1214@hotmail.com
Thanks
  • 打赏
  • 举报
回复
icedust 2003-10-15
晚了,不知道还可以发么?
sungsun@elong.com
  • 打赏
  • 举报
回复
wangjun_2002 2003-10-14
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;
}
  • 打赏
  • 举报
回复
tmman 2003-10-14
经分析:

“Vba]Wc]eW_<lIn{GzXGZlxSRghc[”的内容为:jianxin007/所罗门之蛇

“F^efVRAjZBajH?<sGxkuliw?mYVjnYxkHOLpJ?XpGoDlH”的内容为:**jianxin007/所罗门之蛇/144874/20

传奇2与传奇3采用了同一算法
  • 打赏
  • 举报
回复
HongHuer 2003-10-07
UP
  • 打赏
  • 举报
回复
snowwin 2003-09-18
up!
  • 打赏
  • 举报
回复
wuyunhong 2003-09-18
要1个 虽然看不懂 但是学习~! wuccced@163.com
  • 打赏
  • 举报
回复
wltsuj 2003-09-18
up
  • 打赏
  • 举报
回复
SilverSands 2003-09-18
呵呵,有趣,我喜欢!
  • 打赏
  • 举报
回复
jimzj 2003-09-17
slots.to999.com
  • 打赏
  • 举报
回复
beingjay 2003-09-12
UP!
  • 打赏
  • 举报
回复
加载更多回复(48)
发帖
游戏开发

8158

社区成员

游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
帖子事件
创建了帖子
2003-07-10 01:00
社区公告
暂无公告