談談我所知道的ngs bypass
開篇寫在最前面,我自己沒有bypass成功,只是想把我走過的路寫出來,也算是為即將結束的32位楓之谷(冒險島)留個回憶。ngs的完整單詞是,nexon game security ,意思就是它保護的是遊戲的安全,他要保護遊戲代碼不被修改,wz不被修改,以及檢查黑名單進程。
要ngs bypass,其實就是不讓他做這些事情,那麼怎麼才能不讓它做呢?我為此,看了一周多的windows內核編程,明白了,要hook一些內核函數,NtOpenProcess, NtQueryVirtualMemory,NtReadVirtualMemory,NtQuerySystemInformation,這時候,我寫了一個dll,hook這些函數,然後注入ngs裡, 但是一點用沒有。
截取一小段
NTSTATUS NtOpenProcess_hook(PHANDLE ProcessHandle, ACCESS_MASK DesiredAccess, POBJECT_ATTRIBUTES ObjectAttributes, CLIENT_ID* ClientId)
{
HMODULE hModule = NULL;
if (GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, reinterpret_cast<LPCSTR>(_ReturnAddress()), &hModule) && hModule == GetModuleHandle(NULL))
{
if (reinterpret_cast<DWORD64>(ClientId->UniqueProcess) != parent_process_id)
{
if (ProcessHandle)
*ProcessHandle = NULL;
return STATUS_ACCESS_DENIED;
}
}
return _NtOpenProcess(ProcessHandle, DesiredAccess, ObjectAttributes, ClientId);
}
接著我又去看別人的帖子,博客,看他們是怎麼做的,後來發現了在GMS那邊,他們是通過的wow64來進行的bypass,wow64在維基上的定義是,WoW64(Windows 32-bit on Windows 64-bit)是Microsoft Windows操作系統的一個子系統,它提供在所有Windows 64位系統上運行32位元應用程序的能力。
恰好maplestory是32位的,他在64位的windows上運行,它就要用這個wow64,那麼他正好就充當了一個很好的跳板。
待續......
寫得很亂,給自己做個回憶記錄,因為我不是大神,只是個很菜很菜的菜鳥。说不定一定哪天就把它删掉 我记得,NGS 重载了2次 NTDLL, 你直接这样HOOK 根本没用. hook haven GATE. 或者是hook x64的那些 call.要不就给NGS上DR 异常 (会崩溃),有个地方是所有的调用点的。:lol
最近也在摸索這個 虽然看不懂,我还是认同下 x32 下 Heaven's Gate 應該是比較通用的解法
不過都要x64了,這招要沒了
前陣子跟有人想直接拆協定,不過只拆到一半被其他事情中斷了 只解出 log 跟 config 加密 有没有易语言的ngs 源码 卡卡車 發表於 2021-12-12 20:18
有没有易语言的ngs 源码
能发我下ngsdll调用下吗 ngs bypass在win7隨隨便便就hook掉的,在win10反而hook不到,他吧函數都重載了...... 解密tmd vmhanle 替换X64CALL strays 發表於 2021-12-16 16:34
解密tmd vmhanle 替换X64CALL
加我qq发我下ngs 源码吧 卡卡車 發表於 2021-12-17 00:01 static/image/common/back.gif
加我qq发我下ngs 源码吧
讨论下 源码自己去写 方法告诉你
頁:
[1]
2