wuyuxiaoqiang 发表于 2011-1-21 23:53 
) K6 P* B. P9 ]LZ误解,无双完全有可以写出网关放万能的登录器。。对于我来说就是这样!!!!不解释测试OK一句话!
4 y! ~* ^5 ~; r1 l你说的这个可能是可以吧!但是现在确实还没有发现类似的东西出来!
- _: x3 \* s+ g( i# m$ v关于网关的主要组成部分是通过密匙来完成。到是有可能实现阻止其他登录的做法!
; k$ h7 J* F( _# w9 Y4 B, Y8 G$ k U9 U2 r+ V9 f; u: P) N' |4 z
不过这个技术含量明显是个小防火墙了!; R7 [, s, m0 c& \3 P& ]
& m: F1 T5 n( t2 K, f$ G/ t具体实现步骤:(编程人员仅供参考)5 ~! w2 Y Y% i) O9 D, D" u- D
+ o% z6 A' \5 ^/ t/ H
项目:1" D' t" _! [5 p j; l1 D. X3 A
* M; b! o1 j8 y2 q. k5 K7 U1)。建立一组密匙,建议采用一套算法,不推荐固定值!
* W4 S2 i& T1 r8 k2)。建立Socket(网络通信)Server实现端口数据过滤。
3 b7 G# z1 [: k3)。建立客户端也可以叫做登录器,由于Bf_client启动的时候会关闭掉登录器,可以将客户端写成动态链接库的方式注入到Bf_client内。
4 {( ?0 {4 }4 b! t& H( a; Y4)。通过动态链接库截取Bf_client发送账号密码的封包,将其修改为添加一组密匙
. s' s4 G3 {9 b& V; y/ q例如:Bf_client发送的数据有Account,PassWord,梦幻版带有安全码,截取后将其发送至自己建立的Socket服务器(也可以称为网关)。
; O( c( r& v, _ ~2 P. y* B3 [$ f0 U& s8 D
-----------------未改变方式(例如)-----------------. n" y+ _+ X) X9 d
Account='xxxx'
: L. y- U' d+ |! i7 K8 OPassWord='xxxx'
7 H( ^* Y5 [. V; S) j; D" ?+ I1 L------------------加密后---------------------------------
; g& V: z& |, D* kAccount='xxxx'
; {4 F( I9 h5 l, VPassWord='xxxx'4 X) S* H, D3 t) K# W
UserKey='推荐使用算法,固定值容易破解'
+ g& R- q; W; a7 h/ x' F2 T) e------------------------------------------------------------ ^+ T2 |+ `' ~9 l7 c$ m q- w
) Y, N( F- X8 x$ h8 t//false 进制通过* \ {4 `0 G5 ^( @- [( x4 m
//true 验证成功* ^4 U$ k5 F, s, \" d( C6 E
网关得到消息后判断是否存在密匙; o/ R9 o: T6 c% M
if(UserKey==""){" r4 W6 N/ q3 z @/ D
return false;
4 ~5 D. r" G8 p( E}else if(UserKey!=算法){% N4 u+ @5 V4 i( u' K
return false;( v D- i* n" W' `
}else{
- }7 u" E* i# [0 b! G preturn true;
. z- |5 G {8 B. b" t2 x+ w}
5 H$ |9 I) j6 n6 t3 P2 d4 K4 Q0 ~* H4 G6 G# \& d; f8 [
-------------------------------------------------------------
: H( J& p, B; e. E只可以说是治疗标的方法,不能从根本上解决问题!! O' k- r; R, i3 C, P F
* Z, R. S& a8 X" Z- P建议还是不要投入过大精力来完善这个鸡肋的功能。出售就更没有必要了!
( E# x6 M. \) r" n& w7 L8 J- A' f+ b; y5 p& f6 V
如果您真的已经完成该网关还是建议共享!或者开源。。 |