QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11380|回复: 22

LumaQQ Debugger -- casper

[复制链接]
发表于 2005-5-22 12:35:07 | 显示全部楼层 |阅读模式
这是casper更改的 在windows下分析腾讯协议的工具。
程序来自LumaQQ的一部分。

这个是带jre的, 下载解压就可以运行。
使用方法, casper会马上贴出。

这是下载地址:
http://www.magiclinux.org/people/yunfan/debugger/LumaQQDebugger.zip
发表于 2005-5-22 14:22:50 | 显示全部楼层

LumaQQdebugger的用法

因为云帆的QQHacker是在linux下运行的,所以要分析的话,必须在windows下截包,到Linux下分析,系统切换很麻烦,所以我想找个替代的方案,lumaQQ也自带了一个调试器,我试了一下,还行,但是不支持本地的数据文件输入,为了和QQhacker一致,我就动手改造了一下。本来想把调试器从LumaQQ中单独分离出来,但是牵扯的东西太多,作罢。

主要的改动:
1.添加了Open Local Data选项,支持后缀为inDat,outDat的文件。
2.支持QQhacker的help文件,读入本地文件后,会显示出对应命令的帮助信息。
3.修改了初始参数的输入方式,Luma的调试器需要自己动手输入登录回复包的内容,现在你只需要打开截取的回复包数据文件,就可以了。
4.修改了一处包解析的问题


存在的问题:
在某些包的解析上还有问题,估计是因为QQ2005的包内容有所变化,按照2004的包格式解析,所以会出错,暂时没有能力修补这个bug:(


使用方法:
    1.运行debugger.bat文件,出现软件主界面(这个包自带了Java运行环境)



    2.首先你要做的就是打开一个回复包数据的文件,程序会弹出对话框要你输入QQ号和密码,这一步生成SeesionKey,注意你每次登录的SeesionKey不同,所以,只能用本次登录的Key解密本次登录的数据。



    如果你选择的输入包是登录回复包的话,程序会弹出对话框让你输入对应的QQ号和密码



    点击Ok以后,如果你的输入是正确的,那么在左边Packet一栏中将会出现一项Login Reply Packet,表示现在输入的是一个登录回复包,同时在Packet Format窗口中显示这个包命令的帮助文件。如果什么都没有出现,说明你的输入有误,可能是密码错了,也可能是号码错了,再来一遍吧:)



    选中出现的包,在点击Bytes标签,你就可以看到解密过后的数据。



    3.好了,现在我们已经有了SeesionKey,就可以分析包了,抓包,打开数据文件,Prase as Packet,Bytes……后面的和Luma的介绍差不多了,我偷个懒,你可以到下面的网址看看:)

http://lumaqq.linuxsir.org/article/lumaqq_debugger_part_1.html


    差不多就是这样了,我的Java也是刚学,大家将就着用吧。
回复

使用道具 举报

 楼主| 发表于 2005-5-22 14:55:56 | 显示全部楼层
鼓掌, 啪, 啪, 啪
回复

使用道具 举报

发表于 2005-5-22 14:57:41 | 显示全部楼层
好啊,好啊!
回复

使用道具 举报

发表于 2005-7-20 18:00:59 | 显示全部楼层
好象好多无效包 :( keepalive 包也无效?倒啊。。。
回复

使用道具 举报

发表于 2005-7-20 18:59:57 | 显示全部楼层
是解析失败么?一次登陆的SeesionKey只能解那一次的包,如果你曾经离线过,或者数据是其它QQ号的,就会解析失败,还有注意输入数据inDat和输出数据outDat,把debugger关了再重新来一遍,看看有没有问题。
回复

使用道具 举报

 楼主| 发表于 2005-7-20 19:12:00 | 显示全部楼层
另外,我说明一下, 在QQ2005 beta1 的协议中, 一些包的细节发生了变化,
不可以Helper文件中的描述为准。 具体可以参考eva 0.3.0 相关部分代码。
回复

使用道具 举报

发表于 2005-7-20 23:35:38 | 显示全部楼层
[quote:a59b9b97f6="casper"]是解析失败么?一次登陆的SeesionKey只能解那一次的包,如果你曾经离线过,或者数据是其它QQ号的,就会解析失败,还有注意输入数据inDat和输出数据outDat,把debugger关了再重新来一遍,看看有没有问题。[/quote]

是同一次登陆的, 某些包是可以解析的.只是不可以解析的数量有点多而已
也注意到了 inDat 和 outDat 的问题了.
还有就是 outDat 不能解析的比 inDat 的多

今天没什么时间只是随便试了一下
明天编译好 qqhacker 后,可以看看是什么问题了
也许是 qq2005 的协议更新问题

在此感谢 casper 和 yunfan 的辛勤劳动
回复

使用道具 举报

发表于 2005-7-21 13:19:17 | 显示全部楼层
嗯,有些包确实不能解析,不过LumaQQ实在是太庞大了,依我的Java水平暂时没有办法解决这个问题,我到目前分析协议都是用的这个东西,还行,未知包的解析好象没有问题:)
回复

使用道具 举报

发表于 2005-7-21 15:18:36 | 显示全部楼层
[quote:b5ec6fc616="casper"]嗯,有些包确实不能解析,不过LumaQQ实在是太庞大了,依我的Java水平暂时没有办法解决这个问题,我到目前分析协议都是用的这个东西,还行,未知包的解析好象没有问题:)[/quote]

不能解析登陆包 用 passwordkey 解析的时候失败
其他好象没发现什么大问题了
回复

使用道具 举报

发表于 2005-7-22 15:06:43 | 显示全部楼层
[quote:a7f548c7a9="xixixi"][quote:a7f548c7a9="casper"]嗯,有些包确实不能解析,不过LumaQQ实在是太庞大了,依我的Java水平暂时没有办法解决这个问题,我到目前分析协议都是用的这个东西,还行,未知包的解析好象没有问题:)[/quote]

不能解析登陆包 用 passwordkey 解析的时候失败
其他好象没发现什么大问题了[/quote]

问题解决了,解析登陆包的时候需要用随机密钥解密加密的片段,而不是整个包解。另外发现如果登陆模式是隐身的话,中间的“固定”不变的字符串会改变
回复

使用道具 举报

发表于 2005-7-23 10:02:59 | 显示全部楼层
COOL! 如果发现了以前未知内容的含义,那么你也可以完善这个协议了,加油
回复

使用道具 举报

发表于 2005-7-27 14:25:18 | 显示全部楼层
还有两个发现。
1、在某些机器上似乎没有发现解析错误,但是某些机器就比较多
2、如果出现解析错误,可以把包头和包尾删除,然后用Decrypt with session key
来当 frament 来解,通常都可以成功
回复

使用道具 举报

发表于 2005-11-18 10:40:24 | 显示全部楼层
为什么我下载的Debugger, 包解析成功了, 但Packet Format里没有对应的帮助信息呢.
回复

使用道具 举报

发表于 2005-11-18 10:52:39 | 显示全部楼层
没有对应帮助信息的包就是还没有分析的包,不过目前又增加了很多新分析的包,还没有更新,你可以看看协议分析的帖子,或者手动添加到path_to_debugger\help\(in)(out)里面的*.help文件中。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-27 06:41 , Processed in 0.128881 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表