前言:
相信在上一篇文章大家进行动手操作的过程中已经发现LOL无法被调试或者是CE附加,这节课我们就来解决他。
工具:
火绒剑
PChunter
台服LOL
国服LOL
外服LOL加载文件:
首先我们需要知道外服LOL加载了一些什么文件 然后在和国服进行对比 首先打开台
服LOL开始对局后查看系统所加载的驱动:
游戏模块,只需要看游戏目录下的dll因为如果不是当前目录的话就是加载的其他软件的dll:
进程钩子 有一些反调试相关得钩子:
国服LOL加载文件:
首先是系统驱动加载:
游戏模块:
进程钩子:
对比:
通过对比发现国服LOL加载了一个名为ACE-BASE.sys的文件 但是外服却没有加载。并且国服的游戏模块多
了很多dllTersafe、tcj、TenRpcs、GameRpcs、policyProbe这些基本上都是游戏里面的检测。排除后得
到ace-DRV32.dll此模块和ACE-BASE.sys文件进行通讯。
通过pchunter等工具卸载ACE-BASE.SYS、ACE-Drv32.dll这两个文件来达到绕过的目的
删除目标文件,或者创建空文件。
思路一实现:
此时我们使用CE是无法对游戏进行数据搜索的:
首先使用pchunter卸载dll:
然后使用pchunter卸载ACE-Base.sys,电脑直接蓝屏了。
思路二实现:
首先在C盘以及游戏目录下找到目标驱动文件:
删除掉 新建一个空白的.sys文件 然后将文件设置为只读:
再次打开CE查看是否有图标出现:
代码:
- #include <windows.h>
- #include <iostream>
- #include<direct.h> //头文件
- #include<io.h>
- using namespace std;
- #pragma warning(disable:4996)
- void main() {
- cout << "请输入LOLGame目录路径:"<< endl;
- char LOLdir[1024] = { 0 };
- cin >> LOLdir;
- char file[1024] = "\\ACE-BASE.sys";
- strcat(LOLdir, file);
- cout << LOLdir;
- if (_access(LOLdir,0) == 0) {
- if (DeleteFile(LOLdir) == 0) {
- printf("\nerrid:%d",GetLastError());
- return;
- }
- }
- CreateFile(LOLdir, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
- printf("%d", GetLastError());
- SetFileAttributes(LOLdir, FILE_ATTRIBUTE_READONLY);
- getchar();
复制代码
未避免侵权以及其他不相关得问题以后进行逆向时统一使用外服LOL |