woaini1000 发表于 2018-4-10 23:59

LXL防封源码

最近玩游戏老是遇到炸房和脚本 没有游戏体验 所以又屁颠的去找了 市场防封 去分析了一下 发现有高达 15款防封但是分析起来 都是同一个原理 可能是同一个人写的或都是认识的废话连篇 开始

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
void Pass()
{
    DWORD TcjBase = (DWORD)GetModuleHandleA("Tcj.dll");
      while (TcjBase == 0)
      {
            TcjBase = (DWORD)GetModuleHandleA("Tcj.dll");
      }

      HideModule((HMODULE)TcjBase);//断链Tcj 过自校验

      DWORD PassGetCurrentProcess = TcjBase + 0x83B84; // 通过IDA 可以看到这里获取打开自身进程和
      DWORD Passthis = TcjBase + 0x2DE84; // 这里计算this
      DWORD PassMemcpy_0 = TcjBase + 0xDBD86; // 这里是 if (hModule > ?? 则 拷贝内存)
      DWORD PassIsBadReadPtrThis = TcjBase + 0xDBD86; //这里是API 重载的IsBadReadPtr
         
      HookJmp(PassGetCurrentProcess, (DWORD)NewPassGetCurrentProcess);
      HookJmp(Passthis, (DWORD)NewPassthis);
      HookJmp(PassMemcpy_0, (TcjBase + 0xDBD9C));//
      *(DWORD*)PassIsBadReadPtrThis = (DWORD)NewIsBaReadPtr; // 这里通过 改写他的this 指针指向我们的地址
         
         
}

BOOL WINAPI DllMain( HMODULE hModule,
                     DWORDul_reason_for_call,
                     LPVOID lpReserved
                     )
{
    if (ul_reason_for_call == DLL_PROCESS_ATTACH)
    {
      HideModule(hModule);//断链自身 绕过Tcj的扫描 不然会封一天 
      Pass();

      return TRUE;
    }
   
    return TRUE;




fzq549297020 发表于 2018-4-11 11:53

沙发一下{:5_116:}

1396262666 发表于 2018-4-11 12:10

没有易源码吗?

43551096 发表于 2018-4-11 12:41

- - 怎么用求解

sammir 发表于 2018-4-11 12:51

没有看明白是什么原理   希望大神出个作品

1003770559 发表于 2018-4-11 14:45

表示看不懂,哈哈{:6_225:}

929317832 发表于 2018-4-12 09:12

学习使我快乐,感谢楼主分享。

aaa861116 发表于 2018-4-17 00:19

看一下能不能用

aaa861116 发表于 2018-4-17 06:26

看一下能不能用

welfare123 发表于 2018-6-22 08:36

感谢楼主分享学习了
页: [1] 2
查看完整版本: LXL防封源码