冰楓論壇

 找回密碼
 立即註冊
搜索
查看: 2363|回覆: 1
打印 上一主題 下一主題

Memory Scan

[複製鏈接]

46

主題

6

好友

144

積分

技術師

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

UID
15835
帖子
2025
主題
46
精華
0
積分
144
楓幣
2209
威望
125
存款
0
贊助金額
0
推廣
0
GP
164
閱讀權限
100
性別
保密
在線時間
371 小時
註冊時間
2012-10-23
最後登入
2022-4-21
跳轉到指定樓層
1
發表於 2015-1-1 21:58:21 |只看該作者 |倒序瀏覽
本帖最後由 kkmomo 於 2015-1-1 22:05 編輯

為了找特殊值只好自己寫一個
偷懶就寫得很隨便~
這裡的直接寫死成找 DWORD 而已
需要找別的要自己改

找加密過的值在 getCryptValue 裡換成解密運算就可以
(像是找動態數據什麼的)

也可以參考google到的這篇
http://www.csdn123.com/html/mycsdn20140110/65/659154f3fcd53390cb5cc65945fc3cb7.html

  1. DWORD getCryptValue(DWORD ptr)
  2. {
  3.         return *(PDWORD)ptr;
  4. }
  5.  
  6. int FirstMemScan(HANDLE hProcess, DWORD start, DWORD end, DWORD value, DWORD *result, int size)
  7. {
  8.         MEMORY_BASIC_INFORMATION mbi;
  9.         DWORD localStart;
  10.         DWORD localEnd;
  11.         DWORD totalsize;
  12.         int count;
  13.  
  14.         VirtualQueryEx(hProcess, (PVOID)(start)&mbi, sizeof(MEMORY_BASIC_INFORMATION));
  15.         localStart = (DWORD)mbi.BaseAddress;
  16.         count = 0;
  17.  
  18.         while(localStart < MEMORY_BOUNDARY && localStart <= end)
  19.         {
  20.                 if( !IsValidMem(mbi) )
  21.                 {
  22.                         localStart += mbi.RegionSize;
  23.                         VirtualQueryEx(hProcess, (PVOID)(localStart)&mbi, sizeof(MEMORY_BASIC_INFORMATION));
  24.                         continue;
  25.                 }
  26.                 totalsize = 0;
  27.                 while (localStart + totalsize < MEMORY_BOUNDARY)
  28.                 {
  29.                         VirtualQueryEx(hProcess, (PVOID)(localStart + totalsize)&mbi, sizeof(MEMORY_BASIC_INFORMATION));
  30.                         if( !IsValidMem(mbi) )
  31.                                 break;
  32.                         totalsize += mbi.RegionSize;
  33.                 }
  34.                 localEnd = min(localStart + totalsize, end);
  35.                 for (DWORD curr = max(localStart , start); curr < localEnd; curr += 4)
  36.                 {
  37.                         if (getCryptValue(curr) == value)
  38.                         {
  39.                                 result[count++] = curr;
  40.                                 debug("[%4d] %08X\n", count - 1, result[count - 1]);
  41.                                 if (count >= size)
  42.                                 {
  43.                                         debug("result arrive max size\n");
  44.                                         break;
  45.                                 }
  46.                         }
  47.                 }
  48.                 if (count >= size)
  49.                         break;
  50.                 localStart += totalsize;
  51.         }
  52.         return count;
  53. }
  54.  
  55. int MemScan(HANDLE hProcess, DWORD value, DWORD *oldResult, DWORD *newResult, int size)
  56. {
  57.         MEMORY_BASIC_INFORMATION mbi;
  58.         int count = 0;
  59.         if (oldResult == nullptr || newResult == nullptr)
  60.                 return -1;
  61.  
  62.         for (int index = 0; index < size; index++)
  63.         {
  64.                 if (IsValidPtr((PVOID)(oldResult[index])) && getCryptValue(oldResult[index]) == value)
  65.                 {
  66.                         newResult[count++] = oldResult[index];
  67.                         debug("new[%4d] %08X\n", count - 1, newResult[count - 1]);
  68.                 }
  69.         }
  70.         return count;
  71. }


點評

kkmomo  沒有ㄝ,我猜是存在stack中或是加密方式跟動態數據不同,還在試XD 存stack就比較麻煩位置會一直變  發表於 2015-1-1 22:22
偷比  帥喔所以那個你有找到嗎?  發表於 2015-1-1 22:11
[發帖際遇]: kkmomo 在論壇發帖時沒有注意,被小偷偷去了 1 楓幣 幸運榜 / 衰神榜
收藏收藏0 推0 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1鑰匙
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$

17

主題

2

好友

461

積分

中級會員

Rank: 3Rank: 3

UID
48226
帖子
309
主題
17
精華
0
積分
461
楓幣
6374
威望
428
存款
0
贊助金額
0
推廣
0
GP
109
閱讀權限
30
性別
在線時間
654 小時
註冊時間
2014-2-26
最後登入
2022-4-16

解說達人 論壇支持王 論壇粉絲 發帖達人 懶人勳章 太陽勳章 幼兒勳章 性別(男) 神手勳章 私服達人 長老勳章 積分勳章 核心勳章 版主勳章

2
發表於 2015-1-1 22:06:50 |只看該作者
本帖最後由 nmasd1023 於 2015-2-5 09:15 編輯

不客氣地收下了
[發帖際遇]: nmasd1023 搭「雲豹勘災」不但引發民怨,還花費油資 9 楓幣 幸運榜 / 衰神榜
點評回覆

使用道具 舉報

高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2024-12-22 23:37

回頂部