能力值:
( LV7,RANK:117 )
|
-
-
2 楼
1.在功能上加入检测,可以前面加个用于校验的变量,后面调用的时候验证一下这个变量 2.加入crc检测,看游戏内存是否被修改(可以做个心跳包,没有心跳就说明crc线程被结束了,就让客户端强制下线) 3.可以r0hook一些关键函数,防止游戏内存被修改
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
鬼才zxy
1.在功能上加入检测,可以前面加个用于校验的变量,后面调用的时候验证一下这个变量
2.加入crc检测,看游戏内存是否被修改(可以做个心跳包,没有心跳就说明crc线程被结束了,就让客户端强制下线)
...
谢谢, 方案1跟数据加密是异曲同工的啊,有什么特别的作用吗? 方案2,我会尝试下; 方案3,有游戏这么做吗? Ring0下的hook,感觉很变态啊
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
Ring0下的hook,感觉很变态啊 , 有驱动保护的都这样。
|
能力值:
( LV9,RANK:280 )
|
-
-
5 楼
1、不行 2、一天更新一个版本(加大辅助作者的工作量),每次更新都把引用了那几个关键变量的函数重新加花/混淆/vm一下(防止特征码),然后在该变量所在结构中里插各种reserved各种无用变量来改变关键变量的offset(防止硬编码offset)。如果条件允许的话最好出个一键自动混淆+构建的脚本,每个版本出100个bin(防止无脑搜内存地址),每个电脑只可能拿到唯一的bin,保证辅助作者手上拿到的和普通玩家手上拿到的版本只有1%几率相同即可,记得不能让玩家随便替换bin!!!(就算辅助做出来了也不能在别的电脑跑)。 2.1、你不是TX,不要尝试去搞无意义的内核对抗。
|
能力值:
( LV7,RANK:117 )
|
-
-
6 楼
laiyier
[em_1]谢谢, 方案1跟数据加密是异曲同工的啊,有什么特别的作用吗?
方案2,我会尝试下;
方案3,有游戏这么做吗? Ring0下的hook,感觉很变态啊
加密的话 可以反汇编看看 关键部分是不是很容易被破解 ring0的hook 腾讯就是这么搞的
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
鬼才zxy
加密的话 可以反汇编看看 关键部分是不是很容易被破解
ring0的hook 腾讯就是这么搞的
tp酿吗?感觉网上也有攻略绕过去的
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
hzqst
1、不行2、一天更新一个版本(加大辅助作者的工作量),每次更新都把引用了那几个关键变量的函数重新加花/混淆/vm一下(防止特征码),然后在该变量所在结构中里插各种reserved ...
一天一个版本,qa会杀人的
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
windows下有个全局挂钩,自己挂上去,这样可以防止其它软件挂上去了
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
重要数据和服务器对比更新,如果出现不一致,差距太大就断定被修改了
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
重要数据在内存中都要加密保存,也就是说显示到界面的都和内存存储的不一致
|
能力值:
( LV9,RANK:280 )
|
-
-
12 楼
laiyier 一天一个版本,qa会杀人的[em_17]
模块化,运行游戏之前直接即时下载
|
能力值:
( LV12,RANK:380 )
|
-
-
13 楼
hzqst
laiyier
一天一个版本,qa会杀人的[em_17] 模块化,运行游戏之前直接即时下载
tx是啥
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
张来喜
windows下有个全局挂钩,自己挂上去,这样可以防止其它软件挂上去了
能详细点吗?这种防止别人挂上去还是牛逼的
|
能力值:
( LV12,RANK:380 )
|
-
-
16 楼
|
能力值:
( LV7,RANK:117 )
|
-
-
17 楼
laiyier
tp酿吗?感觉网上也有攻略绕过去的
你可以动手试试绕过,对于新手不简单 还有就是可以检测调试器 这样分析游戏功能就不好搞了
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
都是大神呀我来吃瓜子围观
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
static HHOOK g_hHook; LRESULT CALLBACK MessageProc(int nCode, WPARAM wParam, LPARAM lParam) { tagDEBUGHOOKINFOpMouseInfo = (tagDEBUGHOOKINFO)lParam; if (nCode >= 0 && wParam == WM_LBUTTONDOWN(这条消息需要换成调试消息,原来是鼠标消息处理,具体哪条消息我不清楚)) {
} return CallNextHookEx(g_hHook, nCode, wParam, lParam); // 钩子函数也可以通过直接返回TRUE来丢弃该消息,并阻止该消息的传递 } g_hHook = SetWindowsHookEx( WH_DEBUG, MessageProc, NULL, 0);
自己百度一下 WH_DEBUG这个用法,我是没用过,不过好像记得那个讨论说过,且处理函数里面的结构体tagDEBUGHOOKINFO也要随着消息不同而不同
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
具体情况我不清楚,只是贴点我自己的代码,然后还没有修改全部,自己摸索试试
|
能力值:
( LV4,RANK:40 )
|
-
-
21 楼
这个坑也太大了...多少大厂在上面...你一个人这样问不是办法的,建议找找hs 或者np的源码读一下...
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
内存CRC 就是读取自己程序的内存效验下值跟发布时候的程序内存比较下,如果不一样 就认为被修改了。你可以效验,人家可以OD 下个读取断点定位你的效验代码 PATH你的效验代码。最好还是服务端效验他修改的游戏功能。还有小公司没必要搞内核对抗。最后都是你的内核还没搞好游戏就死了。内核就是个坑。最好把关键代码全部VM ,再加些猥琐的动作,例如收集窗口标题,QQ信息,动态从服务器下载指令 加载检测DLL,枚举自己的模块等等,然后把信息发送服务器保存,大数据分析封号,随便把作者也逮了,第一出现外挂DLL,EXE信息的记录IP一般就是作者,然后把获取的QQ,窗口标题等等有用信息,百度社工,密码撞库,社会工程学能把他老底都挖出来,利用客户端动态执行命令,重点特殊照顾下作者,最后给他发个律师函,肯定把他吓的不要必要的,猥琐方法很多。把这些代码全部VM一下。你敢开,你就封!
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
如果是注入的dll修改的内存,可以Hook自身的WriteMemory、VirtualProtect等 api进行检测,也可以检测注入的dll模块。注入的检测方法很多 如果不是注入修改内存的、游戏也没有驱动进程保护,建议加入CRC检测 最好把检测模块化放在服务器以便及时更新到客户端,反外挂建议参考下网上的外挂源码。
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
张来喜
static HHOOK g_hHook;LRESULT CALLBACK MessageProc ...
我明白了,你想做的就是反注入ba
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
萌克力
这个坑也太大了...多少大厂在上面...你一个人这样问不是办法的,建议找找hs 或者np的源码读一下...
np hs是什么?壳吗?
|
|
|