wuyuxiaoqiang 发表于 2011-1-21 23:53 
; S$ H. n2 \- _" j3 V. q' q# RLZ误解,无双完全有可以写出网关放万能的登录器。。对于我来说就是这样!!!!不解释测试OK一句话!
' u& I( c, R6 b& N5 ?你说的这个可能是可以吧!但是现在确实还没有发现类似的东西出来!
, ~. C6 f. ^# h- A" Z关于网关的主要组成部分是通过密匙来完成。到是有可能实现阻止其他登录的做法!+ A/ k* a2 a y, [2 z
5 |2 H/ q1 q! y' Z8 q% a3 m& ~ }0 B不过这个技术含量明显是个小防火墙了!) ~1 U2 L. F0 J
% _, V" T5 r) T* j, E
具体实现步骤:(编程人员仅供参考); O t. }0 ~/ D; d4 J
) U. h6 W+ h' x, _; M5 S) q项目:1
/ K: d; M; U, ~* M* {1 T3 m
6 I* X4 n' B9 N1)。建立一组密匙,建议采用一套算法,不推荐固定值!, Q/ ?" i9 E( |+ i% n6 }$ E
2)。建立Socket(网络通信)Server实现端口数据过滤。( w& q1 I6 E9 ?$ c; N% L# w
3)。建立客户端也可以叫做登录器,由于Bf_client启动的时候会关闭掉登录器,可以将客户端写成动态链接库的方式注入到Bf_client内。5 \6 q- _2 j% m* h
4)。通过动态链接库截取Bf_client发送账号密码的封包,将其修改为添加一组密匙
0 k8 [" Z U; H8 V! @例如:Bf_client发送的数据有Account,PassWord,梦幻版带有安全码,截取后将其发送至自己建立的Socket服务器(也可以称为网关)。% j S- j2 B& t$ l$ {0 A
- Y; d/ v- ?" p1 n# a0 m5 }-----------------未改变方式(例如)-----------------0 n, ]7 y1 o x
Account='xxxx'
: H) h3 A# r4 k6 g# \PassWord='xxxx'
& _( n7 \. \' J: @------------------加密后---------------------------------
4 r; ^, f2 l6 c" F6 X7 ]0 aAccount='xxxx'
3 t( Y) t' `, D! }PassWord='xxxx': T( D! C$ `! ?
UserKey='推荐使用算法,固定值容易破解'
1 e* `8 U# G" W& E6 m. N% y------------------------------------------------------------8 X) y0 a' b5 V7 F1 V
+ e/ d2 K) c/ P+ `, i//false 进制通过6 x. n; T1 _( D( j3 P9 x$ ?
//true 验证成功
1 [: {3 \! G8 E/ \( w/ l网关得到消息后判断是否存在密匙% n/ d0 E5 y) _! s6 n( G, }% O9 L
if(UserKey==""){* n, |5 S9 H6 ?' X5 {9 Q3 b
return false;) U3 l. D& ?/ y' X2 E( I: }! P
}else if(UserKey!=算法){
% ?! J9 D8 t9 U- I( p2 P* R0 yreturn false;
4 F0 _% d/ E, M# j}else{
' [- a/ R3 x: f4 a+ H7 freturn true;7 C" [' t! `5 `% @: G
}5 v: g" Z3 a; P
2 I3 p7 |/ N2 ?-------------------------------------------------------------) |3 f% Z9 S% @0 z7 o
只可以说是治疗标的方法,不能从根本上解决问题!' x. a( A2 b4 i
0 b+ K8 g4 I. A* Y9 z建议还是不要投入过大精力来完善这个鸡肋的功能。出售就更没有必要了!
- q6 W) d1 f) w" \. a
3 K5 F B- j. B: T/ B如果您真的已经完成该网关还是建议共享!或者开源。。 |