wuyuxiaoqiang 发表于 2011-1-21 23:53 5 t; f. r+ K& X3 q0 y8 V9 G
LZ误解,无双完全有可以写出网关放万能的登录器。。对于我来说就是这样!!!!不解释测试OK一句话!
" f4 p8 A, [1 N5 h' M* e% ~你说的这个可能是可以吧!但是现在确实还没有发现类似的东西出来!3 L" P( J3 t% @7 c
关于网关的主要组成部分是通过密匙来完成。到是有可能实现阻止其他登录的做法!
$ q6 n/ Z9 j* N) D' e7 C3 U: ? B
不过这个技术含量明显是个小防火墙了!
m" K' L4 E; H' [
* K. D1 b6 T' q) j+ P# r具体实现步骤:(编程人员仅供参考)1 u% W& L2 j, ]8 Q/ u
3 t/ F6 W% C" V项目:1
! @, T2 y7 h0 v1 U6 V; l( r% s
1 \ C$ n2 k, l6 D; m9 A9 Y1)。建立一组密匙,建议采用一套算法,不推荐固定值! t3 Z' e/ \9 \& F, G2 P
2)。建立Socket(网络通信)Server实现端口数据过滤。
6 V4 [3 u. S/ E9 I: O5 m3)。建立客户端也可以叫做登录器,由于Bf_client启动的时候会关闭掉登录器,可以将客户端写成动态链接库的方式注入到Bf_client内。9 x- b1 Q! J0 U2 P5 r
4)。通过动态链接库截取Bf_client发送账号密码的封包,将其修改为添加一组密匙9 L% l' W! \! S9 I& C
例如:Bf_client发送的数据有Account,PassWord,梦幻版带有安全码,截取后将其发送至自己建立的Socket服务器(也可以称为网关)。
; j" B0 H1 R1 Z9 D$ c& H1 P5 A; g ~
-----------------未改变方式(例如)-----------------7 s* @. m$ q) ?7 k& o
Account='xxxx'8 N- Z6 m) F$ H! N$ c; U
PassWord='xxxx'( H# K, m0 V% V6 @5 I8 H
------------------加密后---------------------------------
2 Z" R, I, S+ m/ w9 WAccount='xxxx'' C( w# O, B1 V: P6 \& y! z
PassWord='xxxx'
2 [* `9 z3 K9 y- v3 v$ o* F+ fUserKey='推荐使用算法,固定值容易破解'- n& H: r1 k) m. Y9 v
------------------------------------------------------------
) L$ K0 R4 |0 {# @/ I, l
0 O5 |5 I8 i7 P/ @//false 进制通过2 D( N0 R" [0 W2 a1 u
//true 验证成功
/ u8 {; V. G9 k2 |7 u2 w& d网关得到消息后判断是否存在密匙
+ {& N2 W+ z ~1 ` aif(UserKey==""){, @. X7 v( M3 e; X
return false;
a% T" i6 _" d}else if(UserKey!=算法){
5 l) t5 W8 G4 X9 J3 Y5 B, Dreturn false;
6 Y- R4 c6 r+ k1 f' F2 G; X. V}else{
4 u- [/ f# Z; a8 N% M9 a( _return true;
( g( {2 `& z4 K}4 S3 E* k# d. D8 L" m0 J
9 V) t4 {: W7 f& Q* ?
-------------------------------------------------------------7 f* W' }4 \( z# G4 ]
只可以说是治疗标的方法,不能从根本上解决问题!$ M" d& x3 L7 G7 o- y2 f, ^0 I
6 W. W" @2 W' U c2 T$ S5 p建议还是不要投入过大精力来完善这个鸡肋的功能。出售就更没有必要了!
1 T* A2 K/ L. u. ^. A( F* U
- }, F- U; @( N" ~如果您真的已经完成该网关还是建议共享!或者开源。。 |