c# code
using
system;
using
system.drawing;
using
system.text;
using
system.windows.forms;
namespace
plantsvszombiestool
private
void
form1_load(
object
sender, eventargs e)
//啟動無線陽光
private
void
btnget_click(
object
sender, eventargs e)
if(btnget.text=="
啟用-陽光無限")
else
}private
void
timer1_tick(
object
sender, eventargs e)
intaddress
=readmemoryvalue(baseaddress);
//讀取基址(該位址不會改變)
address
=address
+0x768;//
獲取2級位址
address
=readmemoryvalue(address); address
=address
+0x5560;//
獲取存放陽光數值的位址
writememory(address,
0x1869f
);//
寫入資料到位址(0x1869f表示99999)
timer1.interval
=1000
; }//
啟動無線金錢
private
void
btnmoney_click(
object
sender, eventargs e)
if(btnmoney.text=="
啟用-金錢無限")
else
}private
void
timer2_tick(
object
sender, eventargs e)
intaddress
=readmemoryvalue(baseaddress);
//讀取基址(該位址不會改變)
address
=address
+0x82c;//
獲取2級位址
address
=readmemoryvalue(address); address
=address
+0x28;//
得到金錢位址
writememory(address,
0x1869f
);//
寫入資料到位址(0x1869f表示99999)
timer2.interval
=1000
; }private
void
btngo_click(
object
sender, eventargs e)
intaddress
=readmemoryvalue(baseaddress);
//讀取基址(該位址不會改變)
address
=address
+0x82c;//
獲取2級位址
address
=readmemoryvalue(address); address
=address
+0x24
;int
lev=1;
trycatch
writememory(address, lev); }
//讀取制定記憶體中的值
public
intreadmemoryvalue(
intbaseadd)
//將值寫入指定記憶體中
public
void
writememory(
intbaseadd,
intvalue)
private
intbaseaddress
=0x006a9ec0;//
遊戲記憶體基址
private
string
processname="
plantsvszombies";
//遊戲程序名字
} }
下面這個類是整個工具的核心
c# code
using
system;
using
system.text;
using
system.diagnostics;
using
system.runtime.interopservices;
namespace
plantsvszombiestool }
return
rs; }
//根據程序名獲取pid
public
static
intgetpidbyprocessname(
string
processname)
return
0; }
//根據窗體標題查詢視窗控制代碼(支援模糊匹配)
public
static
intptr findwindow(
string
title) }
return
intptr.zero; }
//讀取記憶體中的值
public
static
intreadmemoryvalue(
intbaseaddress,
string
processname)
catch
}//將值寫入指定記憶體位址中
public
static
void
writememoryvalue(
intbaseaddress,
string
processname,
intvalue) ,
4, intptr.zero); closehandle(hprocess); } } }
也談C 記憶體區域
眾所周知,c 記憶體區域被分為5大類 棧 堆 自由儲存區 全域性 靜態儲存區 常量儲存區。棧由編譯器控制,棧空間的申請 使用和釋放全權由編譯器處理。這裡的 全權處理 意思是責任歸屬,並不是說編譯器在程式執行時介入管理。實際上,編譯器的工作在編譯期就完成了,它對棧的管理體現在編譯時對暫存器esp的維護...
C 外掛程式 讀寫遊戲記憶體
以下為 關鍵 setwindowtext 植物大戰殭屍太陽修改器 斯人 設定視窗標題 gamehwnd findwindow mainwindow 植物大戰殭屍中文版 獲取控制代碼 getwindowthreadprocessid gamehwnd,hprocid 獲取程序id mprocid op...
C 外掛程式 讀寫遊戲記憶體
以下為 關鍵 setwindowtext 植物大戰殭屍太陽修改器 斯人 設定視窗標題 gamehwnd findwindow mainwindow 植物大戰殭屍中文版 獲取控制代碼 getwindowthreadprocessid gamehwnd,hprocid 獲取程序id mprocid op...