|
想要得到QQ的加密算法,得到QQ的通讯数据只是不到1%的工作量,因为任何抓包软件都能够得到QQ的通讯数据,而且比WPE更好更详细。
# h7 M; `% h- s1 q第二步要知道QQ的通讯协议,这个网上能够查询得到
( c; k! z9 n: N7 M# q4 D3 _第三步才是分析加密算法,这个基本上很难很难 ^^)
2 F4 E# G3 V1 ]3 `- d不过伪造UDP包进行QQ的广播欺骗轰炸相对要容易些。% H& @$ }0 e7 f5 i
% @& P) _; e0 v附:OICQ服务器系统通讯协议
- I2 ` _, `( n& |/ n" h- g6 W/ h/ N协议说明:
( w- [* k! o) H/ z0 l/ d9 B# D; U! g
; u2 n3 b O. B. u" g, M5 o! R! y) T协议由报文头(T)+发送者(T)+接收者(T)+报文类型(T)+报文长度(L)+报文内容组成
1 W2 X; k2 W" @% C/ K7 K% E
3 s5 u4 w/ D* P! O发送者和接收者是系统内的程序种类,OICQ服务器01,传真服务器02,WEB服务器03,打印服务器是04,聊天服务器是05,OICQ用户是0A。 ) n) o4 j) O* @1 l3 m. T
9 ^. }0 A, c# i. w" i( R3 d6 U
OICQ用户到OICQ服务器的通讯协议 引导符 (81+0A+01)
1 Y2 w& g! _! k- ^8 s5 c2 R) z0 Z _6 w6 n0 |
报文类型 报文内容 报文说明! W/ x9 Y9 ^" h
1 D9 G0 Q1 {# I5 q# X$ {01 昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)新用户注册,身份验证用于当有人要将他加入好友时询问是否允许
: E9 y6 p; Q5 u) r, E( M" F8 d" Y% F1 j4 H- w
02 服务号(L)+密码(S)+注册方式(T)老用户注册,方式分为0正常,1隐身
4 K1 X2 W/ e$ w3 {, O0 C; X( u [0 s- W4 P" m# M
03 服务号(L)+对方服务号(L)+内容(S) 发送信息到某人: ^+ w# Q/ H# g$ \: t
, H( `1 S g! K4 P% ^# G04 服务号(L)+组号(L)+内容(S) 广播信息,组号=0为全体5 w! j# \7 [! u2 Y/ c3 _" O
8 S' x/ z8 Y7 b3 z' r% ]05 服务号(L)+朋友服务号(L) 查看朋友资料
& E3 i: p5 `# P& ^' E5 I# ]1 f6 Y3 W2 j4 m* S
06 服务号(L)+组名称(S) 增加组- B) b. e! S# b
" }! g, z$ s* j' j. m# l( v) v4 y
07 服务号(L)+组编号(T)+组名称(S) 修改组名称5 Y7 A9 M% w0 @* h6 ~7 W* x% x
* _7 l7 h2 |# A7 |4 l08 服务号(L)+组编号(T) 删除组0 X3 b" q- j9 n; N- {) }
( e* W! C0 T- {. ?5 c* A9 ]
09 服务号(L)+移动人数(T)+{朋友服务号(L)+目的组号(T)} 移动组成员
, i3 `! c+ X, h
$ t" s3 X: M9 u! W8 R0a 服务号(L)+起始编号(L)+回传个数(T)+查找标志(T) 看谁在线上+ l5 B% L# H1 f3 X, {: T
6 K9 A7 V2 S! m) o; i0 E
查找标志 1=向小找 2=向大找
1 h, d ? u6 v, F7 Q
" i7 W# Y( m; d( _, Z0b 服务号(L)+SQL语句(S) 自定义查找% q5 b: |# v( `! s& C$ ~
/ i/ U3 ?" y0 s; b, d0c 服务号(L)+朋友服务号(L) 增加好友. x4 m* e4 m2 V: H$ c) Z
7 g% o( M, L s* s
0d 服务号(L)+朋友服务号(L)+加入原因(S) 请求加入好友
" l- C( ~, }# Q+ V! O$ z- g" r/ @/ f
0e 服务号(L)+朋友服务号(L) 删除好友2 s0 }4 `% G) w+ M f
' J5 V g0 y$ P C- B, C+ \' c
10 服务号(L)+显示模式(T) 更改显示方式 1上线2隐藏3免打扰4离线
n$ r2 f; Q; o) B3 h3 E/ r" F! c6 l. Z7 a3 o0 N! m) m7 E# z8 U2 e
11 服务号(L)+监视服务号(L) 监视某人谈话
1 f% Z3 @: u& x& u+ R B8 l1 k% H7 N. _
12 服务号(L)+昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)更改用户基本信息' N% ?7 ]/ v3 M5 O4 |7 W/ Y6 r
* u) i) l' |1 K( s# H. [3 s13 服务号(L)+朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件
4 E. T% ^% s' d, y: A" p* b, r. k; K. m; f& j6 F# a* Z! ]' J
14 服务号(L)+朋友服务号(L)+允许/拒绝 是否允许发送文件- o' t. ` p& a; K
3 ~3 }; ?4 g& b, F15 服务号(L)+朋友服务号(L)+文件内容(B) 发送文件
2 _6 @0 s% R1 [5 R, U+ t/ }1 z: d5 H; V. e, z
16 服务号(L) 连接测试报文
! B, B3 B3 Z* ~4 n& l/ y! z6 |7 H7 v
17 服务号(L)+朋友服务号(L)+同意标志(T) 应答对方请求加入好友, ]1 {, Y5 S- W, w( ~+ g
4 T( O V! s1 U) R/ N& g' G$ u2 b4 @0=拒绝1 i6 B6 _3 R- ]0 g8 G- `2 e
! A( H3 \7 V# w9 m0 |2 C+ `1=同意
$ @# p! x5 A$ Y1 Q3 ?+ Z# N7 ?9 S0 k2 D5 v5 D
/ E3 a% ?" R0 s* M, O% Z
2 x5 F* Z; j2 ~! J' `. K+ r
OICQ服务器到OICQ的通讯协议) r) F. g0 d5 a) D
# ?) ]5 U$ `' U% o T
报文类型 报文内容 报文说明
$ ]/ K. J4 p" k5 m: @, T: u, K0 T3 W& K' c# n# F
01 成功/失败(T)+服务号(L) 新用户注册结果返回
' r+ I# x: M/ o( U" e ?6 f
3 j( [+ r2 X6 Q9 t02 成功/失败(T)+组个数(T)+{组名称(S)+组编号(T)+朋友个数(T)+{朋友服务号(L)+肖像编号(T)+朋友状态(T)+朋友昵称(S)] 老用户注册结果返回
" |* z( Y, b9 }- p4 m
1 H- u, B5 V3 a9 {6 B/ e g% ?. d朋友状态
, E6 y- V1 R6 E' ~6 w+ z5 Q( z
2 J9 Q' F. k4 H9 i5 I) `7 ]1=上线=2隐藏=3免打扰4离线
$ U8 N+ |% |& @# l5 E$ w+ r) l% g2 i4 \" e5 n8 {) h
03 标志(T) + 朋友服务号(L)+信息(S)+信息类型(T) 标志 1=系统 2=用户- S! w4 x; N$ Q
6 d, D/ C1 z7 ]- |' B$ N8 v
发送消息,服务号=0是系统消息
) L/ j, D. G3 Q @' V/ [* P! h2 R- s( ^
1=用户某某已经把你加为好友2 j( i) ^3 G5 z! R3 u( q9 [6 J
3 Y1 F2 h* _4 \2=用户某某请求你通过身份验证
+ c9 J. M' B: a- G. r; e; p) n9 Z- C
3=用户某某同意了你的验证要求
1 G! n. K" N% y4 C5 u4 v. z( x/ i. ]& ~6 h! o
4=用户某某拒绝了你的验证请求
& _- H3 [! Z+ U9 d+ @
; O5 F& e# B5 P' p04 成功/失败(T)+朋友服务号(L)+昵称(S)+肖像(M)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)朋友信息回送6 J+ [% Z3 S% L% Q3 u2 g( }: p
) E* ]; V: C5 l g: ?' v05 成功/失败(T)+组编号(T)+组名称(S) 增加组结果回送 1/0
8 z9 k! H1 i; k" F
6 `0 K! k. \" x5 ?: F06 成功/失败(T)+组编号(T)+组名称(S)修改组名称结果回送1/0- h% ]# ?: w3 w5 v
9 V8 [- C' C9 s; X, i* P- y; X. \8 W
07 成功/失败(T)+组编号(T) 删除组结果回送1/0
/ \( U8 M- P9 p0 r, D5 T* d
; w0 H' I! o( `% L* d) Z* F08 成功/失败(T) 移动组成员结果回送1/0
9 {+ g3 f. |$ p x j/ F- c d3 @: B( k3 V( i5 }- F: Z* k
09 成功/失败(T)+在线个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 查找在线人员结果回送
" w0 b, e2 R8 q: c* \& r" P1 `+ r0 f* I) n U% g7 T
0a 成功/失败(T)+找到个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 自定义查找结果回送(最多50)
" M8 t9 b* K: g/ F a+ h) e# n N* d
0b 标志(T)+朋友服务号(L) 增加好友结果回送标志
$ I5 r) @) Z' T
1 ], Y* {/ v+ u- V& u0=数据库失败* [+ P( B1 z. Y9 i h
) X) s& p0 t2 J=1成功
- R; v M2 b& A6 K
0 z- g) D) l, [7 n=2需要身份验证
) j9 e2 P" ]' i$ W( I. U; G5 Q
2 d# H7 n+ n% g5 M- d- S=3对方不允许加入
: J7 L6 J! x, c5 t& u; a- [5 e- f& v
=4需要身份验证且不在线4 S2 G9 m1 x% R' i9 l
! t3 @( z8 l7 j
0c 朋友服务号(L)+昵称(S)+肖像号(M)+朋友状态(T) 给在线用户增加好友
/ _8 h' j( n6 C
& X. c( z$ f2 i& h0e 成功/失败(T)+朋友服务号(L) 删除好友结果回送9 \, L2 D# J/ C; q3 Y
/ w6 R) a ~3 l; p
10 服务号(L)+显示模式(T) 显示模式回送 =1上线=2隐藏=3免打扰4离线/ `6 I7 D# }0 h' i. x8 D
/ O: a+ Z0 E0 [3 p& K11 成功/失败 更改用户基本信息结果回送! i6 a. T- q1 }$ {
) l9 ?+ F7 X3 k- {3 Y
12 朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件
* s% S& `3 G% n
: U3 F' \' ~: X( S, m7 I) w0 Q c13 朋友服务号(L)+允许/拒绝 是否允许发送文件 1允许 0拒绝3 G- F! o% W! g% I9 ^
% W/ X2 ?' p, v8 D; Z* ~
14 朋友服务号(L)+文件内容(B) 发送文件2 D# B6 g5 J" }/ ]) G1 r
8 M' g- p. C& z15 朋友服务号(L)+当前状态(T)朋友状态回送(系统发送)=1上线=2隐藏=3免打扰4离线
: ^) E6 c, b/ O; S. p7 H) w
/ ?8 k7 V g9 y, x16 服务号(L) 连接测试 |
|