欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

答复

答复

引用:
最初由 堕落天才发布
******************************************************
*因为很简单,我们的程序无法对游戏使用OpenProcess、ReadProcessMemoery及
WriteProcessMemory这些函数(就算是去掉了NP监视模块npggNT.des),而NP又不可能限制游戏自身使用这些函数,所以只要我们能够进入游戏进程就能够读写游戏的内存...
现在不行了...就算进入游戏的进程,也不能读游戏内存..但是我在测试的过程中,dll进入游戏进程后,OpenProcess打开游戏进程还是成功的..ReadProcessMemoery这个函数就不成功了,貌似是因为NP在r0下做了手脚..ReadVirtualMemory实际上调用NtReadVirtualMemory:
.text:7C8021CC ReadProcessMemory proc near             ; CODE XREF: GetProcessVersion+2F2FDp
.text:7C8021CC                                         ; GetProcessVersion+2F31Cp
.text:7C8021CC                                         ; GetProcessVersion+2F343p
.text:7C8021CC                                         ; Toolhelp32ReadProcessMemory+26p
.text:7C8021CC
.text:7C8021CC hProcess        = dword ptr  8
.text:7C8021CC lpBaseAddress   = dword ptr  0Ch
.text:7C8021CC lpBuffer        = dword ptr  10h
.text:7C8021CC nSize           = dword ptr  14h
.text:7C8021CC lpNumberOfBytesRead= dword ptr  18h
.text:7C8021CC
.text:7C8021CC                 mov     edi, edi
.text:7C8021CE                 push    ebp
.text:7C8021CF                 mov     ebp, esp
.text:7C8021D1                 lea     eax, [ebp+nSize]
.text:7C8021D4                 push    eax
.text:7C8021D5                 push    [ebp+nSize]
.text:7C8021D8                 push    [ebp+lpBuffer]
.text:7C8021DB                 push    [ebp+lpBaseAddress]
.text:7C8021DE                 push    [ebp+hProcess]
.text:7C8021E1                 call    ds:NtReadVirtualMemory
 NtReadVirtualMemory:
 NtReadVirtualMemory proc near           ; CODE XREF: LdrFindCreateProcessManifest+1CCp
.text:7C92E2BB                                         ; LdrCreateOutOfProcessImage+7Cp
.text:7C92E2BB                                         ; RtlReadOutOfProcessMemoryStream+2Ep
.text:7C92E2BB                                         ; LdrFindCreateProcessManifest+1612Fp
.text:7C92E2BB                                         ; LdrFindCreateProcessManifest+1691Ep
.text:7C92E2BB                                         ; LdrFindCreateProcessManifest+1697Bp ...
.text:7C92E2BB                 mov     eax, 0BAh       ; NtReadVirtualMemory
.text:7C92E2C0                 mov     edx, 7FFE0300h
.text:7C92E2C5                 call    dword ptr [edx]
.text:7C92E2C7                 retn    14h
.text:7C92E2C7
.text:7C92E2C7 NtReadVirtualMemory endp
最后他还是要进ring0...不知道恢复ssdt,ReadVirtualMemory能否读游戏内存?  

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功