|
想要得到QQ的加密算法,得到QQ的通讯数据只是不到1%的工作量,因为任何抓包软件都能够得到QQ的通讯数据,而且比WPE更好更详细。
9 T) ~; W4 X* |5 U1 C第二步要知道QQ的通讯协议,这个网上能够查询得到3 C. G' U2 Y6 L3 J
第三步才是分析加密算法,这个基本上很难很难 ^^)- Y u; t* O6 l9 B3 Z) R, t
不过伪造UDP包进行QQ的广播欺骗轰炸相对要容易些。. E" }! F& F# i$ ~( e
7 g% z2 t7 H) K/ K% l7 o
附:OICQ服务器系统通讯协议
9 k, Q2 z# D+ T/ p协议说明:
: l/ B1 P3 k6 X/ l6 F: f7 ]
& Y1 Q8 ]) l" ]6 A" q; t
3 @! C' k: E7 S2 @协议由报文头(T)+发送者(T)+接收者(T)+报文类型(T)+报文长度(L)+报文内容组成
6 d- c$ s8 C. Y% S3 T3 e$ K1 {& x7 U+ [" q, l6 A
发送者和接收者是系统内的程序种类,OICQ服务器01,传真服务器02,WEB服务器03,打印服务器是04,聊天服务器是05,OICQ用户是0A。
# H7 P" R9 Y+ k8 Y
+ b& B: M$ I" z( y- @8 _# DOICQ用户到OICQ服务器的通讯协议 引导符 (81+0A+01)3 S9 M# S! D! D {- |0 y8 o6 j/ |9 a) s& L
1 j. m# v( M0 e- n3 p+ o$ ], X$ t$ A) s报文类型 报文内容 报文说明
/ Z5 l2 N" H1 D0 H8 z7 H
/ B$ x$ N$ f: ] Q01 昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)新用户注册,身份验证用于当有人要将他加入好友时询问是否允许) z7 s0 O4 {: M* b
3 d7 j( M/ l$ T H+ m/ l. J
02 服务号(L)+密码(S)+注册方式(T)老用户注册,方式分为0正常,1隐身
& h. [ ^0 o1 @5 z1 v1 w
/ q7 {6 _5 I5 Z3 m4 n; @ U8 X; e03 服务号(L)+对方服务号(L)+内容(S) 发送信息到某人
- l- I/ P9 M8 e. _$ G3 E: \% g6 K) ~2 Y4 w
04 服务号(L)+组号(L)+内容(S) 广播信息,组号=0为全体" V5 f3 {6 p$ [/ c; s, b
" _5 Q. \) z+ K1 b
05 服务号(L)+朋友服务号(L) 查看朋友资料
& i3 k! W6 t B/ Z& e, @8 v% r+ D1 ?- m: H: h* C" p' K# |# a
06 服务号(L)+组名称(S) 增加组1 E- Y2 a% Q Z9 S
3 p/ ?3 z9 b3 s' a
07 服务号(L)+组编号(T)+组名称(S) 修改组名称
6 W4 B& _% J/ w2 z
1 T2 ]; }) }: r# r0 |" e08 服务号(L)+组编号(T) 删除组
: @& {2 l e( F4 m* N& {5 J. @) P9 D' Z8 Q' q2 {
09 服务号(L)+移动人数(T)+{朋友服务号(L)+目的组号(T)} 移动组成员
* Q% [/ _3 ~' p9 D( q3 v8 j- y% h' y: `' P# H
0a 服务号(L)+起始编号(L)+回传个数(T)+查找标志(T) 看谁在线上: l+ }% }9 y/ {# M& i
h# w3 I( J6 h3 U/ Z, E
查找标志 1=向小找 2=向大找
# Y1 h' p/ ~1 }* Y& E& r6 v9 k4 m# L$ g* r, C0 H1 Z
0b 服务号(L)+SQL语句(S) 自定义查找 Y( _& P" h" Z; o5 d; u" d
* U; o& G( Y( a' S7 n0c 服务号(L)+朋友服务号(L) 增加好友! _* `' _+ R, W
6 C/ f A& G' k# l2 `6 Q( j0d 服务号(L)+朋友服务号(L)+加入原因(S) 请求加入好友; s0 M; Y% G4 n
1 r+ J) k8 R6 A9 p( r5 O; U' A6 O0e 服务号(L)+朋友服务号(L) 删除好友& {4 Q. L7 L5 J% J: t
0 B" G/ {/ r4 Q3 P0 Y- B- K10 服务号(L)+显示模式(T) 更改显示方式 1上线2隐藏3免打扰4离线( b( x! I5 m# [; a, z& V% o8 f; Q5 z: v
- ]1 ]4 Q6 L8 H% e! {6 M H! D% X11 服务号(L)+监视服务号(L) 监视某人谈话
& j3 l& b! w5 O
/ p- w; I% B6 s3 K8 f12 服务号(L)+昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)更改用户基本信息4 I, s2 V4 G: G2 c0 O$ V' b
; x! N, B4 w5 _2 l& `4 _8 B2 h3 z13 服务号(L)+朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件
/ N. a, h2 X, d: J0 Y- V0 s/ f+ i% t
14 服务号(L)+朋友服务号(L)+允许/拒绝 是否允许发送文件: m& c( h' L1 T+ ?6 ?% c# q
6 Y k! O3 T* M9 a; ^& G; Y# S8 {15 服务号(L)+朋友服务号(L)+文件内容(B) 发送文件
3 ?1 E4 V9 U! z3 b
. a; }; i0 E; ]2 a o$ K16 服务号(L) 连接测试报文2 L7 d A: q$ z8 q
4 H. K" A, d# x0 h+ I5 O! q17 服务号(L)+朋友服务号(L)+同意标志(T) 应答对方请求加入好友1 o5 ~; C# q) _* H( ?; m2 G
. \. X0 C" Q q& o
0=拒绝4 q a$ Z$ ]0 `. L0 v5 E% W" V: \# k& {
* [3 F, y- W: ?& e; B
1=同意
9 r; G2 i! k) t( f
$ ^; c( g- t, E+ f
! R8 L! _, p" L# O6 _: [2 F) e. {+ \3 ~ z- Y A% Y
OICQ服务器到OICQ的通讯协议% h0 Q# \, Q. S6 s- H! a# A' [
* l1 _8 k" g$ r0 a- l4 Q. k" i
报文类型 报文内容 报文说明9 }1 _' S" ^ \! [8 }" C" L* ]: [
- C. @6 E+ u# j/ h& k1 l) g+ N01 成功/失败(T)+服务号(L) 新用户注册结果返回( K& B0 t" U* e! `
5 z% B, Z) Q7 p7 S" [' f+ ?7 ]02 成功/失败(T)+组个数(T)+{组名称(S)+组编号(T)+朋友个数(T)+{朋友服务号(L)+肖像编号(T)+朋友状态(T)+朋友昵称(S)] 老用户注册结果返回* K* J7 G5 E9 h' r" Y
& Y, w: R; U0 _朋友状态! s+ a. k8 `) T& d" q. h) G; j
! D# a" f9 P1 G5 H- s# ]
1=上线=2隐藏=3免打扰4离线
5 b* c9 i% {3 \" n4 ]
0 a) } L: t8 f* R }03 标志(T) + 朋友服务号(L)+信息(S)+信息类型(T) 标志 1=系统 2=用户$ [0 }! E* L/ u4 B* v5 E, g
2 S. E. r! u! z8 I0 R$ ?3 A
发送消息,服务号=0是系统消息
, W1 ~0 v- t S# u, I* h) K
$ ~! E6 Z, Y& x* O4 Z! a1=用户某某已经把你加为好友
2 S0 o5 M# z( e
/ n! W6 E6 Q4 @- f2=用户某某请求你通过身份验证
0 Z5 W' R6 X7 T! J. J$ b5 F& G! [' A. Z4 r1 W0 T1 C& E% Q* d
3=用户某某同意了你的验证要求' x( g+ i3 N. \- I
! D$ a% T/ y9 N- m
4=用户某某拒绝了你的验证请求" ]' f7 w6 P t9 f5 E9 L- ?/ p6 X" m
) p# v4 T' X2 w4 U5 U, r04 成功/失败(T)+朋友服务号(L)+昵称(S)+肖像(M)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)朋友信息回送
% I. ?: i2 O1 b) P. f' j! p5 Z
3 V& C- \9 e; \05 成功/失败(T)+组编号(T)+组名称(S) 增加组结果回送 1/0
& _6 J# x/ U* L$ Q2 M3 E0 i+ n. f M7 F3 A
06 成功/失败(T)+组编号(T)+组名称(S)修改组名称结果回送1/06 k' P# ?3 J- Y: k
3 z0 R- N/ L1 y' m# o07 成功/失败(T)+组编号(T) 删除组结果回送1/0
' [) g. Z# J9 R# H% Q3 ^
' @1 ~! C& B* H. T08 成功/失败(T) 移动组成员结果回送1/0/ r# N/ h1 x& K/ F
6 e1 |, l) L) i
09 成功/失败(T)+在线个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 查找在线人员结果回送
, H! U' R/ i% ]: a/ j4 |, V& o; |) ^
0a 成功/失败(T)+找到个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 自定义查找结果回送(最多50)
2 H N0 T# N3 \! P: B* [) y1 ~( P H1 K0 [3 d/ W0 q
0b 标志(T)+朋友服务号(L) 增加好友结果回送标志
2 f7 ? l' O; T/ B3 _& Z# J7 P* `2 l% Z" [5 _( @
0=数据库失败. O# K# V. f# G+ L& E
: R6 v2 R- N2 Z3 R7 Q
=1成功
- P% O2 e$ {% T; }
; g' t' v) b8 ?. Y! f. Q=2需要身份验证 D7 ^' c. w( [2 _
8 w5 `. q- {! y9 _=3对方不允许加入/ ~2 V0 {' N7 K' O
9 y% @4 D# [: L* J4 }=4需要身份验证且不在线
" x: q( i M1 G, c' q; T6 {4 N, @1 q5 b7 a/ s$ w" n( @+ u
0c 朋友服务号(L)+昵称(S)+肖像号(M)+朋友状态(T) 给在线用户增加好友
* F* d! a( Z" U7 ~" P. C8 { K( [. N* S2 X' O2 v
0e 成功/失败(T)+朋友服务号(L) 删除好友结果回送9 Z% E) c/ A# M7 q1 h1 L- M
6 Y% ]! n! S3 U8 C$ J" {, `; v, Q6 n10 服务号(L)+显示模式(T) 显示模式回送 =1上线=2隐藏=3免打扰4离线
# G% V+ k: z- X+ e9 @* v0 p2 I: B" B0 i7 U" {% r) n/ y: O0 b
11 成功/失败 更改用户基本信息结果回送5 O$ f2 \0 y, [( T+ I! x+ ]5 ]4 R- d. n
; E& g w) }3 z2 T1 V4 m/ }12 朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件; W; c' a" r' A) D* O2 h) m) U
- c0 S* P, J* k0 h0 ~13 朋友服务号(L)+允许/拒绝 是否允许发送文件 1允许 0拒绝
0 i# x: M, b. h. i3 Y- W6 g4 t& W r: I" \6 z! P( Z @
14 朋友服务号(L)+文件内容(B) 发送文件& M+ `; O! ^4 S( Z2 z( g
- t* p, W1 d* o+ D
15 朋友服务号(L)+当前状态(T)朋友状态回送(系统发送)=1上线=2隐藏=3免打扰4离线0 a$ e0 B0 y9 h- Y `6 d
" d1 K' g+ P+ p7 X0 H2 j) |: ]( S
16 服务号(L) 连接测试 |
|