|
想要得到QQ的加密算法,得到QQ的通讯数据只是不到1%的工作量,因为任何抓包软件都能够得到QQ的通讯数据,而且比WPE更好更详细。
; |4 L) A: h, y第二步要知道QQ的通讯协议,这个网上能够查询得到& U, F7 W% h2 J s$ G
第三步才是分析加密算法,这个基本上很难很难 ^^)
2 M, R+ e$ k& O8 B! W不过伪造UDP包进行QQ的广播欺骗轰炸相对要容易些。
5 [7 z* Q4 R9 H( V+ n7 ^( a* `* {
附:OICQ服务器系统通讯协议, E9 G( u0 e8 H4 L
协议说明:
7 j) z1 e' Q. }- S: V: Y
% @# t( P& D% d: D% e& }1 O
8 o {* z" a: F6 s4 C" o, \协议由报文头(T)+发送者(T)+接收者(T)+报文类型(T)+报文长度(L)+报文内容组成* d- x: x! A5 D. \
9 J3 Z, X5 d/ w y0 b: v/ R$ J发送者和接收者是系统内的程序种类,OICQ服务器01,传真服务器02,WEB服务器03,打印服务器是04,聊天服务器是05,OICQ用户是0A。
0 P8 U4 m; d9 r- X* S
2 Q; n( P) N$ \+ EOICQ用户到OICQ服务器的通讯协议 引导符 (81+0A+01)0 Y/ e7 o, M0 W. a" W6 m+ L
8 y0 E6 F$ h) Y9 I% J1 b报文类型 报文内容 报文说明 M% d. l& w+ f8 F& r' s
( s6 E: ?0 K9 @ r5 u8 \
01 昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)新用户注册,身份验证用于当有人要将他加入好友时询问是否允许
" R$ z+ h4 W' f
$ l& \! y* r0 M02 服务号(L)+密码(S)+注册方式(T)老用户注册,方式分为0正常,1隐身
% i- C/ s( `3 y6 @4 C! k
6 w3 M! b, N8 g0 j p, y( S03 服务号(L)+对方服务号(L)+内容(S) 发送信息到某人
0 [ X; y* t' c; i; X
) k! d" N& F1 u- l& [0 N. Z! {04 服务号(L)+组号(L)+内容(S) 广播信息,组号=0为全体
& o" S9 W+ [; V" A2 s. ^4 [4 u( P2 p( ^; y9 S* x
05 服务号(L)+朋友服务号(L) 查看朋友资料% w4 r2 R' Z* K" N/ ]
, p" O' d+ |% Z2 @9 D: C, n
06 服务号(L)+组名称(S) 增加组
( x% l' K8 O# A q9 ]* {) |
/ I. X% i3 u# C; P c5 D* a07 服务号(L)+组编号(T)+组名称(S) 修改组名称
- Q8 y: V: Q& |, q$ O( U& {) j7 O+ S4 G; y3 @: m, r- E
08 服务号(L)+组编号(T) 删除组
: v# ~1 p, ^7 r; q9 U* M5 f/ b5 s
; ?7 N: J' p( C. N; f% U P9 x09 服务号(L)+移动人数(T)+{朋友服务号(L)+目的组号(T)} 移动组成员( R$ K& N8 o* L9 _, f/ F
2 \& Y% r7 @! x% T6 w7 x0 B- F0a 服务号(L)+起始编号(L)+回传个数(T)+查找标志(T) 看谁在线上& a5 o. D D9 a! n: S1 |5 E; W& u
2 t( @/ v; N5 f, J( U查找标志 1=向小找 2=向大找
" K$ u0 M5 p8 s7 U. n x0 @* B
$ g) d9 i+ \& R4 }0b 服务号(L)+SQL语句(S) 自定义查找
% J0 t9 a* _1 F' O/ ^" W0 V. u. M9 ~* J/ u$ Y. T$ i0 n
0c 服务号(L)+朋友服务号(L) 增加好友% K1 R G! g, l9 U
9 Q# D h o7 X) W* a; u, g3 b1 x% Y, J0d 服务号(L)+朋友服务号(L)+加入原因(S) 请求加入好友
Y, Y$ M! W# h) C# K3 Q, o/ R7 b4 h2 e5 h6 c- L
0e 服务号(L)+朋友服务号(L) 删除好友
) K: U1 U2 L6 D
5 `0 Z" u, Q0 B, a0 ~10 服务号(L)+显示模式(T) 更改显示方式 1上线2隐藏3免打扰4离线8 v3 R% U/ H9 W1 N# r d2 K$ `
+ L( f- `6 ] J11 服务号(L)+监视服务号(L) 监视某人谈话$ }9 n0 ]! b# y, x
2 S, v+ c4 ?7 k" c0 G; t12 服务号(L)+昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)更改用户基本信息3 C, ?( A5 ^- K: @0 U
- N P$ v/ ]5 @7 Z- e13 服务号(L)+朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件! J! V! r2 `8 n& x
+ K, Q. ?7 a, B. `14 服务号(L)+朋友服务号(L)+允许/拒绝 是否允许发送文件
% `9 k" i M8 t" c, L+ G u
8 H- o m7 ?( N15 服务号(L)+朋友服务号(L)+文件内容(B) 发送文件
2 m" R5 a5 Y) L1 r+ {0 M% l
4 h6 V) x+ M4 r16 服务号(L) 连接测试报文1 u, t% w1 b c- J V
" M' O* m# r: j& h6 m" p: a3 h17 服务号(L)+朋友服务号(L)+同意标志(T) 应答对方请求加入好友# [7 {) r( t% i3 e4 f4 L! S
6 S- z0 Y# i+ @& l6 \& Z+ P Y
0=拒绝
6 U6 Q- \( Z, j9 m" M ]( X/ C I0 X
1=同意$ ?* a+ O. o3 z5 \* l& @) j; N+ O6 Q7 e$ C
, a) _. R% n/ E* z" r1 @ 0 D- P" w% Q$ y2 p# g1 M0 k" a- k
% o3 Z( ?/ b2 S5 X) |
OICQ服务器到OICQ的通讯协议, {2 n' ~& w, K/ B8 C
2 M6 h8 A" s7 \报文类型 报文内容 报文说明0 }$ t3 U+ l$ J$ ~& `6 b! A
' L% ?/ J4 |. d$ N+ V' K) d
01 成功/失败(T)+服务号(L) 新用户注册结果返回- L4 C! E R. ~6 y
' n1 ^( \3 X7 Q" g02 成功/失败(T)+组个数(T)+{组名称(S)+组编号(T)+朋友个数(T)+{朋友服务号(L)+肖像编号(T)+朋友状态(T)+朋友昵称(S)] 老用户注册结果返回5 s/ Y( N O. }, L( }5 `
& ?$ i0 s h$ p& U/ r朋友状态" R O7 i! B) n/ M
% w8 J$ g8 P6 j, P1 l* Z9 r) d
1=上线=2隐藏=3免打扰4离线/ |3 ^# I |' d, ?/ L' ~% K
+ O' t7 I1 b. B8 r7 v03 标志(T) + 朋友服务号(L)+信息(S)+信息类型(T) 标志 1=系统 2=用户
1 D) e8 p) W! T8 K9 R! h( e4 g4 z& ^. \% D3 e
发送消息,服务号=0是系统消息5 X! n+ R, L2 r
( m) l3 j8 P) a. u. }% {1=用户某某已经把你加为好友- x. l7 h& {, g6 P% t8 m' @; @; E2 x/ D
, K% x1 a. B6 f' i" i# J
2=用户某某请求你通过身份验证
8 y1 {- m" g" N$ c8 [: q9 h, a- o! k5 }
3=用户某某同意了你的验证要求( {, |5 O5 a: q6 w
* Z" ~1 A. f8 d
4=用户某某拒绝了你的验证请求
3 Y7 y8 ^6 |* r# f ~- S1 f+ C1 ?
04 成功/失败(T)+朋友服务号(L)+昵称(S)+肖像(M)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)朋友信息回送2 F0 I1 e# O$ {9 T5 K7 U7 p
3 `7 n$ T# X5 W# a6 K
05 成功/失败(T)+组编号(T)+组名称(S) 增加组结果回送 1/0. F. t t) w5 |; U
9 p3 N1 e& `) R% B. X1 W+ _06 成功/失败(T)+组编号(T)+组名称(S)修改组名称结果回送1/07 E$ G% l6 r( a9 m w' \8 X
0 E0 e+ ]# u6 z: F
07 成功/失败(T)+组编号(T) 删除组结果回送1/0
6 Q7 O1 |+ k5 D& z; i" @; o' W4 y& S! \( E! {/ c) G
08 成功/失败(T) 移动组成员结果回送1/0
) n" O4 \4 O3 q& c ]: G5 {" H( C" J+ q8 u
09 成功/失败(T)+在线个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 查找在线人员结果回送- I) H: M2 m0 c, \
& @8 ]) G+ n5 n: {. L
0a 成功/失败(T)+找到个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 自定义查找结果回送(最多50). Y* ^7 d. z1 L. [# D. |4 [9 t; f2 s6 H
6 b+ [, D2 R4 ~% I2 I( C, Q# J
0b 标志(T)+朋友服务号(L) 增加好友结果回送标志
V2 O6 p5 x" _: o. B
& n0 S6 f) Z2 w1 J8 J# ]& I0=数据库失败" [/ E4 h; n" d( n% n- M0 D; h
& D- U- G, c; P7 J/ o: y2 H=1成功
: p6 }& N& ~9 p
; u* c& S/ z5 C4 i. R' f=2需要身份验证( K8 V( l" Y; ]: \2 |9 h
2 ]1 ?) n$ y: ^4 V& [
=3对方不允许加入
( U ~) h* S4 L- w
# W3 u8 {% ]9 f=4需要身份验证且不在线
3 L7 N2 g7 m# f3 n, c
* i2 p% _" S' z/ F$ x5 G m) T0c 朋友服务号(L)+昵称(S)+肖像号(M)+朋友状态(T) 给在线用户增加好友
p" A1 D8 R i! D! ]. v0 f2 J2 B- M3 E4 ~- f$ K( `
0e 成功/失败(T)+朋友服务号(L) 删除好友结果回送: e# Q0 ^0 V+ Q% X5 ]/ ^& @" ~
2 B. Q( E2 `& O' k& |10 服务号(L)+显示模式(T) 显示模式回送 =1上线=2隐藏=3免打扰4离线2 P- |; L- J0 A6 B0 z P
5 E# p H! t5 Z* h8 k5 I0 @11 成功/失败 更改用户基本信息结果回送
9 z! P# H3 C: D8 u+ G3 r" p/ p9 @+ K3 X+ x% x% U9 J& w
12 朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件
3 L( b1 M. N# E3 v7 c) `2 `& V5 U, D0 U! D# e8 _9 t
13 朋友服务号(L)+允许/拒绝 是否允许发送文件 1允许 0拒绝
9 B* g( `+ o C; }/ n( I- J
! c% }$ F9 b) e14 朋友服务号(L)+文件内容(B) 发送文件9 e# s* p B8 @6 u1 l
( a# t" @' C+ r% [5 w/ {/ I15 朋友服务号(L)+当前状态(T)朋友状态回送(系统发送)=1上线=2隐藏=3免打扰4离线
; Q# G( \' d, [: z
0 Y6 I& C& F3 Z! | \+ q* |4 o W16 服务号(L) 连接测试 |
|