黃易群俠傳M脫機外掛應用程式黃易神行
11187
7

[分享] 讀寫內存(易語言初級教程)

kuo1021 發表於 2009-4-9 20:22:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |
通過上兩節的介紹後,
這節就是可以說說如何用自已的代碼去實現讀取與寫入指定的一個進程中某處記憶體位址處的資料了.

要對某個進程堛滌O憶體進行操作,必需要先得到那個進程的進程ID,
接著打開這個進程ID,得到進程控制碼,然後還得指定一個要操作的記憶體位址,
最後還要提供要操作的那個記憶體的長度

至於要操作的記憶體長度在前面也有列出了那些常見的資料類型所佔用的記憶體長度。
記憶體位址有兩種概 動態記憶體位址 靜態記憶體位址

靜態記憶體位址 比如說我們運行了一個遊戲,其中的血值在記憶體用中CE找到了,記錄下這個記憶體位址,
然後關閉遊戲,再次開啟遊戲繼續用CE搜這個血值在記憶體中的位址,把這次搜到的位址與前次搜到的地址對對看,
如果兩次搜到的位址是相同的話,我們稱這種位址為 靜態位址

動態記憶體位址 動態記憶體位址相對於靜態位址來說正好相反,
如果那個遊戲的血會因為遊戲的關閉重啟後而與上次的位址不同,就是動態位址。

除了上面的兩種方式來判別一個記憶體位址是否為動態外,
還得再使用不同的作業系統再進行判斷,如一次是在Windows XP系統上取那個血在記憶體的位址,
然後再用 Windows 2003系統上也取一次血在記憶體中的位址,把兩次對比是不是相同,
若不同的話也就是動態記憶體

在本節例子埵陪 讀寫記憶體A.exe 程式,運行後的介面如下



讀寫記憶體A.exe

這個A程式會定時的從變數中讀取資料顯示出來,我們要做的軟體就是,根據上面提供的每個變數在記憶體中的位址,
然後可以把自已的資料寫到這個A程式的那些記憶體處,也可以從A程式的這些記憶體處讀出資料

下面我們就來設計一個軟體,可以從一個指定的進程中的某處記憶體處讀取或寫入一些資料





讀記憶體代碼.

模組奡ㄗ悀F多個常用的記憶體功能,函數名都是以 記憶體_ 開頭的,大家可以自已查看.
注意,要想進行記憶體讀寫操作,需要提供目標進程的進程控制碼,

並且該控制碼用過後不再使用了的話,需要及時關閉掉.






寫記憶體的代碼.




獲取與設置記憶體保護屬性的代碼

注意,記憶體是有保護屬性的,這個屬性值決定能不能該段記憶體能不能讀寫運行等操作用的.

當出現有些記憶體位址保護屬性為2時,是不能對該處記憶體寫資料的.


不過可以試試能不能把該屬性設置為4可寫.


當然有些特殊情況的記憶體是無法設置改變這個保護屬性值的.




下面再來講講CE的簡單用法,在怎麼查找記憶體位址






首次查找.可以在記憶體掃描選項 媬鴾W
全部這樣可以搜目標進程堛漫狾陸O憶體資料
使用例子堛 讀寫記憶體b.exe 寫入一個值到 讀寫記憶體a.exe 程式.

然後就可以用CE去查找這個值了,為了避免會漏查,


可以選上 全部 和 同樣掃描唯讀記憶體 這兩項來查找所有記憶體資料





再次掃描,過濾縮小記憶體位址數量
用 讀寫記憶體b 再次修改 讀寫記憶體a 堛漕滬茩,然後在CE媬擗J新的數值,

進行再次掃描,就能縮小記憶體位址的數量了,如果找出的記憶體位址還有很多的時候,


可以繼續修改後再次掃描,反復幾 次,就會只留下一個記憶體位址了,該記憶體位址就是可以使用的位址,


如果該位址在這個程式關掉再運行後還有效, 就可以肯定他是個靜態的記憶體位址了.


注意:因為易語言IDE代碼編寫不支援16進制,所以用CE找到的記憶體位址,

可以用計算器,切為科學型,進行轉換,把16進制的記憶體位址值轉成10進制的數值,再編寫到代碼.


如果進行記憶體鎖定呢?
只要找到了記憶體位址後,就可以用一個時鐘控制項,把時鐘週期設得小些,

該時鐘週期事件代碼婼s寫一條寫某個資料到該記憶體位址就行了.



因為短週期的時鐘快速的運行著,不停的寫入這個固定的值,

就能達到那處記憶體值變了時又被改寫回去的目的,也就是鎖定的效果了.
收藏收藏 分享分享 讚 幹 分享分享 FB分享
回覆

使用道具 舉報


Goldenwolf 當前離線
UID
1166302
熱心
75 值
嘉獎
0 次
違規
0 次
在線時間
17 小時
經驗
75 點
積分
426
精華
0
最後登錄
2009-10-8
閱讀權限
25
註冊時間
2009-3-28
論壇幣
259 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 3
Goldenwolf 2009-4-11 20:55:41
謝謝大大無私的分享~~
雖然是簡體字
回覆

使用道具 舉報

9118 當前離線
UID
979597
熱心
257 值
嘉獎
0 次
違規
0 次
在線時間
107 小時
經驗
257 點
積分
257
精華
0
最後登錄
2011-2-25
閱讀權限
25
註冊時間
2008-8-12
論壇幣
5007 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 3
9118 2009-8-31 20:40:13
很好的一個教學 我先學了 謝謝樓主的教學 支持
回覆

使用道具 舉報

hsl313 當前離線
UID
604939
熱心
7 值
嘉獎
0 次
違規
0 次
在線時間
2 小時
經驗
8 點
積分
29
精華
0
最後登錄
2018-8-5
閱讀權限
20
註冊時間
2007-10-20
論壇幣
6 幣
聯合幣
6 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
hsl313 2009-10-25 10:55:14
來發個體誒子啊!!!!!!!!!!
回覆

使用道具 舉報

aatimeaa 當前離線
UID
370293
熱心
52 值
嘉獎
0 次
違規
0 次
在線時間
34 小時
經驗
35 點
積分
146
精華
0
最後登錄
2018-8-2
閱讀權限
20
註冊時間
2007-5-10
論壇幣
10 幣
聯合幣
9 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
5
aatimeaa 2009-10-27 10:35:05
不錯喔
謝大大分享
學習中
不知 會不會比vb難
回覆

使用道具 舉報

qqrock 當前離線
UID
1703713
熱心
12 值
嘉獎
0 次
違規
0 次
在線時間
4 小時
經驗
14 點
積分
14
精華
0
最後登錄
2013-7-15
閱讀權限
10
註冊時間
2011-6-10
論壇幣
113 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 1
6
qqrock 2011-6-15 07:58:19
很好的教學.正好需要用到呢.謝謝分享
回覆

使用道具 舉報

kikifit789 當前離線
UID
1260639
熱心
87 值
嘉獎
0 次
違規
0 次
在線時間
18 小時
經驗
54 點
積分
243
精華
0
最後登錄
2017-12-21
閱讀權限
25
註冊時間
2009-7-8
論壇幣
31 幣
聯合幣
53 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 3
7
kikifit789 2011-8-25 09:23:11
大大寫得真好 很清楚 易懂 感恩^^
回覆

使用道具 舉報

bkl6780 當前離線
UID
533522
熱心
29 值
嘉獎
0 次
違規
0 次
在線時間
9 小時
經驗
20 點
積分
67
精華
0
最後登錄
2018-8-6
閱讀權限
20
註冊時間
2011-4-23
論壇幣
3 幣
聯合幣
6 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
8
bkl6780 2012-8-3 19:47:23
大大寫得真好 很清楚 易懂 感恩^^
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊


手機版 | Archiver | 外掛聯合國

GMT+8, 2024-11-25 14:17 , Processed in 0.056218 second(s), 19 queries , Memcache On.

版權說明:
  本站不會製作、經銷、代理外掛程式。僅免費提供外掛程式下載前之掃毒及掃木馬等安全檢測驗證,協助會員遠離盜號危險程式。本站所有資料均來自網際網路收集整理,說明文字暨下載連結轉載自原程 式開發站。站上出現之公司名稱、遊戲名稱、程式等,商標及著作權,均歸各公司及程式原創所有,本站程式所有權歸外掛聯合國所有。本程式所有權歸外掛聯合國所有.......

回頂部
第二步?
第三步?