|
想要得到QQ的加密算法,得到QQ的通讯数据只是不到1%的工作量,因为任何抓包软件都能够得到QQ的通讯数据,而且比WPE更好更详细。
! K9 u/ C5 J. G第二步要知道QQ的通讯协议,这个网上能够查询得到% H0 F# S* {1 G" B% |, W! C
第三步才是分析加密算法,这个基本上很难很难 ^^)" A+ M0 x7 M5 s5 l' K: b
不过伪造UDP包进行QQ的广播欺骗轰炸相对要容易些。$ p4 l! T+ z$ q
* z; l9 i# p; U3 K, @) K( T附:OICQ服务器系统通讯协议( z% @" ?9 a# L
协议说明:
K7 t, D# n: W; e3 L. d n3 f7 p1 G% d c( i4 y- f/ O" V
5 @5 f7 l5 W$ q/ ^0 O6 p$ }
协议由报文头(T)+发送者(T)+接收者(T)+报文类型(T)+报文长度(L)+报文内容组成
& }' b/ ^1 ]- f$ Y; q+ z8 U4 a+ R( c5 i6 h& N3 c: z/ ]2 [" z& q: k2 }
发送者和接收者是系统内的程序种类,OICQ服务器01,传真服务器02,WEB服务器03,打印服务器是04,聊天服务器是05,OICQ用户是0A。
0 v5 {, w" r" m9 C3 P5 s; P4 s0 z
OICQ用户到OICQ服务器的通讯协议 引导符 (81+0A+01)
8 u/ C* @- M; S, S- v$ J& D# }
$ F, [; @$ x1 S报文类型 报文内容 报文说明4 v# F0 y! ]. l. a" j. v
. H. J* p3 b8 S, b @- S; v5 R01 昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)新用户注册,身份验证用于当有人要将他加入好友时询问是否允许+ B1 C% ]! B P `, r
5 d- S- D' m2 |5 n9 ]. U7 q e0 u: Y02 服务号(L)+密码(S)+注册方式(T)老用户注册,方式分为0正常,1隐身$ Q6 ]) }$ Z) U: D
( K: I7 J( _* E- r. e
03 服务号(L)+对方服务号(L)+内容(S) 发送信息到某人
9 i7 ~' t% U! v' Z1 n# l+ {1 o; q. c# M; W4 j- Z: K
04 服务号(L)+组号(L)+内容(S) 广播信息,组号=0为全体- x7 h U- i6 R1 r% P0 ?
! U3 E1 N* I! D, ]6 k& F; P0 V05 服务号(L)+朋友服务号(L) 查看朋友资料
6 g2 V* H3 G, f7 Y- X% |0 b# S7 ]6 l, b: U5 y
06 服务号(L)+组名称(S) 增加组; }4 {, ~5 N2 `3 C. L
8 `2 o! J+ R" J3 W07 服务号(L)+组编号(T)+组名称(S) 修改组名称
5 c1 X4 R0 N3 E E5 l' x5 T3 v4 N; d8 J! |! Q$ w& G* D
08 服务号(L)+组编号(T) 删除组
! c4 ?! y2 @+ h- Y& l0 z0 ]) y. |4 y! `. E
09 服务号(L)+移动人数(T)+{朋友服务号(L)+目的组号(T)} 移动组成员* X$ S; ^. A' C. [' k
# V; l4 L( s2 S7 T5 _4 W
0a 服务号(L)+起始编号(L)+回传个数(T)+查找标志(T) 看谁在线上* h' T" s; Z3 E. {3 z& Y8 |: d) }
$ m8 f& i8 N# T& ]; r( z查找标志 1=向小找 2=向大找
9 z' N; I) ~: \; \) H
# o( S Y p6 T" Y A# E. b0b 服务号(L)+SQL语句(S) 自定义查找
0 |4 g. o/ i; s4 _+ Y- n2 N
* T$ P" w5 K3 S0c 服务号(L)+朋友服务号(L) 增加好友
% E" G# f9 V7 |3 c% P" \! I5 v' s' q4 m* y6 I" }" |
0d 服务号(L)+朋友服务号(L)+加入原因(S) 请求加入好友
( G( W) X3 X& G Y5 M2 u2 M( d+ f# T* \
8 k- G- f+ E+ [0e 服务号(L)+朋友服务号(L) 删除好友9 {. R* g; d; c5 H6 ^
, h( W; F$ J Q W10 服务号(L)+显示模式(T) 更改显示方式 1上线2隐藏3免打扰4离线 |# S6 @) h# U
% u4 J: @4 i6 @* c& P% F; T. q* `" x
11 服务号(L)+监视服务号(L) 监视某人谈话& [* s- g( M; B6 Z8 w" X1 N0 H0 P
. y7 u1 E- A) q' G% v0 x/ E% M
12 服务号(L)+昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)更改用户基本信息
& X# a) @) [# ^. S, i! T2 x9 p" y5 x$ {$ Y! p0 W
13 服务号(L)+朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件
, Y: Z% L) h5 d6 c1 d/ E! h6 P9 R9 x2 }& }: L. Q) l
14 服务号(L)+朋友服务号(L)+允许/拒绝 是否允许发送文件4 v* v/ S7 T$ u
2 o' \. C- x/ O# F
15 服务号(L)+朋友服务号(L)+文件内容(B) 发送文件
9 b# Z' Q. t! \3 S2 F* `6 V [( B* r8 o6 Y7 b2 K; K) ^& J' d
16 服务号(L) 连接测试报文
! F0 w6 I6 O# A) _" @
! P9 A8 a, S5 {( s- `17 服务号(L)+朋友服务号(L)+同意标志(T) 应答对方请求加入好友; B S. E5 k0 C9 w$ |
; [+ H' R. e4 S" t
0=拒绝
6 P; \8 N4 F& M' n$ z0 u' B! Q N+ u( |3 B
1=同意) e! ]; N+ J+ `2 N& A! U) w
: b! S) i9 s3 u7 r9 T
1 n1 b( y7 |- v- [1 F( |3 t5 y- o8 }& v) d3 m6 Q
OICQ服务器到OICQ的通讯协议
: `; u; ^! n) E. q
7 p9 |/ |* A+ [ C1 W2 b. v% Q5 O报文类型 报文内容 报文说明
( g& }. V. _6 X/ F' L5 v n4 q
/ c$ v6 M& f: M2 S$ {6 }9 G5 p01 成功/失败(T)+服务号(L) 新用户注册结果返回
1 ^$ s# N4 \4 z' Y% u" X! L0 ?- i
* @ M- R6 w* Z F* ]! l2 A9 f02 成功/失败(T)+组个数(T)+{组名称(S)+组编号(T)+朋友个数(T)+{朋友服务号(L)+肖像编号(T)+朋友状态(T)+朋友昵称(S)] 老用户注册结果返回
0 G" d6 m" H: N: v7 E% R' M ]0 V5 I% V% H o& M
朋友状态
- Q' }. t @# v! a+ k* I1 d' N- s7 G r
c y6 G) s( ?9 b1=上线=2隐藏=3免打扰4离线: v3 J; Y/ K# B3 F4 t# r+ l; \
7 ?/ Z0 O) S3 V03 标志(T) + 朋友服务号(L)+信息(S)+信息类型(T) 标志 1=系统 2=用户; o( q0 ^9 s, d6 [% M
+ |, o; d3 m- {* g/ s- [* o/ ^发送消息,服务号=0是系统消息
/ X( b( O0 C- V" Z0 n/ X1 G7 y* J: ^0 |3 ]
1=用户某某已经把你加为好友5 t2 d! O. q8 t# n. q
1 ]( y3 B% k* l# m6 B, U4 j2=用户某某请求你通过身份验证2 r+ Y8 I! ]4 K4 L5 I5 N% v: ?
/ i6 N/ x) I8 m. N7 ^3=用户某某同意了你的验证要求/ }: |+ n# ~# M
: {) g) N4 [4 O0 Z- s- V
4=用户某某拒绝了你的验证请求
3 Y" [* U' Q& h- j( ~
' e& H( K; I9 \' e) l; B0 L* \+ `04 成功/失败(T)+朋友服务号(L)+昵称(S)+肖像(M)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)朋友信息回送0 N8 |/ m4 h$ r$ \# u- G" I' J
- v) X$ d' O2 M# M* Y$ I: \
05 成功/失败(T)+组编号(T)+组名称(S) 增加组结果回送 1/0! f# k' A( w$ ^# }
% I) @% O+ Y6 O$ ]# M9 @; U& i06 成功/失败(T)+组编号(T)+组名称(S)修改组名称结果回送1/0
0 F( X) n7 H7 C5 ]
9 f5 `% X& P5 ?$ n07 成功/失败(T)+组编号(T) 删除组结果回送1/0
2 X5 a' m. a8 k* Q0 d1 [6 C# _+ a1 w0 `2 X
08 成功/失败(T) 移动组成员结果回送1/0
+ C6 G: C% L, r
5 M0 h5 Q$ M: q0 N09 成功/失败(T)+在线个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 查找在线人员结果回送3 b6 Z& Y" ?4 h8 F! M
9 f$ j0 C' N! B1 w! r9 ]0a 成功/失败(T)+找到个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 自定义查找结果回送(最多50)
3 c7 O/ k. P' V3 v' x; Y: `# h1 [: j/ w
0b 标志(T)+朋友服务号(L) 增加好友结果回送标志
- Z3 S: E0 h8 l% O/ {3 w
1 V* I2 ?6 t1 Q' \3 p# Q0=数据库失败
4 N6 ^2 e* q# z, d. S/ m3 _' [
3 n) ~. L; Y$ e3 U; O=1成功
' g j9 F6 n- }$ j9 U+ s
' T# C& [+ k% r% j/ S; E) C, K=2需要身份验证
& [; A a: T) |; o9 @' g W# J, M: U6 D, F3 c4 \' z3 ?5 ^; k! p
=3对方不允许加入
* t' C- M# O" A9 y8 F% E1 Y. K A) b4 j! ~0 g" D; i* P
=4需要身份验证且不在线
6 k7 `: ` r8 W% N' r- _7 Y' Y" }! p! r. j( Z; L$ f5 z0 ~9 O7 P
0c 朋友服务号(L)+昵称(S)+肖像号(M)+朋友状态(T) 给在线用户增加好友
, F' W6 z0 u9 i3 x5 R
4 B0 R' y0 Z3 m0 y0e 成功/失败(T)+朋友服务号(L) 删除好友结果回送4 s/ {! h' f7 C1 v3 N! e* O. [3 E' G5 @
% w7 m6 I) @! c: Z2 t" F
10 服务号(L)+显示模式(T) 显示模式回送 =1上线=2隐藏=3免打扰4离线( T8 S/ }* Z- I' u( O' e' Q7 G
8 l/ [/ C) j' [0 E+ Z8 A5 _
11 成功/失败 更改用户基本信息结果回送! X/ u: a) c6 h! Y* s0 u3 T1 C
) V t2 z4 b6 e: u+ w12 朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件& q B& O7 }3 v% V3 b5 C; u* X4 `7 r
" v& a( U/ ^6 D4 v/ y13 朋友服务号(L)+允许/拒绝 是否允许发送文件 1允许 0拒绝% [2 D, M' m5 E) q/ {8 s2 {
* t/ p: h1 \2 x" }
14 朋友服务号(L)+文件内容(B) 发送文件2 \) g+ X8 X6 V5 |
& [. _8 L1 H6 p7 J
15 朋友服务号(L)+当前状态(T)朋友状态回送(系统发送)=1上线=2隐藏=3免打扰4离线
* h( f, c# ^5 E- v
9 i X) z7 s5 e& `4 e16 服务号(L) 连接测试 |
|