wuyuxiaoqiang 发表于 2011-1-21 23:53 
4 v# O+ @4 u+ c0 QLZ误解,无双完全有可以写出网关放万能的登录器。。对于我来说就是这样!!!!不解释测试OK一句话! 4 g5 X9 ]2 e7 |) p
你说的这个可能是可以吧!但是现在确实还没有发现类似的东西出来!
' N( f5 A+ t% c% w6 V$ v关于网关的主要组成部分是通过密匙来完成。到是有可能实现阻止其他登录的做法!& w6 h; y3 k4 E. M4 S% b
9 W* O/ ~6 Q. Y% N8 F不过这个技术含量明显是个小防火墙了!, Z8 J; z# o6 f/ p
( B+ a) ~6 m# H( e! ~0 N0 o具体实现步骤:(编程人员仅供参考)" p: k' b/ ]8 u! @' H* `
1 N, g: |" A) |' o
项目:1
0 r/ v3 J6 p9 r( J$ Q. z3 i3 n! C' _7 V: b8 ^ |, h
1)。建立一组密匙,建议采用一套算法,不推荐固定值!2 v4 `( M9 k* g; R- ~+ B' }& U
2)。建立Socket(网络通信)Server实现端口数据过滤。
8 }7 b- y, j+ F3 |3)。建立客户端也可以叫做登录器,由于Bf_client启动的时候会关闭掉登录器,可以将客户端写成动态链接库的方式注入到Bf_client内。! Z$ V5 g, d+ G) H
4)。通过动态链接库截取Bf_client发送账号密码的封包,将其修改为添加一组密匙
1 |) Q2 s0 \: H5 t例如:Bf_client发送的数据有Account,PassWord,梦幻版带有安全码,截取后将其发送至自己建立的Socket服务器(也可以称为网关)。' r4 Z9 u+ l7 ?. k7 \- \
2 G( v( {+ Q2 p+ h-----------------未改变方式(例如)-----------------
$ P" l. D2 f8 [7 U3 \7 k9 g0 iAccount='xxxx'
6 ~/ L8 n" j0 oPassWord='xxxx'
; T" G" H& F. I------------------加密后---------------------------------
+ a% R; T$ g; r; LAccount='xxxx'! w7 t6 g- _! o( W/ U
PassWord='xxxx'
9 N4 _+ e* T* l6 q( }UserKey='推荐使用算法,固定值容易破解'
' a: r1 ~9 V# s- y------------------------------------------------------------
6 q* q% L. G* M
3 J. n. O c! A# S4 z( j1 t//false 进制通过- O7 C K7 K b. m t& E
//true 验证成功
; i' W. D6 y; P6 W) b+ f% i网关得到消息后判断是否存在密匙
* F }" ]4 l, W$ U* }2 Jif(UserKey==""){
3 L( `4 R- d" C7 K) areturn false;% a( G# B4 A) a$ M, `7 z
}else if(UserKey!=算法){
8 J* P/ Q+ l, G. Kreturn false;
0 n, [. w2 U s0 |/ x! e7 w}else{
0 F. G9 U6 q( t9 A5 G8 b5 ?return true;: V( ^% Z9 `) k4 U
}
. n/ k, R1 E" W3 U5 W* ~; P; X. n( _
-------------------------------------------------------------# U* B% Q6 s$ t( V
只可以说是治疗标的方法,不能从根本上解决问题!
( [- U* l! h% l6 k7 m; X( T# _- m& c* G/ u4 {6 W T
建议还是不要投入过大精力来完善这个鸡肋的功能。出售就更没有必要了!- e5 |8 o6 h* R1 w
8 D6 z% W/ a- s" w如果您真的已经完成该网关还是建议共享!或者开源。。 |