|
想要得到QQ的加密算法,得到QQ的通讯数据只是不到1%的工作量,因为任何抓包软件都能够得到QQ的通讯数据,而且比WPE更好更详细。. h6 F- {$ B: }* w2 J
第二步要知道QQ的通讯协议,这个网上能够查询得到
2 `2 `, F4 q, u- L) O2 \, e第三步才是分析加密算法,这个基本上很难很难 ^^)
|" H- J, z# k5 \6 p/ K# j不过伪造UDP包进行QQ的广播欺骗轰炸相对要容易些。3 I! Y# s. H# Q; ?. ~! h9 ?
' n2 J# |1 V% d3 h n2 N" \' ?附:OICQ服务器系统通讯协议: a- W/ u) o9 r& o( u0 j
协议说明:- ^& z; L, ?: ]- t+ l- o( s& X
* \* E) R3 k! c1 w) R' u
6 a s: p4 K6 @/ j# Z; v- U协议由报文头(T)+发送者(T)+接收者(T)+报文类型(T)+报文长度(L)+报文内容组成
, _$ s0 G6 @9 q5 t/ O+ p) u7 i) `0 s `( y" z6 U9 L* S
发送者和接收者是系统内的程序种类,OICQ服务器01,传真服务器02,WEB服务器03,打印服务器是04,聊天服务器是05,OICQ用户是0A。
* h2 A- n/ b) h, e: F. \# P6 t8 F% m! S9 e
OICQ用户到OICQ服务器的通讯协议 引导符 (81+0A+01)% w7 M0 P( y9 C& u; _+ [
& q6 \5 L0 y* w \1 [ ?报文类型 报文内容 报文说明
; k/ x& R0 L6 z8 `+ ?6 j0 h6 K: V% w# N2 I0 F8 _
01 昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)新用户注册,身份验证用于当有人要将他加入好友时询问是否允许- ?* a. ^" F+ G' F! L% z$ q) t! w
! P' {0 c" G% \, m4 ?, C
02 服务号(L)+密码(S)+注册方式(T)老用户注册,方式分为0正常,1隐身
8 J( j5 C- X, O; j d/ J' j! ^" F% c% P# e' x; @- T4 G
03 服务号(L)+对方服务号(L)+内容(S) 发送信息到某人
; h3 m; D' a, f6 C+ j) C
( U; E$ i& |% _# a1 [4 b8 K04 服务号(L)+组号(L)+内容(S) 广播信息,组号=0为全体
2 _) k. N3 u- I- N c# [3 G2 Q7 M; h7 ]9 Y4 G; L' F
05 服务号(L)+朋友服务号(L) 查看朋友资料/ X6 u6 v$ r+ O) h) M
9 t9 O) A. y. O8 m. Y06 服务号(L)+组名称(S) 增加组1 K5 p* [* r9 a1 Z7 k( x8 i
! ?- @0 z$ a2 v: O9 d07 服务号(L)+组编号(T)+组名称(S) 修改组名称
$ A6 E5 n9 b. e6 {+ a4 s$ T7 o' O# a4 W7 C; v# h9 I& a
08 服务号(L)+组编号(T) 删除组4 e2 B9 Q" h ]# S/ S+ j
' n/ I7 q! j+ M( v, c
09 服务号(L)+移动人数(T)+{朋友服务号(L)+目的组号(T)} 移动组成员: m' T7 ?( q+ y1 R! Q: @
; o* P9 G5 v. J5 o
0a 服务号(L)+起始编号(L)+回传个数(T)+查找标志(T) 看谁在线上
" p+ D( A0 S6 u0 v: Z5 E: F$ [9 u- q' d0 i4 S" H6 m
查找标志 1=向小找 2=向大找
( C; u4 i: Y6 F! y% C
# p- C# j1 g+ ^4 d2 e4 h- j$ H" L6 B0b 服务号(L)+SQL语句(S) 自定义查找
' P& X- X. y; w' Q" \& r$ Y8 E
( O k. p3 E9 g& J% H% S0c 服务号(L)+朋友服务号(L) 增加好友
2 I2 {1 G# v, b% H) T- G& I* q, u2 o
/ P J; @" |7 m8 ~/ m0d 服务号(L)+朋友服务号(L)+加入原因(S) 请求加入好友6 D; W, o1 I3 W* V& i4 M+ T
7 c6 k8 A: [; c9 M4 l, I) s0e 服务号(L)+朋友服务号(L) 删除好友( r5 f- E3 R3 H1 x( J; s( b& s
( ~9 b2 d4 [ g6 h& L) P# r- @10 服务号(L)+显示模式(T) 更改显示方式 1上线2隐藏3免打扰4离线
- Z: _, L# t* `' h$ N, w( t1 \
4 R/ k8 b9 H, Y" A11 服务号(L)+监视服务号(L) 监视某人谈话9 n! i7 }5 J2 X$ p) \
C/ X7 y8 ?/ m7 E6 ?" f12 服务号(L)+昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)更改用户基本信息
3 `+ a ?" d1 t8 f" }, u! {
& |! B0 n( r: L13 服务号(L)+朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件/ C: d7 R8 G) Y3 I2 \& m
3 s {% U) m- |; o- P
14 服务号(L)+朋友服务号(L)+允许/拒绝 是否允许发送文件
* N& k1 Q$ b% F1 |4 H& A3 ?& {
: i, j H, z1 \6 Q2 D15 服务号(L)+朋友服务号(L)+文件内容(B) 发送文件
" x& K! _2 W/ M3 o" i9 c1 J# @( U* i
0 z! w; D! Y* F$ ~6 I16 服务号(L) 连接测试报文5 r3 s% H$ @! E! s" k
" ~! k+ o- z+ P* R% y7 M0 h! Y
17 服务号(L)+朋友服务号(L)+同意标志(T) 应答对方请求加入好友
8 o9 q w0 }( y% b
2 N3 S. Z$ @2 m2 p, _) }. w0=拒绝! \8 J2 @# I* i# M- `5 B
$ `8 R6 c7 V8 B% b8 h( t
1=同意6 b1 |' B. H( o5 P/ j
8 o/ m9 B, L) v# \* E/ ? X0 f j4 a4 p. B7 _' L' f
( }7 b1 T+ Y; t9 @# G6 \. v
OICQ服务器到OICQ的通讯协议
" Y' f7 ^. ]8 ?5 z4 A& x4 F0 ~
- A& y" @2 K1 X( w( h: d k报文类型 报文内容 报文说明
8 {3 Z7 p: ?3 E9 x; L, r& V
& W4 e; n) ]7 X6 B01 成功/失败(T)+服务号(L) 新用户注册结果返回
7 J5 }4 U# ]5 k8 L B. r# a! h6 C6 u& R/ R
02 成功/失败(T)+组个数(T)+{组名称(S)+组编号(T)+朋友个数(T)+{朋友服务号(L)+肖像编号(T)+朋友状态(T)+朋友昵称(S)] 老用户注册结果返回
4 m4 z F7 v3 p1 d$ I$ ]! _0 F5 X v0 Q7 c# b8 c8 m
朋友状态% y% R0 c7 d! x7 L) Q
j, _3 C& J7 ~. p. X( C) k: i1=上线=2隐藏=3免打扰4离线
; U; Y! o" i% D& d1 o8 Z
9 _; Q3 }" \- u/ y& w* k7 C8 M/ m% u03 标志(T) + 朋友服务号(L)+信息(S)+信息类型(T) 标志 1=系统 2=用户
$ e, g8 `: Y) K4 p9 y* w5 B3 `( [
! [* a/ q' f1 y7 w2 h发送消息,服务号=0是系统消息
' [ R, b. N( m1 Q3 L. r
# Z- W! O0 O8 X3 t% {1=用户某某已经把你加为好友. c& D8 g& ?, n F
h" e: j9 `/ z# m& Y* E. G
2=用户某某请求你通过身份验证2 m2 |$ R7 C: g- w; N
/ A0 n9 P1 N d; g3=用户某某同意了你的验证要求( L9 V% j N' r, l
\: b2 ^8 ?( z5 V! [
4=用户某某拒绝了你的验证请求
: u2 d# g& D- J- E: \2 p$ l& @, g- S1 p* m
04 成功/失败(T)+朋友服务号(L)+昵称(S)+肖像(M)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)朋友信息回送) k$ o7 H$ n. e0 T! C
- | N4 `' q3 P6 W+ ]9 J05 成功/失败(T)+组编号(T)+组名称(S) 增加组结果回送 1/0
# `; u% v, x0 s ~$ @$ M
& u$ g9 a2 z8 ]/ x: h06 成功/失败(T)+组编号(T)+组名称(S)修改组名称结果回送1/0. Q0 a) {6 ]6 Q) ~7 u
( T( y: n$ v8 V _# y% ]8 C# ]07 成功/失败(T)+组编号(T) 删除组结果回送1/0
- c0 `, X8 P! | A2 O+ X, s9 u
3 I8 `& u' H; @" k! t3 \9 i* q; D2 [1 Q$ P08 成功/失败(T) 移动组成员结果回送1/0. y7 h- m% Z9 s: a2 i: A! O7 D
9 @! c; s9 T. j
09 成功/失败(T)+在线个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 查找在线人员结果回送' P) A9 Y: c" ?9 `9 j/ o# o
: r( P: ]/ @5 s* E
0a 成功/失败(T)+找到个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 自定义查找结果回送(最多50): @5 R- R9 j0 o: C
$ y. F4 k: I- a+ A) u
0b 标志(T)+朋友服务号(L) 增加好友结果回送标志5 a1 V4 B) s% {* r& q# e
) k% y3 F# d8 g/ E1 v: v, }0 X* ?
0=数据库失败
- q* d; O3 o) D" X8 m5 C9 L
; _# R( E- N, ?' R=1成功
+ ^' t I( R! \* L: V$ v$ b7 k! O6 I7 O) X+ n" K6 V
=2需要身份验证& B( s- |) h/ ]. s" `
8 G3 {* o# D( ^8 d/ M=3对方不允许加入
3 `( u: [# R) L% f& |% Y3 x t1 h8 J+ ]+ p
=4需要身份验证且不在线! P/ P# F( o1 W. Y2 g7 j# v, ~
! V$ O! }" D$ K) g0c 朋友服务号(L)+昵称(S)+肖像号(M)+朋友状态(T) 给在线用户增加好友; |7 k6 a7 D2 _& c+ Q0 V! g8 d7 }
; @/ I* O1 e0 y$ Z0e 成功/失败(T)+朋友服务号(L) 删除好友结果回送; j# K6 z# a! f+ Y
! B0 a, o2 z6 O, w. k' N, C# O) R8 ?10 服务号(L)+显示模式(T) 显示模式回送 =1上线=2隐藏=3免打扰4离线$ k; {) K2 Q) D& k
8 f! P5 I' ]: {0 h11 成功/失败 更改用户基本信息结果回送
$ W0 |( y* s9 r$ D* U+ A: ^& `2 i- B7 e( c o' _
12 朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件
3 t/ R& }: d& c5 |8 Z
" p; w* L# r2 Z+ n, h13 朋友服务号(L)+允许/拒绝 是否允许发送文件 1允许 0拒绝
/ D F Y; x, v9 ]9 N- Y Q5 Q+ p
6 V+ Q0 K$ F% N: O9 g/ C, O' o14 朋友服务号(L)+文件内容(B) 发送文件9 S; {% h. T1 x8 I3 f, [- _
' M9 z/ T0 V G' d: J15 朋友服务号(L)+当前状态(T)朋友状态回送(系统发送)=1上线=2隐藏=3免打扰4离线& s4 ~/ m" ?( ~4 b4 u9 C
. J" U6 |4 Y- K; S16 服务号(L) 连接测试 |
|