|
想要得到QQ的加密算法,得到QQ的通讯数据只是不到1%的工作量,因为任何抓包软件都能够得到QQ的通讯数据,而且比WPE更好更详细。
2 h% j& c' n2 k" E& o5 D' Y$ }第二步要知道QQ的通讯协议,这个网上能够查询得到
* g! B; i4 D0 r! V- v) w5 Z+ G第三步才是分析加密算法,这个基本上很难很难 ^^)
h8 Z: w4 G% ?) j不过伪造UDP包进行QQ的广播欺骗轰炸相对要容易些。! U }# H( T5 C( |2 N
- S) W+ X" e0 S
附:OICQ服务器系统通讯协议
" W {% C1 D( s协议说明:: p, k2 ~! I6 O0 m8 C8 ~ [: G
8 A4 i8 F# f1 e5 `3 n3 R2 @ i3 j* t" a7 H& G; E
协议由报文头(T)+发送者(T)+接收者(T)+报文类型(T)+报文长度(L)+报文内容组成) ?7 Q: ^/ o! L1 U4 Y; v
. o. a' v" ?' u s, z& p发送者和接收者是系统内的程序种类,OICQ服务器01,传真服务器02,WEB服务器03,打印服务器是04,聊天服务器是05,OICQ用户是0A。 ' N- ]: x4 ?4 T* D* ]
: b( B0 o4 _- x! ~
OICQ用户到OICQ服务器的通讯协议 引导符 (81+0A+01); r9 S& B& L/ |6 S v7 R) E4 s
6 ?2 m. o5 v- y `- I报文类型 报文内容 报文说明8 d2 S' u) c' Z
2 l! G% t9 f/ D* [* z/ a2 ?01 昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)新用户注册,身份验证用于当有人要将他加入好友时询问是否允许
5 r% W6 s5 N, Q( u0 W0 L2 ^; F$ ?2 |+ G$ r6 m# Z; Y, C/ L
02 服务号(L)+密码(S)+注册方式(T)老用户注册,方式分为0正常,1隐身
. G. v& o. d2 ]3 L& w- C* R/ Q9 f$ ^, G# t# n6 q
03 服务号(L)+对方服务号(L)+内容(S) 发送信息到某人
6 A) ?6 p7 \5 I; Y8 A! Q& o4 K: Q+ o5 w
04 服务号(L)+组号(L)+内容(S) 广播信息,组号=0为全体
& j! [/ g( q+ i9 f& j/ k' @
. m& O( q1 b5 Y4 P3 Z! j+ l& t( G05 服务号(L)+朋友服务号(L) 查看朋友资料8 I0 D+ j; \& q6 g- h, V
- d& X5 N2 ?/ h0 `: E& e. ?
06 服务号(L)+组名称(S) 增加组. V, m8 @6 a" }! n# B1 C% ~. E" C* b: ]
2 [3 ~1 p- w+ U) ^3 f2 I& D07 服务号(L)+组编号(T)+组名称(S) 修改组名称 p& c9 E% r. M, n$ K7 u
& y3 C* I) B# o# i
08 服务号(L)+组编号(T) 删除组, c7 S& K: u& Q' V( T" x
& H7 Y( O5 ^6 u: q
09 服务号(L)+移动人数(T)+{朋友服务号(L)+目的组号(T)} 移动组成员8 z" z/ C" Q% \6 u8 V* T8 J- m! ?
6 b/ z3 Z2 j: i) x' C' o! J
0a 服务号(L)+起始编号(L)+回传个数(T)+查找标志(T) 看谁在线上, I% `' K4 R1 i2 H# @( u; `
8 `/ H6 j ^. W0 o
查找标志 1=向小找 2=向大找, U: a. {9 w7 S8 X) p0 i$ Q# G {
_1 o% ~/ Q) [9 S: F+ i- w! ?. e
0b 服务号(L)+SQL语句(S) 自定义查找. \9 z6 [1 N7 A# p5 t
, D- o+ O( L4 y3 I' }
0c 服务号(L)+朋友服务号(L) 增加好友, Z+ O" b' ?: s" O' K: j+ T/ \3 z
' S( _& [9 l' Q/ { t
0d 服务号(L)+朋友服务号(L)+加入原因(S) 请求加入好友
/ ^" E7 h! }, O) ?) c; G, l6 n" c8 E {) i; O) Q
0e 服务号(L)+朋友服务号(L) 删除好友
2 @0 F1 ]( A$ n; Z9 D0 T0 W7 b, D2 ] f @
10 服务号(L)+显示模式(T) 更改显示方式 1上线2隐藏3免打扰4离线! M/ F _+ S& L
) x6 O( B2 |% y8 G1 k' q C5 O; J11 服务号(L)+监视服务号(L) 监视某人谈话# o, g# Z9 p! i0 t. c" k
/ l6 B' t U' v. P% ~. A# j: L1 q
12 服务号(L)+昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)更改用户基本信息
! }& P* ?, v% B5 _" o
a& h/ A% V% U13 服务号(L)+朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件, i( Q+ I6 a+ i8 D' A; z
, _% u8 Z2 s P$ z8 o14 服务号(L)+朋友服务号(L)+允许/拒绝 是否允许发送文件8 a6 d( F6 z" R
& Y$ q1 ]& b# `; E( l15 服务号(L)+朋友服务号(L)+文件内容(B) 发送文件
8 S9 M0 `! _9 v8 h% ?0 @; L3 d
% N* ^4 ^; L$ n; P$ b16 服务号(L) 连接测试报文
6 z4 w8 d0 k) x$ B2 Q6 q, x
E) n* g) P3 f3 a) @0 t2 j17 服务号(L)+朋友服务号(L)+同意标志(T) 应答对方请求加入好友
, w( U% F5 h. [( F% [* R2 B `6 C" [+ ~
0=拒绝" |4 w* F; H2 K1 ?
/ U) S( y) [" ]
1=同意 |4 v* E8 w+ @1 {
# U7 z+ Z, \1 X. M1 ~' i7 _0 ^
4 c0 E; |' B# A2 F4 J: I9 b
9 k$ P) Q1 b$ B ~6 n D: R5 BOICQ服务器到OICQ的通讯协议$ V" S7 i8 A1 K7 U3 L0 ^
7 ^/ v1 @: V" s& R8 y+ C& h
报文类型 报文内容 报文说明
. [" W5 Y$ I |
4 q I/ d0 \0 p4 a6 ^01 成功/失败(T)+服务号(L) 新用户注册结果返回
2 d) ^$ E: _$ S. w: `
4 }4 x5 A9 e4 [02 成功/失败(T)+组个数(T)+{组名称(S)+组编号(T)+朋友个数(T)+{朋友服务号(L)+肖像编号(T)+朋友状态(T)+朋友昵称(S)] 老用户注册结果返回9 S. M% j% ~2 g+ @
7 C; h$ d# a J8 U
朋友状态
+ J" f- x% G6 | i" _4 O) \) w% O$ ^' n
1=上线=2隐藏=3免打扰4离线
m9 m0 _0 P) {% z6 D- h
0 Q b6 Q; A: w: N2 B03 标志(T) + 朋友服务号(L)+信息(S)+信息类型(T) 标志 1=系统 2=用户
0 z2 d% m. e/ F. h
* C+ }4 Q X7 M) ~* q: y+ m" {发送消息,服务号=0是系统消息# t# b2 o( t- h R
* @$ B" t9 D9 N$ `% g
1=用户某某已经把你加为好友5 r" _! D; p }0 Z4 y& _1 p
& j# v: w& p- I5 D2=用户某某请求你通过身份验证
' |! O& L5 Z d/ \) n, ?" p8 X9 C9 K/ I+ E! {3 O5 n3 ]9 q
3=用户某某同意了你的验证要求
9 X3 N: R; t0 u, d1 C/ G( S0 V: U* G0 D/ b, [4 V/ n; V) \' b) X
4=用户某某拒绝了你的验证请求. g {5 T+ F1 k7 {7 T
, J7 v) Z1 m/ A# t04 成功/失败(T)+朋友服务号(L)+昵称(S)+肖像(M)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)朋友信息回送0 q9 K) H+ N( J; R! z- U
! h# ^( A' }9 ]2 k9 b5 K9 q3 n" K
05 成功/失败(T)+组编号(T)+组名称(S) 增加组结果回送 1/0) f/ D# y- G, g& I' ~; Y. ] k, ]
; }$ V, w+ J: w% ~! R ]- `7 |+ S4 Q
06 成功/失败(T)+组编号(T)+组名称(S)修改组名称结果回送1/0
2 G- n p. }- x8 O+ W, K+ ~$ P+ ` ]4 W1 [$ {+ w3 ]
07 成功/失败(T)+组编号(T) 删除组结果回送1/0& L; c9 w0 `- S* O# z
- w% E. i: k3 R
08 成功/失败(T) 移动组成员结果回送1/00 W5 A9 c1 x ?, i n( j& e
" i6 E* {0 s4 _/ P/ |1 g
09 成功/失败(T)+在线个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 查找在线人员结果回送- E. `1 o0 J! J: b
; i/ w+ K' f) ]( o1 G) T0a 成功/失败(T)+找到个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 自定义查找结果回送(最多50)9 p% d5 k2 _! ?
+ g- a j/ s! g3 r
0b 标志(T)+朋友服务号(L) 增加好友结果回送标志2 F9 I$ I! N5 O5 q
, g( ]$ S9 Q7 I" _( Z
0=数据库失败
9 Z* A& Y$ H4 B/ M+ w; l% C+ P/ n, a$ n: Q
=1成功
7 l+ p. c7 u# d* P8 Q' t7 j, |" K5 e" _6 X }2 a
=2需要身份验证
/ k# I8 P7 `5 C
p$ ^" G) s- L: G=3对方不允许加入- B1 `) F9 p' W$ K/ v7 k/ a3 W
+ S6 J3 M& o7 H" i# N
=4需要身份验证且不在线
2 j, k, r" h* m* g1 t1 B5 S6 f# l/ v. n5 r
0c 朋友服务号(L)+昵称(S)+肖像号(M)+朋友状态(T) 给在线用户增加好友9 y v }2 [% @) o" @
- t! c1 |7 h" U* L# p( H0e 成功/失败(T)+朋友服务号(L) 删除好友结果回送8 ~2 ^( l9 b# }/ m+ W( f
- j/ Z8 U; u3 r& c' q10 服务号(L)+显示模式(T) 显示模式回送 =1上线=2隐藏=3免打扰4离线
% a" X Q9 Z% F6 K
' a/ \+ q% V' a0 P# X2 a11 成功/失败 更改用户基本信息结果回送
% Z! ]* }" o2 T5 \' K& y/ u3 z
) p5 a5 T A' ~# c& w, \12 朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件
4 S& S7 z% h; u$ V) D2 u" m5 Z' N% o4 S. U8 {2 i
13 朋友服务号(L)+允许/拒绝 是否允许发送文件 1允许 0拒绝 C0 |. q( d0 q4 C5 Y) u
. j; v5 }. f- g. m14 朋友服务号(L)+文件内容(B) 发送文件
8 f. s7 w1 R# {+ j5 w7 h) \$ v/ n$ P J) d2 q5 w& t3 l, Y
15 朋友服务号(L)+当前状态(T)朋友状态回送(系统发送)=1上线=2隐藏=3免打扰4离线
7 @: Z5 c3 P7 a# v5 f3 \3 `
2 V# T& L/ |" T" m16 服务号(L) 连接测试 |
|