|
想要得到QQ的加密算法,得到QQ的通讯数据只是不到1%的工作量,因为任何抓包软件都能够得到QQ的通讯数据,而且比WPE更好更详细。
% p% J: ` z! Z$ ^6 `第二步要知道QQ的通讯协议,这个网上能够查询得到. a/ U4 H: ?! C
第三步才是分析加密算法,这个基本上很难很难 ^^)
2 d6 o( ]# T. I- `: }" t' r不过伪造UDP包进行QQ的广播欺骗轰炸相对要容易些。& [( U! C+ W& J: r! H5 \
( j+ \5 ^0 E. H2 n+ i& `: t附:OICQ服务器系统通讯协议
* S' K( a# G8 }: |2 r3 F协议说明:$ I6 k% a: B p1 {8 g
/ Z! u9 l5 H8 S' a2 a" z
+ k) S- B0 B1 O( e; q" l' b& d协议由报文头(T)+发送者(T)+接收者(T)+报文类型(T)+报文长度(L)+报文内容组成
9 n# ], U$ |& H+ F1 C, e
- e% V. d, ~, n+ }1 S发送者和接收者是系统内的程序种类,OICQ服务器01,传真服务器02,WEB服务器03,打印服务器是04,聊天服务器是05,OICQ用户是0A。
) y) q: N5 K, K) L; |# c
9 c! V4 E$ }1 yOICQ用户到OICQ服务器的通讯协议 引导符 (81+0A+01)" J* R' {% O) ^% o/ \. k9 j
+ P! F1 e' h& P: G; Z+ P报文类型 报文内容 报文说明6 X. G( B0 U# C( `8 l9 p# r
c7 t* b' o$ x$ t+ m
01 昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)新用户注册,身份验证用于当有人要将他加入好友时询问是否允许
; z ~6 L! ?: E4 c: Q
& J( A. K R8 Z( J: }02 服务号(L)+密码(S)+注册方式(T)老用户注册,方式分为0正常,1隐身
& l" R& N, X" b2 s a/ m7 T3 u1 m. |4 q, b: k9 ?' a. u9 G
03 服务号(L)+对方服务号(L)+内容(S) 发送信息到某人
0 D) s' Y& G) Z
; C' R( a7 Z1 {1 `- J+ E8 y04 服务号(L)+组号(L)+内容(S) 广播信息,组号=0为全体( ^0 h" O8 N0 g( ^- f$ F' f
7 w' r. l% r1 c9 H/ V* I% D05 服务号(L)+朋友服务号(L) 查看朋友资料! ~! R% @% M. I: p4 K3 e
6 D0 r* \6 q$ k$ ]0 b0 p5 a06 服务号(L)+组名称(S) 增加组" \; J7 U( m1 m4 n* X
; a- r8 o" n1 E; V) D" u; S
07 服务号(L)+组编号(T)+组名称(S) 修改组名称
]& a* f# F7 w
' @" A6 c# A# Z$ ^: l4 ]) }7 b08 服务号(L)+组编号(T) 删除组
1 {$ R, C$ v" U+ W0 D
& \2 f( g/ H2 X. t- G' ~09 服务号(L)+移动人数(T)+{朋友服务号(L)+目的组号(T)} 移动组成员
& Y/ k, C2 [& z( a
7 N4 r' H, a) d0a 服务号(L)+起始编号(L)+回传个数(T)+查找标志(T) 看谁在线上7 c# I$ q. n3 }0 N
9 J# n4 |& t' j- s/ `3 Q- t; }8 y
查找标志 1=向小找 2=向大找
; R( U; H5 O# s& O: i% `) F4 s H7 G& o4 Q9 v2 n- I8 S
0b 服务号(L)+SQL语句(S) 自定义查找
) w0 ?" j" a6 H! I' s2 V
# A! v% x! e# [% G0c 服务号(L)+朋友服务号(L) 增加好友
7 D3 a+ k! H; L/ h( n) q
2 c, B) k, y+ P0d 服务号(L)+朋友服务号(L)+加入原因(S) 请求加入好友4 O6 u' y9 V, H A' B2 y
* {% g, t L5 D# A& u1 Z% K2 w6 i/ t$ h0e 服务号(L)+朋友服务号(L) 删除好友& C8 X/ H7 k% W( V6 y1 K# d$ W
7 Q. @1 O( i, Y8 F- \10 服务号(L)+显示模式(T) 更改显示方式 1上线2隐藏3免打扰4离线& t& s# r4 {9 k4 s! ]
" ]) u! a; q1 s! C% j# z j8 r0 b; N% K' `
11 服务号(L)+监视服务号(L) 监视某人谈话
2 d$ Y4 Z) Z0 ?& T' l
3 G1 |; V: |' N/ q) w4 c12 服务号(L)+昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)更改用户基本信息
- J8 e# j, X+ L9 O+ e& V$ |& u
- W5 O# I5 _1 H( c$ y- i13 服务号(L)+朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件
+ z' H. S( m. V8 t2 ^3 C9 E6 E9 p. T# t; X5 d! S
14 服务号(L)+朋友服务号(L)+允许/拒绝 是否允许发送文件( Q0 Z7 X! p/ v/ H# I
3 F7 l5 c2 p6 X* p9 x- B15 服务号(L)+朋友服务号(L)+文件内容(B) 发送文件/ d$ R( X7 V3 p+ g; _
- g6 D2 E$ `, Y; ^
16 服务号(L) 连接测试报文' V( ]7 V$ ]( \4 P1 n7 b3 l; p
5 a$ F3 q8 q& J4 v) x17 服务号(L)+朋友服务号(L)+同意标志(T) 应答对方请求加入好友1 k7 F: y- \0 U) q& p0 i% e
% A5 q# E9 C( Q( J6 F( n; i0 E0=拒绝
1 v- p- t- P1 {, u5 Q5 h6 O. x6 x/ {; a; X x6 X
1=同意
7 U4 {) I9 ~7 u+ W( ], u2 L& o9 [( h1 t
: F7 B% I. h2 ]9 C3 E
* p* K m+ m* b/ KOICQ服务器到OICQ的通讯协议 p5 @; I' p' r+ D
- F. l$ Z3 z* U, m1 O' \: O报文类型 报文内容 报文说明. m. k& `! X% v+ ?$ x
" B& G. K1 B h
01 成功/失败(T)+服务号(L) 新用户注册结果返回1 S8 X0 \2 P5 u2 L
( e+ G& s: o/ v( b2 r2 X02 成功/失败(T)+组个数(T)+{组名称(S)+组编号(T)+朋友个数(T)+{朋友服务号(L)+肖像编号(T)+朋友状态(T)+朋友昵称(S)] 老用户注册结果返回
5 {# l+ i5 w' _, Z: U" ^
1 w; T- l! v1 y+ D; A! E; R% T1 |朋友状态+ @5 Y) |8 v+ s% @
9 y, U( n* z$ @/ ?
1=上线=2隐藏=3免打扰4离线1 {% c+ e& N9 @( {
- p9 `( I% J) m$ S$ b
03 标志(T) + 朋友服务号(L)+信息(S)+信息类型(T) 标志 1=系统 2=用户
5 s6 d: z4 w# L! _- k& i$ H. `! y$ }
发送消息,服务号=0是系统消息
0 }- x, Y; S! `3 b9 m7 U( N, ]0 d+ {; p7 y
1=用户某某已经把你加为好友 }/ B4 k" v% R' r4 Q* g5 X
7 @- A0 S2 ?6 r6 b
2=用户某某请求你通过身份验证
, {2 Y# f% N2 p# c; G& |' X6 r1 @$ }: [/ L( r5 N
3=用户某某同意了你的验证要求* z) O$ T" l$ _
5 J9 M" u6 s( o
4=用户某某拒绝了你的验证请求
" A9 v3 N2 y, i/ h4 Z, r+ L$ S3 k/ S) r) i& V( @6 U! N8 |6 Z
04 成功/失败(T)+朋友服务号(L)+昵称(S)+肖像(M)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)朋友信息回送
# D" A" s7 @/ T+ k4 ]' Q# R% t2 d% z- A# s( i) T
05 成功/失败(T)+组编号(T)+组名称(S) 增加组结果回送 1/0 N. U* ?* x. Z/ f" B
: U- [% u5 f( y# j+ T/ `2 _- r06 成功/失败(T)+组编号(T)+组名称(S)修改组名称结果回送1/0
) `4 W( d' G' G: F7 @( A2 Z, q- C8 V, O5 y6 K: h: W) B
07 成功/失败(T)+组编号(T) 删除组结果回送1/0- D# u" c' G, ]0 \
0 ~! m/ J: @) @% f08 成功/失败(T) 移动组成员结果回送1/0+ d8 v' u! C7 N5 Z
: M8 u0 Q7 x: }& V5 n2 R" ]09 成功/失败(T)+在线个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 查找在线人员结果回送
! l( X9 R1 _/ U' [/ q* A! I- i/ e! ^% a
0a 成功/失败(T)+找到个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 自定义查找结果回送(最多50)
! ?. \5 F/ c2 [
7 o" K9 e# ~' D3 n0 i, x0b 标志(T)+朋友服务号(L) 增加好友结果回送标志
( I: C' A8 A1 [4 j0 k/ D# k4 `( X3 H1 B
0=数据库失败0 C8 l- h; j3 X0 a3 Y, o( [, j
( B1 o6 l: { g
=1成功) q9 ?1 k" N4 R2 z# I' d6 ]
, P* Y) ?' V1 Q* [
=2需要身份验证
! P' n' x4 ^7 a; w# N/ G/ B. I: U% m
=3对方不允许加入
1 n& v! v( E: Q! c3 |3 k
4 U) L& I8 J* _1 l+ l8 N) N$ H8 u# `=4需要身份验证且不在线1 o0 A" }) A; _* B
& g* O- j" b6 e2 O0c 朋友服务号(L)+昵称(S)+肖像号(M)+朋友状态(T) 给在线用户增加好友
) k( l. `( b% }: T6 H- Y9 t# f& \# M0 }! |. C/ a, H
0e 成功/失败(T)+朋友服务号(L) 删除好友结果回送
0 L7 N: @9 Y2 K, [2 i2 G4 E7 y3 Q( w: N/ x$ `, a; p
10 服务号(L)+显示模式(T) 显示模式回送 =1上线=2隐藏=3免打扰4离线. p. v$ i/ o+ {4 c2 k
) t( G& B/ A7 }7 q3 W3 N+ u11 成功/失败 更改用户基本信息结果回送 y# F# l0 r+ W( A! {+ }; z f! U
0 g7 L; @& d1 q12 朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件: G/ j2 b- [: a7 y% U0 e
/ m. V# Y7 N, G
13 朋友服务号(L)+允许/拒绝 是否允许发送文件 1允许 0拒绝
8 S6 y4 y. Z% i/ w! {- ^: S9 D8 ^
. S1 d; B. t( m( {% Z14 朋友服务号(L)+文件内容(B) 发送文件) |$ [: l+ W4 T) O! L( U. X4 U
0 x0 D/ ?+ }9 d* |15 朋友服务号(L)+当前状态(T)朋友状态回送(系统发送)=1上线=2隐藏=3免打扰4离线1 N9 ]9 |" R5 D/ c
+ `' r3 v! \+ u; i
16 服务号(L) 连接测试 |
|