一个游戏检测思路问题 求解
做了一款游戏wg 发布后 会被检测 FZ不是注入的exe的检测的应该是FZ的特征码或者MD5 我每次重新编译就没事了 我想可能是通过枚举枚举进程 然后找到wg位置 或者其他方式获取然后 我在游戏里 HOOK了
CreateFileA 发现并没有打开FZ的路径 都是一些游戏的相关的文件
MapViewOfFileEx 然而 没找到相关的信息也不清楚干嘛的 我也只是返回了正常的数值而已
EnumProcessModulesEx 很奇怪 我HOOK了这里 没有任何输出 但是游戏确实HOOK了这个函数
GetModuleFileName 输出的加载游戏的DLL路径
GetModuleInformation 句柄 总是 -1 所以我想应该是枚举自身模块 返回正常数值
NTAPI* LdrGetProcedureAddress返回正常水质
NTAPI* _ZwQuerySystemInformation 游戏并没有调用
Process32Next 游戏调用了这个 API返回进程的相关信息 我在里面找到了FZ进程名
CreateToolhelp32Snapshot游戏调用了这个API 我让他返回 -1
WtsEnumerateProcesses 游戏HOOK了这个函数 但却没调用
EnumProcesses 游戏没调用 放弃
QueryFullProcessImageNameA游戏没调用 放弃
然而还是被检测到 我是在枚举进程这里想的 方法
想问下 还有没有 别的什么方法实现比如 他怎么才能获得MD5或者特征码呢 这我想不出来 新手
本帖最后由 死神 于 2016-9-7 15:16 编辑
忘了说 我HOOK CreateToolhelp32Snapshot 之后让他返回-1 Process32Next 确实 找不到FZ进程名了 但是还会被检测到应该还是有别的进程之类的API么以下 是我HOOK的函数
"kernel32.dll", "Process32Next",
"kernel32.dll", "CreateToolhelp32Snapshot"
"wtsapi32.dll", "WTSEnumerateProcessesA",
"kernel32.dll", "QueryFullProcessImageNameA",
"kernel32.dll", "GetProcAddress",
"kernel32.dll", "K32GetModuleInformation",
"kernel32.dll", "LoadLibraryExW",
kernel32.dll", "CreateFileA",
kernel32.dll", "MapViewOfFileEx",
kernel32.dll", "K32EnumProcessModulesEx",
Psapi.dll ", "EnumProcesses",
kernel32.dll", "OpenProcess",
kernel32.dll", "GetMappedFileName",
ntdll.dll", "LdrGetProcedureAddress",
ntdll.dll", "ZwQuerySystemInformation"
游戏有没有加载驱动 , 有的话方法就更多了
再说了 用Hook来判断不一定准确 没准人家重载了DLL呢 .
游戏会不会检测你的程序的窗口呢 或者是行为检测等等? 隐藏进程 保护进程 试试 试试搜索中文,或者查看百度大全中1324页的MD5如何爆炸出来 不一定就是检测的进程,如果在进程上处理结束了。结合LZ所说的重新编译没事的话,应该是MD5,把EXE放在内存中运行试试。 {:6_218:}感觉思路错了....
首先这个有多少人用,如果人数多,你说md5可能是被人恶意举报了.
如果自己用,只能说明游戏对你的程序进行了行为检测. 那就绝对不能从什么md5下手,否则不封你才怪.
{:6_196:}如果是md5,就简单多了.写个启动软件,每次启动前先改下主程序md5......
如果你程序没加壳的话,推荐关闭程序就修改自己的MD5值!发源码看看你HOOK的处理方式
页:
[1]