wuyuxiaoqiang 发表于 2011-1-21 23:53 
- V- `. p3 ]- |, y! A9 d) ?LZ误解,无双完全有可以写出网关放万能的登录器。。对于我来说就是这样!!!!不解释测试OK一句话! & R7 ~: e+ ~# y$ s
你说的这个可能是可以吧!但是现在确实还没有发现类似的东西出来!
5 H& M- g/ b. C+ X/ ~' j关于网关的主要组成部分是通过密匙来完成。到是有可能实现阻止其他登录的做法!
8 I0 O) p" N" t) s; E O$ |) J5 e8 u
/ U# K" }* D& f3 d! c* O不过这个技术含量明显是个小防火墙了!
5 d3 ]" m t9 O1 D9 y1 u" ]. Y; P0 P
@' K% w8 E* Z8 b+ z具体实现步骤:(编程人员仅供参考)0 S6 U$ g7 G, r8 Z2 d
; z: f8 q! N. a: s! T项目:10 {, R1 |; p' `4 ^- D" F
6 o, V; O9 O0 R, @6 s% ?: r
1)。建立一组密匙,建议采用一套算法,不推荐固定值!
! H) X3 f1 I$ }" ? ?& W. p2)。建立Socket(网络通信)Server实现端口数据过滤。
3 E* P1 M9 ?- q/ T3)。建立客户端也可以叫做登录器,由于Bf_client启动的时候会关闭掉登录器,可以将客户端写成动态链接库的方式注入到Bf_client内。1 i: a1 @! P' u' g0 r
4)。通过动态链接库截取Bf_client发送账号密码的封包,将其修改为添加一组密匙! ^3 c0 j2 Z* @# I
例如:Bf_client发送的数据有Account,PassWord,梦幻版带有安全码,截取后将其发送至自己建立的Socket服务器(也可以称为网关)。! {' b9 a$ w& V- d; P. J) U$ p& \$ h
+ f2 p; [- j0 Y5 y1 x9 ^% G
-----------------未改变方式(例如)-----------------! |( i3 @8 L) i, g2 A# t
Account='xxxx': v( ?6 l4 p& p) a) O
PassWord='xxxx'
' v- s/ `; T# d) `7 r' q% E+ w------------------加密后---------------------------------4 Y$ X% b( O" f' \1 F+ h
Account='xxxx'# |, s. B" v+ t4 b+ C
PassWord='xxxx'
2 I: T6 p7 T+ l' g3 r9 _" O' Z$ CUserKey='推荐使用算法,固定值容易破解'- O; ~1 t1 K4 j6 ?
------------------------------------------------------------
9 V" C* ]" z4 M+ {3 Q3 U, p
$ n0 K& I7 H3 d5 R2 b/ H7 E//false 进制通过
/ x f/ x6 ~) ^9 v( l//true 验证成功
7 }0 ?% t4 E0 q" m) P7 M- s- U# M网关得到消息后判断是否存在密匙6 X$ Z4 d9 i% e" H
if(UserKey==""){; K; \7 d# X. J8 t3 L
return false;3 ?4 u, J! q# L2 {, q' ?5 w
}else if(UserKey!=算法){% U }: e3 ^4 [' e. z; T: ]6 }5 @
return false;
2 B3 @1 Y! t! b! T$ T}else{
J" `9 u5 O8 ?( F) Hreturn true;
( s( e. D6 M8 s" O. k3 X( T( H$ [}2 ^7 w+ O3 Q7 n: [. L @
. |4 k' \1 @; O3 d9 Z
-------------------------------------------------------------$ N3 F( X# V( p
只可以说是治疗标的方法,不能从根本上解决问题!' J) f. P% O0 D5 P
3 s+ s. @+ G+ [# \, Z. U建议还是不要投入过大精力来完善这个鸡肋的功能。出售就更没有必要了!' G% Y' ^ N& V1 S( ?8 I# x- j
2 S/ D: ^ U, I# f( e
如果您真的已经完成该网关还是建议共享!或者开源。。 |