当前位置:主页>销售管理软件> 列表

给我一个方向吧,关于按键类外挂的做法。由于有防外挂系统,普 找速达财务软件售后

财务软件版1楼: 人懒,想在自己玩的游戏里做一个自己按键的辅助软件,但由于那游戏有GameGuard防外挂系统,我发送的按键消息都有去无回。

PostMessage和keybd_event,这类API消息类的代码都没成功,只能在游戏外用用,游戏里都没反应,不过热键还有作用,只是模拟按键用不了。

这个游戏的其他外挂已经能破解这个防外挂系统了,但我这种菜鸟没办法破。

发这个问题不一定要有一个准确的答案,只想问一个大概的方向,怎么学习。有积极回复的都有分,如果有用得了的方案那分全给你了。

2楼: nProtect-GameGuard 直说了吧,是个叫冒险岛的游戏,我不需要什么直接的代码,只想跟大家讨论一下,大家有什么就说什么。

我在想有没有可能直接跟键盘驱动连接,让键盘驱动直接接受某个键被按下的指令,而不是靠模拟键盘API? 如速达财务软件售后

3楼: 能想到的解决方法nProtect-GameGuard都防范了,几乎是不行的,只能想办法破解掉nProtect-GameGuard.

4楼: 我还在研究中,破解这个东西难啊。

5楼: 直接修改系统底层

6楼: [:(][:(][:(]nProtect GameGuard在启动后使用SetWindowsHookEx(Inject DLL)方式进入所有的进程,并且在
OpenProcess()
ReadProcessMemory()
WriteProcessMemory()
PostMessage()
......等等
函数的头部加入JMP XXXXXX的代码跳入监测程序进行监测,如发现对游戏进行操作便拦截该操作。所以以上函数均无法正常工作。

财务软件版7楼: 破解nProtect: nProtect GameGuard在启动后使用SetWindowsHookEx(Inject DLL)方式进入所有的进程,并且在 OpenProcess() ReadProcessMemory() WriteProcessMemory() PostMessage() 。。。。。。。。。。等等函数的头部加入JMP XXXXXX的代码跳入监测程序进行监测,如发现对游戏进行操作便拦截该操作,所以以上函数均无法正常工作。于是,就避免了外挂问题。 解决方案: 1.运行时将要使用的动态连接库(如:user32.dll kernel32.dll等)复制后改名,使用LoadLibrary和GetProcAddress载入函数。 要使用LoadLibrary和GetProcAddress载入函数,你需要有Visual Studio .NET,或者其中的Visual Basic和Visual C++,当然,你还要会使用他们,而且你还要知道nProtect GameGuard运行时到底调用了哪些动态连接库(这时候大家就八仙过海各显神通吧,想尽一切办法,如果你搞错了的话。。。。。后果自己负责咯。。。。。。。。。) 2.恢复JMP XXXXXX处的代码 需要很高的技术并有很大的危险性,而且不知道会不会再被改。。。。。。一但失败,后果自己负责咯。。。。。。 3.如果nProtect GameGuard非正常关闭(看大家本事了),JMP XXXXXX处的代码不会被恢复而监测程序代码却已经被卸载,这时候如果被Hook程序调用函数。。。。。。后果自己负责咯。。。。。。 反正失败后后果都好不到哪里去,除了电脑爆炸之外,大家就自己去想吧,所以,小心,小心,再小心! 跳过nProtect: 首先要清楚,nProtect通过连接其更新服务器获得当前最新文件内容,然后与本地文件作比较,如发现服务器端的文件与本地的不一致,则从更新服务器重新下载文件更新本地的nProtect文件。如果nProtect更新成功,而新版nProtect又拦截外挂,那么理所当然地nProtect每更新一次外挂就失效一次了。 通过分析游戏客户端用于解析该游戏各程序与其对应远端连接的IP列表文件,找出nProtect更新服务器的地址,并分析出nProtect官方更新服务器上的目录文件结构。目录文件结构一般为: "更新服务器的名称\\GameGuard" 先自己构建一台模拟nProtect更新服务器,服务器上目录文件结构与官方的相同,更新下载文件内容使用旧版nProtect的内容(旧的客户端先别忙着删除。。。。。) 将真实nProtect更新服务器的地址,解析到你构建的模拟nProtect更新服务器的IP地址. 例: 127.0.0.1gg.muchina.com 写入到 system32\\drivers\\etc 的 host 文件中 这个 host 文件为系统TCP/IP协议配置IP解析服务, 没有后缀名,可用记事本或UE32打开编辑。通常一个网游的顺利运行,是要连接服务器端多个IP的("nProtect服务","连接服务","数据服务","登陆服务","主服务"。。。。。。。) 而这一系列的服务都是由一个游戏主程序的启动运行来完成(如"命运"的"WYDLaucher.exe","奇迹"的"Main.exe",“冒险岛”的“MapleStory.exe”) 由于host文件已被修改过,其中nProtect更新的连接IP被解析为指向自己模拟的更新服务器,而模拟服务器上的"更新文件"是旧版本的,所以nProtect不但不会被更新为新版,反而会版本倒退。并且往后都不会再更新。。。。。。。。 另一个方法,则是直接修改游戏主程序代码内容,就是暴力修改了。由于nProtect的功能是附在游戏主程序的开头独立执行的,所以,通过对游戏主程序进行破解处理后,将游戏主程序关于nProtect的执行部分的代码打上无效化标记,就很自然地跳过了nProtect了。 补充一下,构建模拟nProtect更新服务器可用本地机器完成(nProtect更新IP:127.0.0.1 有的安全软件会屏蔽掉此个本地自连接IP);用VM虚拟机完成(VM虚拟的多系统可各自设置不同IP);或者。。。。。另外组一台机器来做也可。。。。。 还有,脱壳的方法比较不实际,因为一个当前网游的完整客户端主程序的脱壳工作是很繁重的, 须要多CPU服务器级的技能才能比较有效率的完成(据程序外壳加密方式而定, 双P4 1.8G/1G RAM的系统跑MU97d的main.exe脱壳,半天左右吧。。。。。。), 脱壳后也不是人人都有能力对程序作适当修改,高级C语言编程能力的要求是跑不掉的。这个还是太难了点。。。。。。。

8楼: 上面这资料我也看过,没实际可行的办法,DLL改名的办法我也试过,也不行。

9楼: 没办法,先结账吧。[:)]