网站地图
新开私服
57私服首页 网游私服分类 私服架设技术 网游私服外挂 私服登陆器 最新私服IP

软件名称: 反外挂登陆器,服务器端验证版C/S结构
版 本: -
解压密码: www.57sf.com
软件平台: Windows98/XP/2000
整理日期: 2004-4-7 22:58:52
软件授权: www.57sf.com
软件大小: 500K
下载地址: 下载地址1 

软件简介:04-07 15:01 更新
实现窗口化
添加窗口化用的 WinMu.dll 源码 不使用任何第三方控件
服务器添加可控制登陆器生成的执行文件名,MU窗口的标题
修正一个足以笑死人的BUG
准备彻底解决需要用户对SQL库再进行操作的问题
---------------------------------------------------------------------------------------------------------------------------------------
期待着您的参与

DELPHI社群中开源项目少之又少,我们可不可以自己组织?我们可不可以一起探讨?小弟不才,斗胆写下几行代码,来这里期待抛砖引玉。

这样的工作是激动人心的,可是我也和大家一样,面临着手头上工作的压力,为了能够对得起那份薪水,我只能够在下班的时间里做这些。但一个人精力太有限了,我没有足够的时间也没有那么多精力去实现完全的防范外挂,于是在这份源代码里,您发现您可以非常容易的……
一个人的力量太有限了,一个人的才智也太有限了,如果这个小生命在我一个人的手里,也许会因为得不到充足的阳光雨露而不能茁壮成长,但是如果有您的加入,多了您的呵护,相信我们的目标才更有可能实现。

如果您是高手,那么就在这里表现您的聪明才智吧。如果您是菜鸟,来这里汲取知识吧。如果您对编程一窍不通,那么请为参与者加油.并且及时的把BUG提出
所有的源代码都永久性公开,如果您有什么地方不清楚或者是有更好的建议,您也可以直接联系我。


- by HellFish

--------------------------------------------------------------------------------------------------------------------------------------

防外挂登陆器源码,服务器端验证版 C/S结构
by Hellfish Mail: sgfree@hotmail.com

环境:Delphi 7

功能:
窗口化MU
动态修改验证码,main.exe的标题
防止运行时重启系统获得.exe文件
检查内存中的外挂
杀死NP
等等................

处理:
登陆器发送用户名与密码到服务器后,服务器返回验证码与端口给登陆器,同时解封用户ID
登陆器收到验证码与端口后,确定可以连接后,启动游戏
当登陆器非正常关闭时发送数据给服务器
服务器马上封闭用户ID并修改用户登陆密码
这样一来你可以随时换验证码而不需要更改登陆器了
[以上数据包当然可以加密] [服务器端采用多线程处理]
在函数 decode 与 函数 encode 中,注意保持服务器端与客户端一致

注意:
服务器端还需要在SQL中加入一个触发器的哦,作用是当 MEMB_STAT表中的用户连接状态由1变0时重新封掉该用户ID,另外一个方法是修改用户离线的存储过程,下面有一个
编译登陆器前,请先执行 makeres.bat 生成资源文件

附:
你可以自行修改服务器端的过程 MyMainProc 处理更多的命令,也可以更换你的交互数据结构
目前的格式是FishCtrl作为入口,后面跟数据
数据包结构:
#主命令$ %参数1^ &参数2* !参数3@

例子:
FishCtrl#Login$%username^&password*!3042@


发这个源码的目的是希望大家多有探讨的机会,如果发现有人改头换面当自己的东西用于商业目的,以后偶再也不会公布任何代码


使用方法
把login.ini文件中的IP与端口改为与你服务器端一致,然后把login.ini,login.exe,winmu.dll放到mu游戏目录下就成

登陆服务器端一定要放在你的数据库服务器上,同时记得修改你的服务器的配置文件,把GS的验证码与登陆服务器端一致

版本号请改为 0.97.02如果你使用程自带的Main.exe的话

-------------------------------------------------------------------------------------------------------------------------------------
Download:
http://61.143.241.227/FishFan.rar

运行图



引用至 鸽子 的帖子里的,不知道可否

CREATE PROCEDURE WZ_DISCONNECT_MEMB

@uid varchar(20)
AS
Begin

BEGIN TRANSACTION

SET NOCOUNT ON

IF EXISTS ( SELECT memb___id FROM MEMB_STAT WITH (READUNCOMMITTED) WHERE memb___id = @uid )
Begin
UPDATE MEMB_STAT
SET DisConnectTM = (getdate()), connectstat = 0 WHERE memb___id = @uid
UPDATE MEMB_INFO SET bloc_code =1 WHERE memb___id = @uid
End
ELSE
Begin
INSERT INTO MEMB_STAT ( memb___id,DisConnectTM,connectstat) valueS (@uid,(getdate)),0)
End


IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION

SET NOCOUNT OFF
End

GO


 
 Copyright 2004 57sf.com Corporation. 私服外挂网,私服ip,奇迹私服版权所有传奇私服,奇迹私服