一個C語言外掛程式
阿新 • • 發佈:2018-12-23
- 首先建立一個控制檯應用程式
- 引入Windows.h庫函式
- MessageBoxA(控制代碼--通常是0,提示框內容,提示框標題,按鈕)
#include <Windows.h> int main() { MessageBoxA(0, "喜歡陳培昌", "我想說", MB_OK); return 0; }
執行效果
- 一個注入程式的編寫步驟
通常DLL型別才能注入,而不是exe我們要做兩件事
- 新增庫函式_declspec(dllexport)
- 把檔案屬性配置生成更改為DLL
應用場景:
- 一些網路遊戲在讀取進度過程中,贊助企業用C語言實現面板打廣告,DLL完成後,可以通過DLL注入工具注入到相關程序
- 修改遊戲執行過程中的相關引數----如加血
- 以某款知名網路遊戲為例,在改遊戲執行至 某一環節中,通過軟體工具cheatengine獲取到高射炮備用單數75發,為了提高對敵機的毀傷率,需要增加備用彈藥數量,則步驟如下
- 通過工具cheatengine獲取到存放彈藥數的記憶體地址,cheatengine中地址和值的對應表示關係為 0x1CE0DF40 75
- 寫程式碼,把相關記憶體地址的值改為500
#include <Windows.h>
__declspec(dllexport) int main() { int *p = (int*) 0x1CE0DF40; *p=500; }
#效率更高的方案,自動檢測彈藥基數,並作彈藥補給
#include <Windows.h> void main() { int *p = (int *) 0x1CE0DF40; while(1) { if(*p<100) { *p=500; } sleep(1000);#對於對抗烈度不高的遊戲,每1秒鐘做一次檢查就可以了。 } }
總結:
對於任何想改變程式執行時值的需求,C語言的外掛唯堪重任