|
想要得到QQ的加密算法,得到QQ的通讯数据只是不到1%的工作量,因为任何抓包软件都能够得到QQ的通讯数据,而且比WPE更好更详细。/ ? ~: w$ F7 ?4 G6 X
第二步要知道QQ的通讯协议,这个网上能够查询得到( ]4 D& r/ K$ F% ~
第三步才是分析加密算法,这个基本上很难很难 ^^)
4 P3 Y t* Q1 I o6 Z4 B C不过伪造UDP包进行QQ的广播欺骗轰炸相对要容易些。! k/ Q d, } @+ g5 X9 j
7 G2 S F5 y, D) p
附:OICQ服务器系统通讯协议
& h/ [, D. H# `7 K7 ~2 w& Q( F' T协议说明:
8 m/ m- H% ]4 c& E% x; r+ I- y7 @3 X j; Q O
- A( l/ u( Q/ @: }协议由报文头(T)+发送者(T)+接收者(T)+报文类型(T)+报文长度(L)+报文内容组成
3 U; Y9 Q$ ^( E% Z
( f4 i$ T7 H$ ]% ^ q发送者和接收者是系统内的程序种类,OICQ服务器01,传真服务器02,WEB服务器03,打印服务器是04,聊天服务器是05,OICQ用户是0A。 8 [: w, T; T8 b! P
; a% X) U0 d/ ]/ l
OICQ用户到OICQ服务器的通讯协议 引导符 (81+0A+01); C& x3 h8 k6 l! J1 k
+ W3 c9 q4 y" ~3 L6 y( n, W报文类型 报文内容 报文说明. ` @5 N+ y( ?
6 [' R- Z: @- w01 昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)新用户注册,身份验证用于当有人要将他加入好友时询问是否允许* r0 d- Y4 s; }' M& S4 s
5 }/ o) C$ }8 f0 w. w
02 服务号(L)+密码(S)+注册方式(T)老用户注册,方式分为0正常,1隐身
$ |- I: b; R* D: c. r
% I' ~( K4 j0 N3 `4 S9 F1 h03 服务号(L)+对方服务号(L)+内容(S) 发送信息到某人. H. p) G7 V7 S6 s# S' b
& K! _+ P) E" I4 ^: l+ W04 服务号(L)+组号(L)+内容(S) 广播信息,组号=0为全体! [2 D' |1 @; H% E! i
. s2 @9 h! \& S2 Q; B8 @$ K6 a05 服务号(L)+朋友服务号(L) 查看朋友资料6 l2 b: b8 d4 q9 [6 g8 e
. m+ S+ g; H6 `* c06 服务号(L)+组名称(S) 增加组
) q% l# G2 z+ @- I7 l( ]$ S& E W. V8 W- K% Z' ?8 Q5 g" ~
07 服务号(L)+组编号(T)+组名称(S) 修改组名称
& _) A U, k' L! r! m% n6 k! E1 t c4 j J& @" m
08 服务号(L)+组编号(T) 删除组, U; N; X# ?0 J
# ^1 `& _2 U7 r4 {, G7 |$ O09 服务号(L)+移动人数(T)+{朋友服务号(L)+目的组号(T)} 移动组成员
) t( G3 V4 S7 n, t2 l( c0 ]4 J* h# Z. J K$ [
0a 服务号(L)+起始编号(L)+回传个数(T)+查找标志(T) 看谁在线上1 e- _0 O& Q" E- v: v
6 H0 k( k; H- F' }' B, Z查找标志 1=向小找 2=向大找7 o& W: G6 q) Z8 B% e
% u0 Q" t) v+ R% I. X0b 服务号(L)+SQL语句(S) 自定义查找, P( }& g. J+ {: L! ^; |% V
+ p4 a2 H. c( }% i$ }1 n
0c 服务号(L)+朋友服务号(L) 增加好友$ J! F ]0 b6 |* |: V3 @
) x0 M9 p( \: j8 F0 `0d 服务号(L)+朋友服务号(L)+加入原因(S) 请求加入好友% f/ }. u/ L/ \
1 `/ ^/ v7 f, t+ H% U. F0 J
0e 服务号(L)+朋友服务号(L) 删除好友6 K! N5 v% d! {9 }: `
6 F ?3 w! z& v" u. `, i6 Y10 服务号(L)+显示模式(T) 更改显示方式 1上线2隐藏3免打扰4离线
3 V0 J: \* K+ C& f1 j: F. D
: r$ g" e& N# U$ R. e+ G2 k11 服务号(L)+监视服务号(L) 监视某人谈话: ?! F5 m) K9 L. \5 n" |; J% l8 Z
2 P h4 W# V4 i5 U# P {9 K8 X
12 服务号(L)+昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)更改用户基本信息
) b! Y( |1 `5 s8 p. E3 L3 e& v5 s2 C' I6 W9 f5 y
13 服务号(L)+朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件, Q7 F% d* `9 g4 p3 x, g" G; Y9 n$ ?
. U$ v, }: V5 b. J/ e% m
14 服务号(L)+朋友服务号(L)+允许/拒绝 是否允许发送文件
% L! B( n( N. s i& E
+ t- ?* D1 T! z4 p6 C15 服务号(L)+朋友服务号(L)+文件内容(B) 发送文件
. m0 M1 v a! M! q7 C
# Y8 j% p/ N; M2 s16 服务号(L) 连接测试报文6 D. q: x! Y4 O; G# _
+ I# F6 Z7 Y4 V& M1 ^4 ]
17 服务号(L)+朋友服务号(L)+同意标志(T) 应答对方请求加入好友
! K* p: s* D, a# c3 H: K% n) C$ z7 i" d
- l9 R3 k5 p T3 A0=拒绝( K7 ]% R. d, u9 _! v: L+ |! |, {
( m% c6 e T ]0 N ]
1=同意/ L D: v* n( D7 b4 v2 W
7 A2 a1 e3 o/ c. Q* T {7 F& z
0 N' O: j' u3 Q/ i+ ^" v. L: H3 |5 V$ m
OICQ服务器到OICQ的通讯协议
k& |" E- O6 \; o
) h/ l7 r( W9 d6 B e报文类型 报文内容 报文说明- H) H( j2 m4 b
; V: Y: U- m! a+ o- l6 F! t01 成功/失败(T)+服务号(L) 新用户注册结果返回+ s7 q6 |1 L+ h) ]7 G3 P9 h
2 ]) d/ \. [! _! v02 成功/失败(T)+组个数(T)+{组名称(S)+组编号(T)+朋友个数(T)+{朋友服务号(L)+肖像编号(T)+朋友状态(T)+朋友昵称(S)] 老用户注册结果返回
* Q% S% P- y6 H9 x) V1 k3 G' g& c X9 @( z7 ~5 \6 _& N7 U
朋友状态% h" t% \3 v) \
9 z0 s+ ]. [; d9 y& T1=上线=2隐藏=3免打扰4离线
$ h1 r9 I& p4 U5 f& r/ Q2 G# i
& g) `2 z% X2 o03 标志(T) + 朋友服务号(L)+信息(S)+信息类型(T) 标志 1=系统 2=用户" a r5 U8 Q# O, u0 v; K- q% d5 T
1 r! E4 w0 b; I- E: d2 Y5 D7 `发送消息,服务号=0是系统消息
( W& f5 X; \+ |: |' d, B/ G; `. L" A2 `4 T) G! O2 v+ |% ?! X `
1=用户某某已经把你加为好友/ q2 ?8 p" k( Q# ]- e9 U- N: m7 `# X
* Q. v% O/ G# h0 {0 Q2 O
2=用户某某请求你通过身份验证9 A$ U1 [. H' t3 t1 ]
' [# X& G2 G- s' V5 `
3=用户某某同意了你的验证要求: D- k2 e8 S9 ]: J) w {
. Z, y0 k6 J8 _% E7 [$ `4=用户某某拒绝了你的验证请求
' x- g" b) k6 I% s4 u4 E$ Z* E
- G, ?9 F, b+ ]+ D0 J7 o g O3 A04 成功/失败(T)+朋友服务号(L)+昵称(S)+肖像(M)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)朋友信息回送
9 B& C T4 q2 x* S+ {0 t4 j. r) k9 A. a/ G* ~
05 成功/失败(T)+组编号(T)+组名称(S) 增加组结果回送 1/01 s! L% \1 }2 P% n# I# b
, c0 o; g [" Z06 成功/失败(T)+组编号(T)+组名称(S)修改组名称结果回送1/0: x( z* f$ r! Y4 d' ~
$ Y9 ^8 p( l. K* |6 n! D3 N
07 成功/失败(T)+组编号(T) 删除组结果回送1/0. T1 g3 k; T1 E: S
1 o6 x% R" C/ F0 N
08 成功/失败(T) 移动组成员结果回送1/0
/ C1 @4 S- S: P( S5 ]; l) N( T2 o4 {# K' o" L# ~$ N
09 成功/失败(T)+在线个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 查找在线人员结果回送
. ?; O3 h! H* C* ]1 U/ d( u( \5 k( {( N5 s) }
0a 成功/失败(T)+找到个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 自定义查找结果回送(最多50)' V# E7 a2 i. `% F K" L9 v3 i6 r( ^
: f) h, \0 V/ T1 M
0b 标志(T)+朋友服务号(L) 增加好友结果回送标志1 H( i* z3 n; |7 [0 _, u0 J* X
8 R" \! v4 T9 C) g
0=数据库失败
5 C; g" L/ n, N0 \4 |* W1 ]# v. W3 ^
=1成功8 u0 F9 y. k# K7 M' F/ V
* l& k, J/ t/ m! [/ W% L+ k=2需要身份验证
! j- t- g5 T3 g1 E$ v
6 c9 q5 e. D! M$ E# e% D=3对方不允许加入
; w/ `4 E9 L4 U ~2 |% F( `7 Y f2 ?4 t) f9 p; p6 d# h I2 C1 s
=4需要身份验证且不在线. i& Y* A% F2 J3 d' v7 T; [
5 ^% Y# `/ X. w3 f4 Y6 L
0c 朋友服务号(L)+昵称(S)+肖像号(M)+朋友状态(T) 给在线用户增加好友
+ C/ u1 K! m/ t1 f7 k9 n5 a) A1 H) W. e
0e 成功/失败(T)+朋友服务号(L) 删除好友结果回送% Z0 ~7 c8 f5 r r
0 F: s1 S2 W3 r+ b# g. z
10 服务号(L)+显示模式(T) 显示模式回送 =1上线=2隐藏=3免打扰4离线# ]6 b( c% ?! Q5 i8 Y. U0 m
- a9 R# {! ]5 T# R% |8 s
11 成功/失败 更改用户基本信息结果回送/ V$ e* n# S9 F% A4 l
4 x9 k( d% ^/ R. l5 V( _& U
12 朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件
6 n4 D) u b2 u! z( u3 n2 ?5 c2 n& F* t. u) G, t$ ?
13 朋友服务号(L)+允许/拒绝 是否允许发送文件 1允许 0拒绝5 U$ g6 y' q! v E9 |$ y
, d$ r7 u+ h" k( S# j( B) {14 朋友服务号(L)+文件内容(B) 发送文件" G& Z4 M& v' g/ ?: l' C5 t) w
0 F/ I" s( r. P* x6 |5 f- a" j
15 朋友服务号(L)+当前状态(T)朋友状态回送(系统发送)=1上线=2隐藏=3免打扰4离线6 m% Q2 ?" a" _! ?
; p9 [6 Z% l' i- ?% K5 M16 服务号(L) 连接测试 |
|