|
想要得到QQ的加密算法,得到QQ的通讯数据只是不到1%的工作量,因为任何抓包软件都能够得到QQ的通讯数据,而且比WPE更好更详细。
3 P5 e G! V4 q第二步要知道QQ的通讯协议,这个网上能够查询得到
6 g$ d; w% k6 z& z+ s; ~( P5 t第三步才是分析加密算法,这个基本上很难很难 ^^)
1 M7 ~; V7 g, r U: P$ k不过伪造UDP包进行QQ的广播欺骗轰炸相对要容易些。
: O/ F' O1 l9 v P1 T0 m: _$ m$ N8 d
附:OICQ服务器系统通讯协议
& ]4 T W! N" H& u协议说明:7 @& p1 }4 k9 v4 \; Z# z& R+ v
$ x' q; I( C1 V6 u) _* w
0 R( h. m' L2 Z9 f, M# u5 J1 f协议由报文头(T)+发送者(T)+接收者(T)+报文类型(T)+报文长度(L)+报文内容组成# y' G3 \0 J! K& }7 ~; H
3 r: U# J; `( j/ G! s% J% Q% d
发送者和接收者是系统内的程序种类,OICQ服务器01,传真服务器02,WEB服务器03,打印服务器是04,聊天服务器是05,OICQ用户是0A。 : V* d& j! Y% p& {* T& J' P0 z8 t/ O
$ O8 d$ k" D" f0 [0 I& O: g5 f1 N
OICQ用户到OICQ服务器的通讯协议 引导符 (81+0A+01)
: B1 ^/ t. C4 s% G# M. G9 E
, Z) h& Y8 p2 }) I$ N, U报文类型 报文内容 报文说明/ |. E3 f7 X% w' \- |/ K& ~# q
) u' D) p# x. h s# h8 I* d
01 昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)新用户注册,身份验证用于当有人要将他加入好友时询问是否允许7 s0 D1 b" V, e( ?5 p. e3 |- [
7 R, {, F; s9 F+ J) j |& a2 |02 服务号(L)+密码(S)+注册方式(T)老用户注册,方式分为0正常,1隐身
9 F. P% h2 @, Y3 B" V% d4 Z
) O7 R! \: W+ e03 服务号(L)+对方服务号(L)+内容(S) 发送信息到某人 S, j8 L0 \6 x @, Z* V
) T9 N2 f& l1 H7 c5 h6 J- [" Y04 服务号(L)+组号(L)+内容(S) 广播信息,组号=0为全体
) A8 e2 o2 {4 V% y( ~# P% @4 ]9 k) o+ a1 q. d) b* r% I
05 服务号(L)+朋友服务号(L) 查看朋友资料
, [/ \8 F: c5 a# y1 s, }! p2 l7 l6 r: d) _# z4 H9 X
06 服务号(L)+组名称(S) 增加组9 m. ]- y+ o) r6 x9 ~
/ _& G; n" ]7 p- H k6 t- ^07 服务号(L)+组编号(T)+组名称(S) 修改组名称" W' r8 z7 i+ [( H. Y; ~
: A2 W8 E4 m( ^& p08 服务号(L)+组编号(T) 删除组2 b9 }6 n. g( d9 I, k
. t& I3 q7 b3 a/ t- S09 服务号(L)+移动人数(T)+{朋友服务号(L)+目的组号(T)} 移动组成员0 d2 O: m& `; }4 }: t
/ G5 N0 ?9 Y1 ]$ o0a 服务号(L)+起始编号(L)+回传个数(T)+查找标志(T) 看谁在线上9 R$ Z5 L0 v/ ~0 c6 W1 |
" w* L3 [& _4 T e3 V& _查找标志 1=向小找 2=向大找5 U# a3 |9 E5 j0 L. a
5 m: ]/ P1 g( i, I K) R0b 服务号(L)+SQL语句(S) 自定义查找/ Z* p3 u7 t) X( X- ?: T
" G5 C% i3 I& T" J6 p: g( Z0c 服务号(L)+朋友服务号(L) 增加好友2 I3 v- l+ F3 g; R) {1 r% M3 d% v
3 n4 j" h- @' [/ |. ^
0d 服务号(L)+朋友服务号(L)+加入原因(S) 请求加入好友; O- w# F+ D0 ?: @
4 N- y& i% [( P6 c9 A j; D. {0e 服务号(L)+朋友服务号(L) 删除好友
$ e8 ?, L: V! k9 x9 H4 \( s, a# C5 [' e6 K7 }3 j; f
10 服务号(L)+显示模式(T) 更改显示方式 1上线2隐藏3免打扰4离线
& Y% l- P8 r% z6 r$ b5 A! M
& M# u$ G/ {1 t11 服务号(L)+监视服务号(L) 监视某人谈话
p* [- F& l3 s% e( Y
4 Q; I" ^( c Y12 服务号(L)+昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)更改用户基本信息1 i- r3 L: a. g, ?- G
5 s( s# i g( k& e' n: B13 服务号(L)+朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件1 q; e2 {6 ?4 c* N) U# p9 s( j2 U
+ U' f. p8 F1 M0 F
14 服务号(L)+朋友服务号(L)+允许/拒绝 是否允许发送文件, O6 R3 l( l" D% T, m2 L
! ~4 E) H1 [/ g- \" g; G2 ^( Z
15 服务号(L)+朋友服务号(L)+文件内容(B) 发送文件' @+ y- ^1 f8 s7 I
}3 j9 ?/ l. r0 w. s* d0 h! t" e16 服务号(L) 连接测试报文! f$ L1 \* j" `0 b }3 T6 W
! W1 r1 g6 H0 o' \: @
17 服务号(L)+朋友服务号(L)+同意标志(T) 应答对方请求加入好友1 z1 w5 [% S1 }/ k3 f8 L
# W- u2 o" j3 m: L! B
0=拒绝. S$ Y5 Z4 N7 a
# L$ _* k B3 `1 t+ A# a
1=同意$ J0 V! T& p( F2 t
) e8 \" C8 ?$ P' e8 r7 ? G. T
) @' f3 A9 P' L' |5 s/ J n
3 k5 J* c1 X1 J; B( M2 hOICQ服务器到OICQ的通讯协议6 L7 P# P- Y- R j; d& Q; N
3 ?* v: _9 ~6 M" x8 v
报文类型 报文内容 报文说明
9 ]* d$ b# H9 B8 ?/ S
* d- K" y: u" w- S& s0 ]3 J01 成功/失败(T)+服务号(L) 新用户注册结果返回( M& B5 P% q* ?2 K- q; v6 ]( E
7 Z, G0 U% ~ e- I+ i02 成功/失败(T)+组个数(T)+{组名称(S)+组编号(T)+朋友个数(T)+{朋友服务号(L)+肖像编号(T)+朋友状态(T)+朋友昵称(S)] 老用户注册结果返回 m6 x$ N8 ?" x' O9 b8 K* T
' \' l/ a% J8 E& z: V! _; T; G% X朋友状态- Q. ?" \' h6 k& Y$ V
8 b7 p$ Y3 C" ~' e' Z+ t/ C1=上线=2隐藏=3免打扰4离线; P. g! l/ \, C4 _' R! K
( ?9 M. H5 T. |! {
03 标志(T) + 朋友服务号(L)+信息(S)+信息类型(T) 标志 1=系统 2=用户
4 u/ w! m5 p% r- |0 a
K; O3 W ?2 P0 W发送消息,服务号=0是系统消息
o; `3 i) [/ Z- X( ^' J! m y" |7 k% I$ f- \
1=用户某某已经把你加为好友1 a$ R; s. [7 P8 W/ q* m4 T
1 i4 p, T. U$ a( E1 u
2=用户某某请求你通过身份验证5 f4 B# |# P$ Z% X
. ^4 F/ Z$ C `$ L* P( j
3=用户某某同意了你的验证要求
0 O$ V: S- L: h+ K9 o4 T; Y
8 p! |" e$ t; J/ @2 Z% s4=用户某某拒绝了你的验证请求
( _' |& v3 I# P6 N" V+ X7 y O0 }# q6 L$ Y: P {& c3 Y
04 成功/失败(T)+朋友服务号(L)+昵称(S)+肖像(M)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)朋友信息回送) K8 T4 ]6 n" p: E
* R" m. h, [8 H4 L& P+ \+ s05 成功/失败(T)+组编号(T)+组名称(S) 增加组结果回送 1/0- C1 @1 f4 M; r, M
' D& }2 j3 ^0 |8 \06 成功/失败(T)+组编号(T)+组名称(S)修改组名称结果回送1/0& c( z1 \! w7 m% I0 i
$ F8 u$ k6 G: A# T, ?" g( H8 b07 成功/失败(T)+组编号(T) 删除组结果回送1/0' p* P0 ?* w) Q1 w3 Z- I" s
$ y/ C; E& C P9 Q4 ~( s, A08 成功/失败(T) 移动组成员结果回送1/0
7 s9 Q [% a' |3 U; b0 b6 y# U2 q
/ A! \7 h; v; _: f7 @* _09 成功/失败(T)+在线个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 查找在线人员结果回送
& {/ I7 x7 l" p8 N- D# ~/ {' _
4 ` I% i' V/ o8 I6 P0a 成功/失败(T)+找到个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 自定义查找结果回送(最多50)8 t6 m) T) Z$ u% a1 U; Z
4 E$ p' L3 E. k& y2 L8 _ ?
0b 标志(T)+朋友服务号(L) 增加好友结果回送标志
, B* |& ?) F. a6 c2 \$ J! M' P5 ~) X% N: |! v9 b1 e
0=数据库失败6 B! L1 G. e& [$ Z6 S9 m2 V& x
' q5 ?, C7 }5 E9 v# v=1成功% D M$ a! M: g4 Q$ O. W- A6 K
" D/ Q9 h7 M* q5 o' L
=2需要身份验证
/ {" q" {, W) k% Y% O
/ X7 \0 x( s4 A=3对方不允许加入
H! }7 N5 \% E9 r/ h/ k* I- w- o0 X8 O+ B- d0 W
=4需要身份验证且不在线
( y! [3 y& d( ]* A" D# A l8 E5 s7 K5 l* W6 q* ^3 T
0c 朋友服务号(L)+昵称(S)+肖像号(M)+朋友状态(T) 给在线用户增加好友5 a( [9 K2 E3 _: ^: F6 V
) @# G& [. L3 F8 p. Q
0e 成功/失败(T)+朋友服务号(L) 删除好友结果回送2 m9 l5 }/ i7 h" \
1 l8 C$ P7 K0 v! _. x10 服务号(L)+显示模式(T) 显示模式回送 =1上线=2隐藏=3免打扰4离线
$ h' }! L5 k2 W6 F! m( A" O! m. B& @ Z% T& J2 N' V5 j1 D# m" Y/ R
11 成功/失败 更改用户基本信息结果回送
% w+ [% v8 k+ O7 ?& P1 s4 }" i8 Z4 s2 l- J) q3 ~6 s
12 朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件4 \. p* l" w% @8 ^' c! W& }' r* Y
; s# b3 D- o4 z13 朋友服务号(L)+允许/拒绝 是否允许发送文件 1允许 0拒绝6 Z% U5 W0 q4 c( k' n2 T
4 A j0 |& w- O
14 朋友服务号(L)+文件内容(B) 发送文件5 q. a9 E3 c% _
3 f! s6 U" e5 j$ a/ ?- \/ V1 Z15 朋友服务号(L)+当前状态(T)朋友状态回送(系统发送)=1上线=2隐藏=3免打扰4离线
' m0 q, O% W A% K
1 M5 D3 v# n5 w+ V1 n! z7 w. B0 A16 服务号(L) 连接测试 |
|