1. 程式人生 > >一個C語言外掛程式

一個C語言外掛程式

  • 首先建立一個控制檯應用程式
  • 引入Windows.h庫函式
  • MessageBoxA(控制代碼--通常是0,提示框內容,提示框標題,按鈕)
#include <Windows.h>
int main()
{
    MessageBoxA(0, "喜歡陳培昌", "我想說", MB_OK);
    return 0;
}
執行效果

  • 一個注入程式的編寫步驟

通常DLL型別才能注入,而不是exe我們要做兩件事

  1. 新增庫函式_declspec(dllexport)
  2. 把檔案屬性配置生成更改為DLL

應用場景:

  1. 一些網路遊戲在讀取進度過程中,贊助企業用C語言實現面板打廣告,DLL完成後,可以通過DLL注入工具注入到相關程序
  2. 修改遊戲執行過程中的相關引數----如加血
  • 以某款知名網路遊戲為例,在改遊戲執行至 某一環節中,通過軟體工具cheatengine獲取到高射炮備用單數75發,為了提高對敵機的毀傷率,需要增加備用彈藥數量,則步驟如下
  1. 通過工具cheatengine獲取到存放彈藥數的記憶體地址,cheatengine中地址和值的對應表示關係為 0x1CE0DF40 75
  2. 寫程式碼,把相關記憶體地址的值改為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語言的外掛唯堪重任