cuw 发表于 2024-3-8 14:36

关于那个开源修改器规避反作弊检测的一个思路

原贴: 【搬运】地狱潜兵2修改器 ,我也是看到了这个才知道原来还有个开源的修改器


只是分享个思路, 不确定是真的有效还是仅仅侥幸运气好
主要是给源码加了一段每次启动时自动生成随机程序名称的代码, 因为在原作者那边的论坛上看到有人说被检测到后重新编译一次文件就又可以用了, 就想着要是我让程序每次启动时的名字都不一样那你反作弊不就不认识了吗, 还不用每次都重新编译那么麻烦
不是专业的软件编程行业的, 其实我也不知道只改个程序标题到底算不算是个新的不一样的程序了, 可能是自欺欺人掩耳盗铃, 不过我自己这边测试是没被检测到



添加的代码, 其实功能就是生成个随机的字符串:
#include <string>
#include <random>

using std::wstring;
using std::random_device;
using std::default_random_engine;

wstring strRand(int length) // length: 产生字符串的长度
{
    char tmp;                                                        // tmp: 暂存一个随机数
    wstring buffer;                                                // buffer: 保存返回值

    random_device rd;                                        // 产生一个 std::random_device 对象 rd
    default_random_engine random(rd());        // 用 rd 初始化一个随机数发生器 random

    for (int i = 0; i < length; i++) {
      tmp = random() % 36;        // 随机一个小于 36 的整数,0-9、A-Z 共 36 种字符
      if (tmp < 10) {                        // 如果随机数小于 10,变换成一个阿拉伯数字的 ASCII
            tmp += '0';
      }
      else {                                // 否则,变换成一个大写字母的 ASCII
            tmp -= 10;
            tmp += 'A';
      }
      buffer += tmp;
    }
    return buffer;
}

然后把原来代码里设置标题的那句SetConsoleTitle(_XOR_(L"Helldivers 2 DLL Proxy PoC"))改成:
SetConsoleTitle(strRand(8).c_str());

这样之后每次启动打开的都是个随机名称的窗口了


现在这个项目肯定已经被开发组盯上了, 按这三天两头更新补丁的样子, 估计马上反作弊检测又会变的更严格

darkelf100 发表于 2024-3-8 14:39

666666666666

cuw 发表于 2024-3-8 14:42

代码怎么显示不出来, 在这发试试
添加的代码, 其实功能就是生成个随机的字符串:
#include <string>
#include <random>

using std::wstring;
using std::random_device;
using std::default_random_engine;

wstring strRand(int length) // length: 产生字符串的长度
{
    char tmp;                                                        // tmp: 暂存一个随机数
    wstring buffer;                                                // buffer: 保存返回值

    random_device rd;                                        // 产生一个 std::random_device 对象 rd
    default_random_engine random(rd());        // 用 rd 初始化一个随机数发生器 random

    for (int i = 0; i < length; i++) {
      tmp = random() % 36;        // 随机一个小于 36 的整数,0-9、A-Z 共 36 种字符
      if (tmp < 10) {                        // 如果随机数小于 10,变换成一个阿拉伯数字的 ASCII
            tmp += '0';
      }
      else {                                // 否则,变换成一个大写字母的 ASCII
            tmp -= 10;
            tmp += 'A';
      }
      buffer += tmp;
    }
    return buffer;
}

然后把原来代码里设置标题的那句SetConsoleTitle(_XOR_(L"Helldivers 2 DLL Proxy PoC"))改成:
SetConsoleTitle(strRand(8).c_str());

cuw 发表于 2024-3-8 14:44

cuw 发表于 2024-3-8 14:42
代码怎么显示不出来, 在这发试试
添加的代码, 其实功能就是生成个随机的字符串:



难绷, 直接发代码文件算了

sc1134 发表于 2024-3-8 14:59

请教一下,具体怎么操作呢

gld404848156 发表于 2024-3-8 15:11

改了代码的dll能不能直接分享一下,dll打不开:dizzy:

门之匙 发表于 2024-3-8 15:17

大佬能不能分享一下改好的DLL啊?不会用。。。

cuw 发表于 2024-3-8 15:32

门之匙 发表于 2024-3-8 15:17
大佬能不能分享一下改好的DLL啊?不会用。。。

https://share.weiyun.com/bZZVAIvQ
只能说先试试看看吧, 我也不确定在你们那边是不是一样的效果

cuw 发表于 2024-3-8 15:33

gld404848156 发表于 2024-3-8 15:11
改了代码的dll能不能直接分享一下,dll打不开

发在楼下了

废纸酱 发表于 2024-3-8 15:56

谢谢大佬可以用,请问那个+5样本怎么用的?

cuw 发表于 2024-3-8 16:01

废纸酱 发表于 2024-3-8 15:56
谢谢大佬可以用,请问那个+5样本怎么用的?

我也不太清楚, 样本什么的我都满了所以也没用过资源相关的功能

废纸酱 发表于 2024-3-8 16:04

cuw 发表于 2024-3-8 16:01
我也不太清楚, 样本什么的我都满了所以也没用过资源相关的功能

好吧,谢谢大佬

黑兔兔_ 发表于 2024-3-8 16:11

我用了,没问题了

prophethaha 发表于 2024-3-8 17:40

经测试,可以打开游戏,但按enter后游戏会立即闪退

TimeRush 发表于 2024-3-8 17:51

cuw 发表于 2024-3-8 16:01
我也不太清楚, 样本什么的我都满了所以也没用过资源相关的功能

大佬能添加个核弹的功能嘛?之前改机甲的时候有核弹这个功能

kain43 发表于 2024-3-8 18:01

我其实在想,是不是该召唤一个易语言大神了

kain43 发表于 2024-3-8 18:03

不过我还是感觉这个控制台略显多余,如果像之前exe版本那样使用ini文件开功能的话更方便也更不容易被检测

我爱那个玩游戏 发表于 2024-3-8 18:12

改窗口名还是会被检测

cuw 发表于 2024-3-8 18:15

prophethaha 发表于 2024-3-8 17:40
经测试,可以打开游戏,但按enter后游戏会立即闪退

那可能就是玄学了, 我看原作者那边的反馈也是有人可以有的不行

cuw 发表于 2024-3-8 18:15

TimeRush 发表于 2024-3-8 17:51
大佬能添加个核弹的功能嘛?之前改机甲的时候有核弹这个功能

程序不是我开发的啊, 我只是稍微改了下方便自己用而已

cuw 发表于 2024-3-8 18:18

kain43 发表于 2024-3-8 18:03
不过我还是感觉这个控制台略显多余,如果像之前exe版本那样使用ini文件开功能的话更方便也更不容易被检测 ...

那个版本好像要用旧版的游戏文件, 不知道现在更新没有

cuw 发表于 2024-3-8 18:21

我爱那个玩游戏 发表于 2024-3-8 18:12
改窗口名还是会被检测

那可能还是有其他方面的检测, 我自己这边是开开关关打完了好几关测试没什么问题, 就以为反作弊是判断的程序名称

kain43 发表于 2024-3-8 18:25

cuw 发表于 2024-3-8 18:18
那个版本好像要用旧版的游戏文件, 不知道现在更新没有

那个版本彻底停摆了

TimeRush 发表于 2024-3-8 18:27

cuw 发表于 2024-3-8 18:15
程序不是我开发的啊, 我只是稍微改了下方便自己用而已

大佬有群吗,我想进群水群...

cuw 发表于 2024-3-8 18:30

kain43 发表于 2024-3-8 18:25
那个版本彻底停摆了

啊这, 反作弊更新这么频繁围追堵截的, 估计作者也没精力同时维护两份

cuw 发表于 2024-3-8 18:32

TimeRush 发表于 2024-3-8 18:27
大佬有群吗,我想进群水群...

没有, 我就一臭打游戏的, 不水群{:3_91:}

TimeRush 发表于 2024-3-8 18:40

cuw 发表于 2024-3-8 18:32
没有, 我就一臭打游戏的, 不水群

大佬要不要一起玩?

cuw 发表于 2024-3-8 18:54

TimeRush 发表于 2024-3-8 18:40
大佬要不要一起玩?

不用了谢谢, 我习惯独狼:lol

ljtc0922 发表于 2024-3-8 18:55

感谢大佬,真的可以,虽然我的样本都已经刷满了,不过有个加速,可以更好的刷超级币了。

shengda6520 发表于 2024-3-8 20:14

试了下,可以用,速刷了下样本把剩下都解锁了,之前太肝了
页: [1] 2 3 4
查看完整版本: 关于那个开源修改器规避反作弊检测的一个思路