使用VirtualAlloc在0x400000处申请内存
生活随笔
收集整理的這篇文章主要介紹了
使用VirtualAlloc在0x400000处申请内存
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一開始老是申請內存失敗,返回487,后來找到了解決方法,主要就是VirtualAlloc第三個參數不要寫MEM_RESERVE,然后申請的空間也不能太大,否則還是會失敗的。
假如你看到了這篇文章,我猜你可能是在做隱藏模塊的作業,課上老師講了兩種做法,第一種就是讓自己在高地址運行,把游戲注入到0x400000;另一種是把自己注入到游戲。我覺得第二種更好,雖然實現起來麻煩些,但是不容易出bug,第一種方式如果游戲主模塊比較大,很可能會VirtualAlloc失敗。
下面是簡單的代碼說明:
LPVOID pImageBase = VirtualAlloc((LPVOID)0x400000,0x22000,MEM_COMMIT,PAGE_EXECUTE_READWRITE); printf("0x%x\n",(DWORD)pImageBase); printf("%d\n", GetLastError());在我這里是可以申請到的。
如果第三個參數太大,就會申請失敗了。
總結
以上是生活随笔為你收集整理的使用VirtualAlloc在0x400000处申请内存的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 远程线程注入
- 下一篇: WIN32获取当前进程模块句柄和HINS