wuyuxiaoqiang 发表于 2011-1-21 23:53 
1 h C* l1 n& Y; ]0 K* ?LZ误解,无双完全有可以写出网关放万能的登录器。。对于我来说就是这样!!!!不解释测试OK一句话! 6 W2 }8 h2 q Q# k2 h* s& o; o
你说的这个可能是可以吧!但是现在确实还没有发现类似的东西出来!4 c; c9 E' K+ R k$ t9 _' s1 n0 X
关于网关的主要组成部分是通过密匙来完成。到是有可能实现阻止其他登录的做法!' N9 _9 @+ u' p7 o' y* ~
! | o5 i8 @( F6 a \不过这个技术含量明显是个小防火墙了!
! ]% G' m# O( m3 }$ w
, v. H$ ]% h+ H' b4 K具体实现步骤:(编程人员仅供参考). u- ~% @4 X/ r7 S
6 [5 A9 ^4 S- @* w( W5 m5 ?
项目:14 O& Y. _% J0 I- n* Q! {- k
" B; S" ?+ g; f5 i$ R( [+ r1)。建立一组密匙,建议采用一套算法,不推荐固定值!
% L) M. g: t+ s2)。建立Socket(网络通信)Server实现端口数据过滤。$ C, U" w" `6 G9 N" {
3)。建立客户端也可以叫做登录器,由于Bf_client启动的时候会关闭掉登录器,可以将客户端写成动态链接库的方式注入到Bf_client内。( b6 a% ] Y' }. H5 E9 ^
4)。通过动态链接库截取Bf_client发送账号密码的封包,将其修改为添加一组密匙
- I, _1 c: T! ^, x例如:Bf_client发送的数据有Account,PassWord,梦幻版带有安全码,截取后将其发送至自己建立的Socket服务器(也可以称为网关)。
6 N3 Y7 h2 V3 ]8 L$ E* s$ S) h, ~- } A: ]% H7 y
-----------------未改变方式(例如)-----------------4 f4 |' b( ~, l; o
Account='xxxx'
( ~, V/ X- @" N- V' O2 X( ?PassWord='xxxx'
, O# p0 N$ u2 N9 ]------------------加密后---------------------------------
9 _% v2 Y q9 [. WAccount='xxxx'% }& n+ ^6 U4 Y( f1 I& ~
PassWord='xxxx'
" R7 R( M; G$ \$ g2 ?7 ZUserKey='推荐使用算法,固定值容易破解'$ Q) G# O( j' Z5 O [
------------------------------------------------------------8 T( v; k( z8 A' a
; m) B) t5 \- w, h* ?
//false 进制通过
# u9 }$ L: T3 X) ]4 [( K//true 验证成功
2 @3 G& X/ [+ L% S/ C$ y+ t网关得到消息后判断是否存在密匙. b# N) e0 x# i$ Y, {2 Z3 Z3 L% s
if(UserKey==""){
. W2 H5 u: m M8 wreturn false;
5 ^$ e: g# e9 ?) x, F. H1 r$ Z5 u}else if(UserKey!=算法){ |, J9 ]$ X5 ?3 s( f( y% ]& m3 o
return false;
, n; O4 P$ _9 K Q% i}else{
1 j% q6 \4 U+ Z" H, V: |+ X/ p) oreturn true;
, u8 ]! b A u( ` @}! P4 t4 z- K( Q1 O& A1 Q
0 w4 g; y' Z# C* v& i% E$ L( {
-------------------------------------------------------------0 h3 L4 b4 C" |5 ^6 w& m
只可以说是治疗标的方法,不能从根本上解决问题!
; c! C, G4 v! I5 W, t
0 d6 u& @, S& H3 g; X* }/ ]* Q, B8 y建议还是不要投入过大精力来完善这个鸡肋的功能。出售就更没有必要了!
$ U$ n- h% h$ q( b) l0 E
$ ^* r6 `4 n9 Z如果您真的已经完成该网关还是建议共享!或者开源。。 |