|
想要得到QQ的加密算法,得到QQ的通讯数据只是不到1%的工作量,因为任何抓包软件都能够得到QQ的通讯数据,而且比WPE更好更详细。
' O8 G& x" R8 [9 g第二步要知道QQ的通讯协议,这个网上能够查询得到' Y, k' Y* r5 P& h& \' W* E+ ?
第三步才是分析加密算法,这个基本上很难很难 ^^)
' R/ L' D4 i o0 }/ r' a% u" D不过伪造UDP包进行QQ的广播欺骗轰炸相对要容易些。
' i* {& M4 }( X* A/ y' k& w: y9 T2 M" r1 Q4 I
附:OICQ服务器系统通讯协议5 E x" ^( f/ l0 H7 U7 ] V9 ^( H
协议说明:
8 R7 x: Q; {! q C( |1 ~2 \ ?; A L6 ]0 j) y5 q. D% e
& k+ ]: R; h" p2 t* @
协议由报文头(T)+发送者(T)+接收者(T)+报文类型(T)+报文长度(L)+报文内容组成
$ R. Q) g8 ^6 s7 X1 G, k$ e/ ^& [+ f2 v
发送者和接收者是系统内的程序种类,OICQ服务器01,传真服务器02,WEB服务器03,打印服务器是04,聊天服务器是05,OICQ用户是0A。 : d6 `; F% P: ~0 U# M8 C
( u/ f. w, E" \0 T( yOICQ用户到OICQ服务器的通讯协议 引导符 (81+0A+01)
; O7 m! y0 j- Z8 N+ |& i# \
0 @8 B: ]0 I/ d" `报文类型 报文内容 报文说明4 A; n/ o1 Q( z8 m( X7 K2 o
: |2 b# K1 b3 y9 [
01 昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)新用户注册,身份验证用于当有人要将他加入好友时询问是否允许9 ^/ y3 }% M0 a/ C' Z1 r
8 x- u0 R) a5 P) d4 T02 服务号(L)+密码(S)+注册方式(T)老用户注册,方式分为0正常,1隐身+ D; j6 k5 Q( C" x( P
- h6 O! A" p+ S5 m1 o. d03 服务号(L)+对方服务号(L)+内容(S) 发送信息到某人
3 P: D7 {8 T8 w1 n0 C J+ c: s
, P' N4 I& n9 V, A$ Q% B04 服务号(L)+组号(L)+内容(S) 广播信息,组号=0为全体
, M+ }5 z3 Z K) t% s& [" h
* o, Q( x7 B; X1 S; G05 服务号(L)+朋友服务号(L) 查看朋友资料
y# r' T2 U" c- U4 K
* j, O7 M \. {( t+ m1 N06 服务号(L)+组名称(S) 增加组- i( x. F: b' J3 ?. w/ A
& O& t' y! w) \/ j- c6 Q6 P
07 服务号(L)+组编号(T)+组名称(S) 修改组名称
6 x/ Q% \1 @0 t7 E% d) l2 W3 ]4 L! e
08 服务号(L)+组编号(T) 删除组
6 ]; x1 q* F# G a: V3 }" F. p2 g {5 n; C( |/ w" G2 a
09 服务号(L)+移动人数(T)+{朋友服务号(L)+目的组号(T)} 移动组成员
1 D# s7 Z8 b7 g z2 S) c( i
- Q0 S+ _0 A4 ]) E5 e6 `0a 服务号(L)+起始编号(L)+回传个数(T)+查找标志(T) 看谁在线上
3 N/ k. D; Z5 S) k
7 a! U& G( W) T查找标志 1=向小找 2=向大找
. c3 ~" S$ W$ V: k# o
. K! A) J8 }1 @8 k5 |# w/ F3 D0b 服务号(L)+SQL语句(S) 自定义查找
: J/ @' m2 A/ M4 o2 M" z o& I( u' M7 e; ~8 v6 L
0c 服务号(L)+朋友服务号(L) 增加好友/ R/ u: J b& ^( L2 G8 ^
5 B7 [4 [7 |4 f/ g8 H9 R, k3 h
0d 服务号(L)+朋友服务号(L)+加入原因(S) 请求加入好友
& \- _' t4 `' E
* e; O* L& Z& M d* x. K2 Y3 T0e 服务号(L)+朋友服务号(L) 删除好友
. ^; ]8 ], L' W; ^8 c+ h. l" P; b6 _6 `; F9 u
10 服务号(L)+显示模式(T) 更改显示方式 1上线2隐藏3免打扰4离线
; D0 n. I- J( T. ^& C: Z( X
7 q x) K0 H8 h# q* Z11 服务号(L)+监视服务号(L) 监视某人谈话
' X: N9 i+ F" k D, F$ F- | a5 V/ v
12 服务号(L)+昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)更改用户基本信息* ?5 v6 Y9 U8 J( ^( f6 G+ g
+ _+ h, S$ `! r$ t13 服务号(L)+朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件( b) ^" r/ L6 Y4 O! |- e& c
. I) z: w; w, H8 w9 X+ X8 a+ [
14 服务号(L)+朋友服务号(L)+允许/拒绝 是否允许发送文件
8 t0 u* x; v2 N3 f( \) d- W# h6 k, Z
15 服务号(L)+朋友服务号(L)+文件内容(B) 发送文件, e5 E+ v! O0 C6 S" Y3 z* c
) @0 }8 g. A6 i0 F% R; u0 y: ?9 q16 服务号(L) 连接测试报文/ A5 u+ h# A- i# ^- Z, z
( w2 e# Y- n% d. n& o+ W/ b
17 服务号(L)+朋友服务号(L)+同意标志(T) 应答对方请求加入好友0 z$ R! L4 w' f# q# O( f
+ t, X0 c% ^8 N
0=拒绝
; V* h+ _ _5 j$ w/ Q0 H) ?$ m& u: g( `5 K
1=同意
- p4 R% f. }6 F8 _7 C9 T$ N% s+ K
6 `& {, U: S$ A" H- m$ Q: a+ c
+ ^5 w: K! _7 O! M: c8 |7 k
OICQ服务器到OICQ的通讯协议
" U- {+ @2 D z! ^! x, V3 h4 H& t, x' A* V9 s+ F# n S
报文类型 报文内容 报文说明
6 V& n# M* y0 u6 o1 Z3 ?+ |
* G5 f9 Q4 R5 E% D01 成功/失败(T)+服务号(L) 新用户注册结果返回3 f) K8 @; ^0 I- `
9 [) ^- X# J- o C8 g- r
02 成功/失败(T)+组个数(T)+{组名称(S)+组编号(T)+朋友个数(T)+{朋友服务号(L)+肖像编号(T)+朋友状态(T)+朋友昵称(S)] 老用户注册结果返回* b2 |7 p- w+ U: z/ v+ H
# | c; S$ k) y* {) H s4 [- |+ X
朋友状态 I6 R$ B7 G9 W( B8 T3 ?! C( d' G
. ?) i: z- {5 D) ]: Q
1=上线=2隐藏=3免打扰4离线
, D6 n% i6 a( E m5 e) I4 c1 t
, @4 u0 {& P; o6 Y D( D( S8 h2 g03 标志(T) + 朋友服务号(L)+信息(S)+信息类型(T) 标志 1=系统 2=用户
% S; @4 Z0 r7 I9 B2 W7 F/ X' W& n! t: X! E- s
发送消息,服务号=0是系统消息
7 ]$ d' F, p' @! P4 G- J: ?) R
8 ^3 {# Z% ^. h: e1=用户某某已经把你加为好友 o: ?" q4 g" K+ R+ f
9 A1 X# C7 D: Q% k/ ^2=用户某某请求你通过身份验证( E% D9 C0 P! R7 m: B4 z
) C" v6 i# c! w7 T
3=用户某某同意了你的验证要求
9 s. z; n4 w" _9 ^! _! P" y z! a: ?. M6 |7 k! J6 ` X6 y) E
4=用户某某拒绝了你的验证请求, N4 m, ]0 g1 R c2 M; `& v: s- C
; s5 [# R& V- n3 r6 ]9 B. K
04 成功/失败(T)+朋友服务号(L)+昵称(S)+肖像(M)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)朋友信息回送* V! ~6 l K% d6 I" |3 u o, ~
$ [* O3 ~$ _5 t/ B' w) \
05 成功/失败(T)+组编号(T)+组名称(S) 增加组结果回送 1/0
1 E; D0 Y0 l# x+ Q! M! P
4 {# x* b) S7 ?! r" \) f06 成功/失败(T)+组编号(T)+组名称(S)修改组名称结果回送1/0( x2 F( b0 T/ s5 P- m, l+ N
9 m2 J1 B9 ?- q$ O
07 成功/失败(T)+组编号(T) 删除组结果回送1/0
8 Z" K& m0 g+ U& L4 T2 l
8 i* x! n1 H+ U1 }08 成功/失败(T) 移动组成员结果回送1/0
: u- j0 s; A1 \# F* {" Y- t6 q4 B9 J# K9 q8 W/ Z
09 成功/失败(T)+在线个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 查找在线人员结果回送
* z2 Y0 E9 b$ c0 n2 H. |, L' d* t1 G7 q+ ^+ F+ q+ l2 B
0a 成功/失败(T)+找到个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 自定义查找结果回送(最多50)
! U0 Y1 D, t* r/ O5 K+ Y' I" W' k* ?2 Q/ U9 C8 w1 G. S
0b 标志(T)+朋友服务号(L) 增加好友结果回送标志1 Q! j2 h! t* f5 }/ e* K
; l) f6 q- j! I6 i2 i
0=数据库失败$ |5 i1 i+ ~+ ]8 M, i5 A
' C+ J& b" G2 W7 t
=1成功+ D( l+ h% C# ^ \0 G- M
1 m! F2 y/ v& M1 W8 w9 Q=2需要身份验证) A* {2 S( ]( l! I8 q
4 ^" z* W' i( ?/ I5 L
=3对方不允许加入
' Q% S) q9 n4 k, m7 G) j* `4 b; e% ?5 ?7 T
=4需要身份验证且不在线/ H7 n0 c5 [9 @1 ?
4 ]' V& Q$ J2 s& J
0c 朋友服务号(L)+昵称(S)+肖像号(M)+朋友状态(T) 给在线用户增加好友
' ~1 W* C0 q8 @! N) R2 _
% [4 r* w2 i) w8 n0e 成功/失败(T)+朋友服务号(L) 删除好友结果回送5 P4 F: G, Q. a+ ^; P7 X( q8 P
. N7 U" p5 M& G3 w10 服务号(L)+显示模式(T) 显示模式回送 =1上线=2隐藏=3免打扰4离线
* y# R5 i3 R3 ?2 N* a$ |
6 i; r, Y4 Y7 v- q3 U' p2 }11 成功/失败 更改用户基本信息结果回送
4 n5 p! F$ H& ?5 z8 h
, n. Q8 c" t" D* @7 ]12 朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件2 P" e+ e/ n8 F' l
( q+ ?5 `9 j' W$ M& |9 e/ r, Y' N13 朋友服务号(L)+允许/拒绝 是否允许发送文件 1允许 0拒绝
) F* T9 q. Q4 Q n, A% D5 d4 E- Q, v6 i( N; V: ]
14 朋友服务号(L)+文件内容(B) 发送文件* n2 h8 M1 S3 I
7 ^$ p: {+ k8 u$ B3 V3 e15 朋友服务号(L)+当前状态(T)朋友状态回送(系统发送)=1上线=2隐藏=3免打扰4离线
6 q4 M3 G+ z2 A9 P: Z" ]- Q2 H& p) P: p9 ]3 o
16 服务号(L) 连接测试 |
|