|
想要得到QQ的加密算法,得到QQ的通讯数据只是不到1%的工作量,因为任何抓包软件都能够得到QQ的通讯数据,而且比WPE更好更详细。
8 y- e/ a, m [) I# H }第二步要知道QQ的通讯协议,这个网上能够查询得到% a# C3 e5 h6 Z; Y& d
第三步才是分析加密算法,这个基本上很难很难 ^^)/ W, Q, X3 N# j/ C8 ~* l& w
不过伪造UDP包进行QQ的广播欺骗轰炸相对要容易些。
+ A) G0 V" _; p3 l X0 ^0 o1 ?8 G t7 d; w1 Q! s1 f
附:OICQ服务器系统通讯协议* j! L; L% L& h, Q* V- Y, J" K
协议说明:
+ i9 m2 C. {( F$ l6 P2 ]$ T X& \0 k+ ?4 ?8 P3 B- Y& s6 ?: I
6 `' {. s- H$ `' ~/ o4 G
协议由报文头(T)+发送者(T)+接收者(T)+报文类型(T)+报文长度(L)+报文内容组成1 d7 }! C0 x, c' H2 A T
a' t+ H. ?1 B+ h, V. N; A
发送者和接收者是系统内的程序种类,OICQ服务器01,传真服务器02,WEB服务器03,打印服务器是04,聊天服务器是05,OICQ用户是0A。 . K, T( I+ J$ H, r
, p* |+ X5 C! _- C% C8 Z! I* B
OICQ用户到OICQ服务器的通讯协议 引导符 (81+0A+01)3 C- A& B3 u3 [, s" p8 a. f
+ J4 N9 _0 r% s% Y+ ~
报文类型 报文内容 报文说明( q" o- F; k+ z7 C; t/ B7 o
9 b2 S0 m9 ?( Y7 I) V01 昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)新用户注册,身份验证用于当有人要将他加入好友时询问是否允许
4 [; Y9 F6 f u3 T5 @" f: t9 [- Q/ L6 j( \! M! K
02 服务号(L)+密码(S)+注册方式(T)老用户注册,方式分为0正常,1隐身
1 K: l T- O1 U. o7 s* n m/ F, P1 L6 B+ d9 d0 [/ Q9 w
03 服务号(L)+对方服务号(L)+内容(S) 发送信息到某人
/ D7 k$ p" O, `" J: q
& w. \( W& ]! w04 服务号(L)+组号(L)+内容(S) 广播信息,组号=0为全体
9 F% \5 ?% |5 l5 \, n9 n- s+ |
& P# _8 d( `' g4 K( ~1 a" S3 l) G05 服务号(L)+朋友服务号(L) 查看朋友资料6 G$ W+ j% y. \$ I( n) g! f0 L: b
& B# x# ` e) b7 [# }% i
06 服务号(L)+组名称(S) 增加组
0 O; v5 ~" r4 J$ _8 y. e( |( ^& W* ^) K3 Y& w
07 服务号(L)+组编号(T)+组名称(S) 修改组名称- X# y) @- C0 S
* g* B1 r" r+ R, E3 a08 服务号(L)+组编号(T) 删除组0 d L L5 n+ ]% l& y# h
C) w. r$ _$ k, u8 B1 E. C
09 服务号(L)+移动人数(T)+{朋友服务号(L)+目的组号(T)} 移动组成员0 F) K% J0 a; ~2 T# R
+ q/ D, \& B/ T4 R/ t" }$ H
0a 服务号(L)+起始编号(L)+回传个数(T)+查找标志(T) 看谁在线上* L0 w- \2 `5 \" T/ K7 Y4 T' w$ ~
) u H# d9 f& n8 S2 m" C' c查找标志 1=向小找 2=向大找$ g( g, i, m T$ p. j, ^- i6 @
& @& O5 u6 `( ~' L* ?
0b 服务号(L)+SQL语句(S) 自定义查找
4 v4 Z. @0 s3 ?5 C3 i
4 \# ^& K7 d0 A q' j& d0 N0c 服务号(L)+朋友服务号(L) 增加好友# }+ K4 { D3 W9 m, g
( ]- r$ q& v/ T( ?$ [/ C" @1 G" L9 f
0d 服务号(L)+朋友服务号(L)+加入原因(S) 请求加入好友" X$ H4 | ?3 {1 k" w" N. |
7 j# K7 H( S& G& i* F+ W" l0e 服务号(L)+朋友服务号(L) 删除好友/ w3 K9 P- a# T( ^( b
. K9 ~ H; G' ~+ m5 `! Y
10 服务号(L)+显示模式(T) 更改显示方式 1上线2隐藏3免打扰4离线* N/ } \7 d M* j- D! o: A, m
$ k, v2 p8 S0 `6 a0 c, Z/ A! \3 x11 服务号(L)+监视服务号(L) 监视某人谈话4 h0 k4 p5 R9 [' p
2 Q$ x+ Y2 Z# {1 d- P+ h+ b3 H; W12 服务号(L)+昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)更改用户基本信息3 O+ b/ H$ Z1 m( u1 p i
* W% [& P8 r" L) Z; _
13 服务号(L)+朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件8 f* [3 P: e& O; j
' G/ G( @) ^3 u" m7 K F* }14 服务号(L)+朋友服务号(L)+允许/拒绝 是否允许发送文件
8 w2 b% |) T! G6 M ^5 I: E$ `5 R6 J' l" j
15 服务号(L)+朋友服务号(L)+文件内容(B) 发送文件% {- f& @- g, T9 B
~" _$ p/ M" J0 D% k3 Y16 服务号(L) 连接测试报文, I3 v' Z. _, [( U; i$ g# P2 C
! I6 T, H3 [9 N7 L8 g/ o
17 服务号(L)+朋友服务号(L)+同意标志(T) 应答对方请求加入好友* B @% Z2 m8 e. P7 I
$ u. W; `! Z: p
0=拒绝$ i7 F) B1 T9 |4 y2 E
6 n( _7 m1 M+ l0 U- \% A
1=同意6 @8 L$ L/ Q0 r: Z. X& I
( C7 s2 p* I+ ` _/ U2 o
/ g |" Z- f% E1 }3 C
# y% c0 r; X, A# \( H
OICQ服务器到OICQ的通讯协议& _0 T* ~& M3 Y$ ], b/ [
. t$ i! C: ^5 ^) ]# ^. f* B
报文类型 报文内容 报文说明
# Z% V7 R! r# U0 w0 K! e: ~4 I1 s9 Z6 }) r6 ]+ E
01 成功/失败(T)+服务号(L) 新用户注册结果返回
; q/ T0 P, z$ N* G+ R+ b0 M5 @% X# |, X! p
02 成功/失败(T)+组个数(T)+{组名称(S)+组编号(T)+朋友个数(T)+{朋友服务号(L)+肖像编号(T)+朋友状态(T)+朋友昵称(S)] 老用户注册结果返回# ]& Z7 k) a C7 ] ^
# c. v8 I" Z! F; ~& J# ^朋友状态
3 f3 o1 a$ W6 V) w6 _
# h% q1 R; G4 Y4 J) Z' U" q1=上线=2隐藏=3免打扰4离线
1 T7 {9 i P3 S! _
7 k; d- V5 u( m( v0 S6 w03 标志(T) + 朋友服务号(L)+信息(S)+信息类型(T) 标志 1=系统 2=用户" F- ?$ p5 Y% \
& p( V- B: G$ @$ f
发送消息,服务号=0是系统消息* o, H7 B, g/ t+ x$ q1 y
2 O. F( B: r. Q( f& G r% k1=用户某某已经把你加为好友8 Y7 b) J3 X1 A* w, b2 m4 Z: q2 F
, k7 W: z$ [: G4 }+ w2 J, v8 q2 a
2=用户某某请求你通过身份验证
/ i, n" \7 B/ F3 O- M
) s7 [" c$ |( ~4 |; J9 G3=用户某某同意了你的验证要求
' g* f9 ^- y+ b& R" r/ U2 o+ D" A: M, S( C6 D; y8 M- f
4=用户某某拒绝了你的验证请求$ A, H. T* r5 l8 Z$ W0 I* A- @
4 Y+ _& v' L! k3 j5 A$ |04 成功/失败(T)+朋友服务号(L)+昵称(S)+肖像(M)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)朋友信息回送' m5 N$ S: S W% T/ Q
# M' q- K( C V3 ~# h: `, K05 成功/失败(T)+组编号(T)+组名称(S) 增加组结果回送 1/09 x7 q& \5 E0 R( W! s: C0 A" x
) c5 N6 P1 j8 c: _
06 成功/失败(T)+组编号(T)+组名称(S)修改组名称结果回送1/0
& B: D: U# {6 H! g# \
0 m- z9 J' t( f D' m- I07 成功/失败(T)+组编号(T) 删除组结果回送1/0
- K o1 v8 {& L( E7 {& y9 e% J2 ^5 G7 S% E2 [) l# X
08 成功/失败(T) 移动组成员结果回送1/0
7 P/ \6 b J a6 e: d; U
+ y1 {2 Z5 c, Z3 Z09 成功/失败(T)+在线个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 查找在线人员结果回送
$ P `; G0 U2 {9 B* H) H. Q5 A+ f
2 n* S7 S6 Z0 d9 X6 a* l! J! {7 C0a 成功/失败(T)+找到个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 自定义查找结果回送(最多50)
# W" `3 {+ Q* r7 b9 r7 T& t0 k; B" O1 P9 A
0b 标志(T)+朋友服务号(L) 增加好友结果回送标志
& F; j8 J% m0 Q7 L
/ c/ c% b" ?2 s8 V) h C2 [2 w0=数据库失败
' z* i& s* m! x, v
2 e! z6 h5 f5 c9 G! \$ K7 q=1成功
2 J) i' b- y3 U# Z- \9 ]- m" o9 Y* q k) T2 }
=2需要身份验证/ |6 p; Q# _! N' F x }
% _* I( z3 N5 c1 E* [=3对方不允许加入
8 \8 i9 ?" e. H* ]% i" P8 I- _/ ?9 B# ~9 y0 s3 c+ g F9 ~
=4需要身份验证且不在线" C+ y, e, g. u0 v1 e6 J5 Y
4 _7 C& J8 Z9 W7 E/ `& Y0c 朋友服务号(L)+昵称(S)+肖像号(M)+朋友状态(T) 给在线用户增加好友0 y; q5 F, t4 |- A; j% O' [
- F/ R' p! L j/ Y
0e 成功/失败(T)+朋友服务号(L) 删除好友结果回送
) Q2 M- S+ v% S) q( V0 ]
8 h2 y. i7 v+ X, A/ A10 服务号(L)+显示模式(T) 显示模式回送 =1上线=2隐藏=3免打扰4离线. s. J8 G3 j1 N( S7 ~- ^1 p
0 {% M: r4 b) X11 成功/失败 更改用户基本信息结果回送: n0 Z3 S, @4 n' r1 [( d
) D# t# r7 W. l' Y! J7 d+ v12 朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件
5 i" m J( ^7 `; t$ c. I0 y
7 W5 Y6 r6 t& Z1 e T% W13 朋友服务号(L)+允许/拒绝 是否允许发送文件 1允许 0拒绝
# e" }9 L6 G; a1 H( E4 A. J' n. J y- G1 A2 ^- s; `
14 朋友服务号(L)+文件内容(B) 发送文件) i% o9 S# x* d6 G* ^" T
7 d. _1 d; `, S" g$ t
15 朋友服务号(L)+当前状态(T)朋友状态回送(系统发送)=1上线=2隐藏=3免打扰4离线
, I! T1 i) j- L& B1 w
/ R& z! H4 c: a% M! q O16 服务号(L) 连接测试 |
|