wuyuxiaoqiang 发表于 2011-1-21 23:53 
. h0 R+ Z: O" W) U. ?& z$ yLZ误解,无双完全有可以写出网关放万能的登录器。。对于我来说就是这样!!!!不解释测试OK一句话!
/ \7 O$ U* ~0 C( R p5 ?2 `你说的这个可能是可以吧!但是现在确实还没有发现类似的东西出来!/ C! f& V$ u5 |
关于网关的主要组成部分是通过密匙来完成。到是有可能实现阻止其他登录的做法!
. f6 p$ w! B% y5 |3 A
4 n+ l/ F# P8 w# o& P- \3 J不过这个技术含量明显是个小防火墙了!# A1 f. c, U l% k+ p2 q: f# C
8 q/ ~+ f v8 P4 q! c6 `( _7 b
具体实现步骤:(编程人员仅供参考)$ h: |( Z) w8 a4 i+ i$ l3 E; x
% |& P) k x3 n5 B; G, _项目:1
1 D8 K1 f$ N8 S0 F; O j/ l) U ^3 {% a4 Z) v+ X
1)。建立一组密匙,建议采用一套算法,不推荐固定值!
! w+ N4 D+ e( e: E5 r2)。建立Socket(网络通信)Server实现端口数据过滤。+ P2 K, w X& O( [; N
3)。建立客户端也可以叫做登录器,由于Bf_client启动的时候会关闭掉登录器,可以将客户端写成动态链接库的方式注入到Bf_client内。+ K! j- Z( z) R' i0 h1 _. J
4)。通过动态链接库截取Bf_client发送账号密码的封包,将其修改为添加一组密匙. v3 m- p) g+ F' Q
例如:Bf_client发送的数据有Account,PassWord,梦幻版带有安全码,截取后将其发送至自己建立的Socket服务器(也可以称为网关)。
* f, y. D% p6 P$ x1 ~! T7 i' T6 X, B* h% u; t
-----------------未改变方式(例如)-----------------
, g+ Y) E; Q* HAccount='xxxx'
2 N7 r5 T( n0 uPassWord='xxxx'5 U5 Z- Y# e) {0 H
------------------加密后---------------------------------
2 z$ Y% @+ O8 _5 h6 w" j( GAccount='xxxx'1 W" g; C, E7 a6 x
PassWord='xxxx'4 f! |5 o. |9 O- s
UserKey='推荐使用算法,固定值容易破解'! x7 m- k+ \2 U3 L
------------------------------------------------------------
- M! J0 G$ G7 D% F( K9 U/ M5 _7 ~! o( H
//false 进制通过# A O6 F; W" u! U5 i
//true 验证成功8 C# ~$ c8 ? {, s9 E
网关得到消息后判断是否存在密匙
. L( B. @- r0 x! Y" M0 gif(UserKey==""){
7 Q0 T i+ Y$ C) U$ U, e# mreturn false;
3 g% Q3 X% Y1 ?9 U* H2 s}else if(UserKey!=算法){' E0 P" o7 w0 a5 o+ D0 R2 P
return false;7 S& p( s9 ]( Z- _* j" W1 o
}else{9 W( }; I5 r: p3 S# U& ^
return true;
! l/ ]" [0 R5 o1 F0 p- @}" L1 ^" {; a) J. w, |" p, @+ N
2 N: ?6 i/ [% F4 Q! M& o# }
-------------------------------------------------------------
' z5 y2 y+ G1 _0 E6 X, z9 R0 k只可以说是治疗标的方法,不能从根本上解决问题!
2 R; H. g6 Y- C$ T0 T* U. |- o) l$ R+ j: h% g
建议还是不要投入过大精力来完善这个鸡肋的功能。出售就更没有必要了!1 t5 E2 \1 s& l
5 d) D! U2 G5 p/ M/ N如果您真的已经完成该网关还是建议共享!或者开源。。 |