一.本文以植物大戰殭屍外掛的編寫爲例,介紹單機遊戲外掛的編寫和使用過程。函數
1.啓動單機遊戲如:植物大戰殭屍以下圖工具
2.想明白咱們寫外掛的目的:讓咱們有充足的陽光數量來使用,即就是修改上圖左上角紅色標記的哪一個值,目前是150,根據分析應該是個整型值,咱們讓這個值一直爲40000。spa
3.因爲該程序運行已經被加載到內存,因此陽光數應該有個內存地址,只要咱們找到這個地址就能夠修改這個地址的值,使用工具爲Cheat Engine指針
@1選擇進程爲PlantsVsZombies.execode
@2輸入陽光數150進行第一次查詢,能夠看出值爲150的地址有不少blog
@3運行程序改變陽光數,進行第二次查詢,從圖中能夠看出存儲陽光值的地址爲0x146BBB50遊戲
4.既然找到了地址,咱們就能夠進行編寫程序了,使用VS2013,代碼以下進程
1 #include<stdlib.h> 2 #include<stdio.h> 3 4 /*聲明該函數能夠導出dll模塊*/ 5 _declspec(dllexport) void change() 6 { 7 int *p = (int *)0x146BBB50;//將這個地址轉爲int類型指針 8 while (1) 9 { 10 *p = 40000;//讓陽光數量一直爲40000 11 } 12 }
5.將工程配置改成dll動態庫,而後進行編譯內存
6.使用dllinject工具將dll注入到植物大戰殭屍進程體內io
7.查看外掛運行效果,能夠看到陽光數量爲40000,不會減小
8.上面就是一個單機遊戲外掛,原理是經過地址修改變量值,你也能夠用來對其餘遊戲或者其餘類型變量進行操做,還有一種方法就是獲取函數地址,調用程序函數。