|
想要得到QQ的加密算法,得到QQ的通讯数据只是不到1%的工作量,因为任何抓包软件都能够得到QQ的通讯数据,而且比WPE更好更详细。
& b O, |9 Q& b, ?) e. D4 ^8 q第二步要知道QQ的通讯协议,这个网上能够查询得到
' V) ~8 z9 w3 m; Q- Y第三步才是分析加密算法,这个基本上很难很难 ^^)( @( Z3 w3 o/ b5 r: f+ a# ]
不过伪造UDP包进行QQ的广播欺骗轰炸相对要容易些。4 _" ]" k# R1 \5 k5 r% I
+ q \. X6 t; I7 E$ U附:OICQ服务器系统通讯协议" }0 }! S. [- p& Q6 ?
协议说明:
7 w* t& g9 m0 O3 V4 y8 _6 s+ {# Q$ d6 J
9 x+ P% r& J/ k
协议由报文头(T)+发送者(T)+接收者(T)+报文类型(T)+报文长度(L)+报文内容组成
- z" v, b _$ K$ Y- x& N/ y
# O' o0 R' e* P发送者和接收者是系统内的程序种类,OICQ服务器01,传真服务器02,WEB服务器03,打印服务器是04,聊天服务器是05,OICQ用户是0A。 7 F5 Z+ I& b- b1 ]/ B7 p n% U
0 X P p% J, K7 [' H. \
OICQ用户到OICQ服务器的通讯协议 引导符 (81+0A+01)0 h j7 x: W; Q& Z: Z; X7 A$ A
+ t5 T# \7 m5 c5 p5 K! b4 y9 M: u报文类型 报文内容 报文说明9 q9 ~; l& L+ }0 a7 i7 j
# S f% y% Z2 x1 c; a
01 昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)新用户注册,身份验证用于当有人要将他加入好友时询问是否允许
1 k" a/ `4 A# e+ j0 w. N: c0 g5 h; z' U' V, E" ?: g. s0 ?1 Q
02 服务号(L)+密码(S)+注册方式(T)老用户注册,方式分为0正常,1隐身
2 x1 {6 ~& v# C6 f0 w. _; N7 H
# j1 m5 D; z* I03 服务号(L)+对方服务号(L)+内容(S) 发送信息到某人
4 D' x7 C! \1 K( T8 [
, i6 n+ L+ K$ w0 e( q04 服务号(L)+组号(L)+内容(S) 广播信息,组号=0为全体8 \. n6 m# T) S, v9 v
# {5 t5 l. e' R5 _" Q
05 服务号(L)+朋友服务号(L) 查看朋友资料! S% v2 V' x' F: W* q* Z3 y
8 `, N7 K. k2 j- B( h5 M06 服务号(L)+组名称(S) 增加组
7 w- _7 g: h- T1 Y! Y! h: h) X# c9 P) { G5 k
07 服务号(L)+组编号(T)+组名称(S) 修改组名称
8 ]' R0 V$ a$ d4 }+ r. p4 Z8 r( }8 S5 {5 n: J5 C
08 服务号(L)+组编号(T) 删除组* S; B4 e w" m {( X) s' N. Z
, }5 }: k K/ s2 U; C% Q4 @* f09 服务号(L)+移动人数(T)+{朋友服务号(L)+目的组号(T)} 移动组成员
. |# g) L9 ~% k( Y* ^8 b; q0 X j! ?* }+ O9 o( e1 T
0a 服务号(L)+起始编号(L)+回传个数(T)+查找标志(T) 看谁在线上
( @7 B }; ~3 b+ O! }' ] x- ?% I7 `; _1 ^2 K, I! f5 G4 g* s+ X
查找标志 1=向小找 2=向大找
" A- I, T, n& E2 Z. u
% s. p9 A+ t5 E" k+ ?0b 服务号(L)+SQL语句(S) 自定义查找
4 m1 M$ Q1 K7 I1 f; i* F/ Q" r' h' y1 S4 L. d- L
0c 服务号(L)+朋友服务号(L) 增加好友& z- I8 Q0 c! M! C
2 B2 T- w' R/ H! z9 n" Q# z( c
0d 服务号(L)+朋友服务号(L)+加入原因(S) 请求加入好友3 k, i n4 a4 m" I+ ~8 A& N
. B7 t& n. [: H, p' S _
0e 服务号(L)+朋友服务号(L) 删除好友# I; c% a8 j& T5 F
# u9 c. m9 ~8 X- y( c10 服务号(L)+显示模式(T) 更改显示方式 1上线2隐藏3免打扰4离线
; K6 [1 W: r5 y, K* ?$ |2 ?* f/ x1 ?4 h- R
11 服务号(L)+监视服务号(L) 监视某人谈话
/ s. {6 u& A d; E2 m' _) o6 y/ C
9 g* `: e, Y9 a" Q _12 服务号(L)+昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)更改用户基本信息/ ]% u: T9 y: M/ }
, ]8 ?. Z3 V+ s% D2 ]7 W& @& \
13 服务号(L)+朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件4 O+ h: a8 v; t9 X' }1 \
% X! t6 ?) N9 z* l9 h0 r" p5 e14 服务号(L)+朋友服务号(L)+允许/拒绝 是否允许发送文件. c# X4 t0 }( ]( T0 }( _
6 i0 v: \$ t# N& a8 `4 a' m4 ?15 服务号(L)+朋友服务号(L)+文件内容(B) 发送文件5 o% A0 W1 |/ B- v
9 C% s! ?: ~7 ?) }8 X1 t3 _, |8 q
16 服务号(L) 连接测试报文( R% H& s- u; {& `. S
. i* ]5 d$ x6 u' ^" z
17 服务号(L)+朋友服务号(L)+同意标志(T) 应答对方请求加入好友
$ k: S( `$ [. V _5 ]$ A
+ E4 @! }0 J. Y1 n1 B0=拒绝
' k8 M5 M }' V) W$ k* S& ]: U" i* ?( g' p/ T+ p# s5 Y
1=同意
0 |4 [, p# x$ N* L4 h% [! F, ~) [* H
5 y/ ^$ i2 Z: Y" W( P) m5 w
' `! R1 ^2 \9 _OICQ服务器到OICQ的通讯协议
. b/ Z k8 _+ M2 U
. J6 U" h4 ]; }! l报文类型 报文内容 报文说明
' [ b/ {$ E0 U. C( c% K" ^" N5 L( K" j% P4 J, ~ ^, Y7 n
01 成功/失败(T)+服务号(L) 新用户注册结果返回
8 w* @+ d+ p* M1 d/ d5 @" @0 F8 V5 t# S7 z( u2 R0 x
02 成功/失败(T)+组个数(T)+{组名称(S)+组编号(T)+朋友个数(T)+{朋友服务号(L)+肖像编号(T)+朋友状态(T)+朋友昵称(S)] 老用户注册结果返回. V5 B# s8 Z4 j2 D: h# f
0 k, o% o7 Y1 a, \朋友状态
8 \. N9 m( H+ F) Q6 |' b: h- N5 @- Z1 `5 L2 J
1=上线=2隐藏=3免打扰4离线* U" k" R: ? Y8 a0 K
3 k9 H$ Z! }1 V
03 标志(T) + 朋友服务号(L)+信息(S)+信息类型(T) 标志 1=系统 2=用户( Y# q7 M# y! |8 F3 ^" J4 R( H
' [) i) Z, U% {. P" T; x Q) j发送消息,服务号=0是系统消息
# M4 T( O" T( E, [
0 z3 m$ F1 Y ?/ M4 S" R1=用户某某已经把你加为好友
1 C# C6 h* A& {3 g+ k# m) t( Y+ a3 w! O
2=用户某某请求你通过身份验证
' \6 d! @: `4 Q/ S: z7 b/ @) a. c; S) r% i. S& z0 B
3=用户某某同意了你的验证要求
% B: L( K9 ?3 V. l" q0 ]$ R5 }' w
" \4 C& `: A7 b- K* o0 X+ w4=用户某某拒绝了你的验证请求
7 u) O4 u% u! v) B4 a2 }0 _6 A6 F8 ~7 i+ e1 n
04 成功/失败(T)+朋友服务号(L)+昵称(S)+肖像(M)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)朋友信息回送! I) O2 l" v6 F: b+ W
6 A7 q1 |! u# n2 q6 u% h" j- O05 成功/失败(T)+组编号(T)+组名称(S) 增加组结果回送 1/0
% O0 V% A0 P* V7 _" H- D- s" e/ Q8 [
( D7 F2 p, {4 {1 d; U" l06 成功/失败(T)+组编号(T)+组名称(S)修改组名称结果回送1/0
Q) {/ s$ [, k) t7 e2 k* J( h/ t) E4 [2 x: O7 Y
07 成功/失败(T)+组编号(T) 删除组结果回送1/03 n1 R0 w6 `* \1 ?5 t
$ S0 S- u7 W" L( _' o- @3 k08 成功/失败(T) 移动组成员结果回送1/0 v/ B9 x; {( a- P/ S; }3 v
, j9 U, \ _0 `! A* g: N0 u# X09 成功/失败(T)+在线个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 查找在线人员结果回送( T9 d' a( w& H5 {
: U2 N; u j, l) j* L
0a 成功/失败(T)+找到个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 自定义查找结果回送(最多50)3 c) f5 s" g7 c' O1 r1 y
5 b' k" O7 l O, r6 R7 Z0 S
0b 标志(T)+朋友服务号(L) 增加好友结果回送标志0 E# @9 S4 U2 j5 S$ Q
8 F& W) e; ?: `2 K! w$ S
0=数据库失败' z$ D( h! y q& b
1 Y P! F' k7 V& @9 I
=1成功
7 p! k" {1 D3 g* N/ I& R
, k& {3 f* E5 `0 Z2 o( X=2需要身份验证0 c3 H: }) r- m4 }4 b7 |4 ]
2 b# w0 s7 _6 e$ e$ }5 {) w2 l
=3对方不允许加入
4 E! f2 d5 V! w4 @( U) m0 }1 ?: X" C) r# m' o" y
=4需要身份验证且不在线
; b% I. L7 V- D0 V- S- \. y4 _* a
8 ?+ A) U+ u* Y! m& _/ M0c 朋友服务号(L)+昵称(S)+肖像号(M)+朋友状态(T) 给在线用户增加好友
: a* a/ n9 y% Q1 _* c- V
- r' N% p7 y; ?/ b& Z! ?0e 成功/失败(T)+朋友服务号(L) 删除好友结果回送
- K7 V' a) j& s
$ @2 J! d% l+ Z6 P/ x! G* ^+ p4 S8 b10 服务号(L)+显示模式(T) 显示模式回送 =1上线=2隐藏=3免打扰4离线
/ t: G6 Q/ w; y* A. K% T: u* K$ C* N9 ]( L9 S6 Z5 y
11 成功/失败 更改用户基本信息结果回送
) v2 m7 n0 y1 W# \/ G. }
3 Z8 ?3 F; C! z12 朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件/ k& r: Q4 u$ I! o# @) E) L
# p; w5 m' j% c; {3 b
13 朋友服务号(L)+允许/拒绝 是否允许发送文件 1允许 0拒绝( c$ z# ` n0 C$ U9 x7 z
1 M6 s" r7 @6 r; |" Y14 朋友服务号(L)+文件内容(B) 发送文件
3 M( @9 I# i! b; G U, J. b; l, c5 k6 @; I% |# ^5 A
15 朋友服务号(L)+当前状态(T)朋友状态回送(系统发送)=1上线=2隐藏=3免打扰4离线
i }% _3 o; q1 O8 m, B5 {9 N" a4 u3 o# d! d9 D" O
16 服务号(L) 连接测试 |
|