LumaQQ Debugger -- casper
这是casper更改的 在windows下分析腾讯协议的工具。程序来自LumaQQ的一部分。
这个是带jre的, 下载解压就可以运行。
使用方法, casper会马上贴出。 :)
这是下载地址:
http://www.magiclinux.org/people/yunfan/debugger/LumaQQDebugger.zip
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运行环境)
http://www.magiclinux.org/people/yunfan/debugger/images/mainwindow.jpg
2.首先你要做的就是打开一个回复包数据的文件,程序会弹出对话框要你输入QQ号和密码,这一步生成SeesionKey,注意你每次登录的SeesionKey不同,所以,只能用本次登录的Key解密本次登录的数据。
http://www.magiclinux.org/people/yunfan/debugger/images/open0022.jpg
如果你选择的输入包是登录回复包的话,程序会弹出对话框让你输入对应的QQ号和密码
http://www.magiclinux.org/people/yunfan/debugger/images/open0022-1.jpg
点击Ok以后,如果你的输入是正确的,那么在左边Packet一栏中将会出现一项Login Reply Packet,表示现在输入的是一个登录回复包,同时在Packet Format窗口中显示这个包命令的帮助文件。如果什么都没有出现,说明你的输入有误,可能是密码错了,也可能是号码错了,再来一遍吧:)
http://www.magiclinux.org/people/yunfan/debugger/images/open0022-2.jpg
选中出现的包,在点击Bytes标签,你就可以看到解密过后的数据。
http://www.magiclinux.org/people/yunfan/debugger/images/open0022-3.jpg
3.好了,现在我们已经有了SeesionKey,就可以分析包了,抓包,打开数据文件,Prase as Packet,Bytes……后面的和Luma的介绍差不多了,我偷个懒,你可以到下面的网址看看:)
http://lumaqq.linuxsir.org/article/lumaqq_debugger_part_1.html
差不多就是这样了,我的Java也是刚学,大家将就着用吧。 鼓掌, 啪, 啪, 啪 好啊,好啊! 好象好多无效包 :( keepalive 包也无效?倒啊。。。 是解析失败么?一次登陆的SeesionKey只能解那一次的包,如果你曾经离线过,或者数据是其它QQ号的,就会解析失败,还有注意输入数据inDat和输出数据outDat,把debugger关了再重新来一遍,看看有没有问题。 另外,我说明一下, 在QQ2005 beta1 的协议中, 一些包的细节发生了变化,
不可以Helper文件中的描述为准。 具体可以参考eva 0.3.0 相关部分代码。 是解析失败么?一次登陆的SeesionKey只能解那一次的包,如果你曾经离线过,或者数据是其它QQ号的,就会解析失败,还有注意输入数据inDat和输出数据outDat,把debugger关了再重新来一遍,看看有没有问题。
是同一次登陆的, 某些包是可以解析的.只是不可以解析的数量有点多而已 :(
也注意到了 inDat 和 outDat 的问题了.
还有就是 outDat 不能解析的比 inDat 的多
今天没什么时间只是随便试了一下
明天编译好 qqhacker 后,可以看看是什么问题了
也许是 qq2005 的协议更新问题
在此感谢 casper 和 yunfan 的辛勤劳动 :) 嗯,有些包确实不能解析,不过LumaQQ实在是太庞大了,依我的Java水平暂时没有办法解决这个问题,我到目前分析协议都是用的这个东西,还行,未知包的解析好象没有问题:) 嗯,有些包确实不能解析,不过LumaQQ实在是太庞大了,依我的Java水平暂时没有办法解决这个问题,我到目前分析协议都是用的这个东西,还行,未知包的解析好象没有问题:)
不能解析登陆包 :( 用 passwordkey 解析的时候失败 :(
其他好象没发现什么大问题了:) 嗯,有些包确实不能解析,不过LumaQQ实在是太庞大了,依我的Java水平暂时没有办法解决这个问题,我到目前分析协议都是用的这个东西,还行,未知包的解析好象没有问题:)
不能解析登陆包 :( 用 passwordkey 解析的时候失败 :(
其他好象没发现什么大问题了:)
问题解决了,解析登陆包的时候需要用随机密钥解密加密的片段,而不是整个包解。另外发现如果登陆模式是隐身的话,中间的“固定”不变的字符串会改变 COOL! 如果发现了以前未知内容的含义,那么你也可以完善这个协议了,加油:mrgreen: 还有两个发现。
1、在某些机器上似乎没有发现解析错误,但是某些机器就比较多
2、如果出现解析错误,可以把包头和包尾删除,然后用Decrypt with session key
来当 frament 来解,通常都可以成功 为什么我下载的Debugger, 包解析成功了, 但Packet Format里没有对应的帮助信息呢. 没有对应帮助信息的包就是还没有分析的包,不过目前又增加了很多新分析的包,还没有更新,你可以看看协议分析的帖子,或者手动添加到path_to_debugger\help\(in)(out)里面的*.help文件中。
页:
[1]
2