电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 5167 人浏览分享

LOL逆向之绕过驱动保护

[复制链接]
5167 0
前言:

相信在上一篇文章大家进行动手操作的过程中已经发现LOL无法被调试或者是CE附加,这节课我们就来解决他。

工具:

火绒剑
PChunter
台服LOL
国服LOL

外服LOL加载文件:

首先我们需要知道外服LOL加载了一些什么文件 然后在和国服进行对比 首先打开台
服LOL开始对局后查看系统所加载的驱动:

094800b3gx2e3zmza05c0e.png

游戏模块,只需要看游戏目录下的dll因为如果不是当前目录的话就是加载的其他软件的dll:

094808twfkmmf5vqgiwwgi.png

进程钩子 有一些反调试相关得钩子:

99.png

国服LOL加载文件:

首先是系统驱动加载:

98.png

游戏模块:

97.png

96.png

进程钩子:

92.png

对比:

通过对比发现国服LOL加载了一个名为ACE-BASE.sys的文件 但是外服却没有加载。并且国服的游戏模块多
了很多dllTersafe、tcj、TenRpcs、GameRpcs、policyProbe这些基本上都是游戏里面的检测。排除后得
到ace-DRV32.dll此模块和ACE-BASE.sys文件进行通讯。

通过pchunter等工具卸载ACE-BASE.SYS、ACE-Drv32.dll这两个文件来达到绕过的目的
删除目标文件,或者创建空文件。

思路一实现:

此时我们使用CE是无法对游戏进行数据搜索的:

91.png

首先使用pchunter卸载dll:

90.png

然后使用pchunter卸载ACE-Base.sys,电脑直接蓝屏了。

思路二实现:

首先在C盘以及游戏目录下找到目标驱动文件:

89.png

删除掉 新建一个空白的.sys文件 然后将文件设置为只读:

88.png

再次打开CE查看是否有图标出现:

87.png

代码:

  1. #include <windows.h>
  2. #include <iostream>
  3. #include<direct.h>    //头文件  
  4. #include<io.h>  
  5. using namespace std;
  6. #pragma warning(disable:4996)
  7. void main() {        
  8.     cout << "请输入LOLGame目录路径:"<< endl;
  9.         char LOLdir[1024] = { 0 };
  10.         cin >> LOLdir;
  11.         char file[1024] = "\\ACE-BASE.sys";
  12.         strcat(LOLdir, file);
  13.         cout << LOLdir;

  14.         if (_access(LOLdir,0) == 0) {
  15.                 if (DeleteFile(LOLdir) == 0) {
  16.                         printf("\nerrid:%d",GetLastError());
  17.                         return;
  18.                 }
  19.         }
  20.         CreateFile(LOLdir, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
  21.         printf("%d", GetLastError());
  22.         SetFileAttributes(LOLdir, FILE_ATTRIBUTE_READONLY);
  23.         getchar();
复制代码

未避免侵权以及其他不相关得问题以后进行逆向时统一使用外服LOL

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.