使用WinHex搜索一個進程中的文本圖解

當前打開有記事本;使用winhex來看一下內存搜索;能不能搜到記事本中的文本;

如下圖,選擇 Tools - Open Memory... 菜單;

列出進程;

提示只有64位版本才能顯示模塊或進程名;當前是按進程ID顯示;

使用power shell查看一下記事本進程的ID;當前打開2個記事本,ID如下圖;2488,7700;

powershell由進程名查看進程ID的方法:

利用管道 賦值給$id

$id  = Get-Process -name explorer* | Select-Object id | ForEach-Object -Process{$_.id}

$id

 

第一個記事本是2488,展開菜單,有三個內存查看選項;

雙擊 Primary memory;提示:只有註冊版才能編輯內存,當前只能查看;

進入到2488號進程的主內存;Offset列是地址,然後是內存內容,然後是內存各種屬性,如分配的尺寸、基址等;

第一個記事本包含一些文本,其中有"電話溝通了一下";

在查找對話框輸入此段文本,然後搜索;

找不到;

再點擊菜單 Find Hex Value,彈出如下對話框;

輸入文本,點擊 OK 搜索;彈出如下提示;

搜索十六進制值必須輸入十六進制,要先轉換爲十六進制輸入纔行;

再搜索文本,把下拉選項改爲Unicode,前面是ASCII;

再搜;還是搜不到;

根據相關資料有:

    緩衝區是UNICODE的。

    Winhex提供了搜索十六進制數值和文本字符的功能,在搜索文件字符時需要注意的是,要設置搜索的目標是ASCII字符還是Unicode字符;另外需要注意的是,Winhex對中文字符支持尚有不足,使用Winhex搜索漢字時很多時候無法找到並定位。

 

然後在第一個記事本輸入一串英文:testbybo;

然後搜索這段文本;

這就找到了;如下圖;地址 00398380 這一行;

查一下 電話溝通 這幾個漢字的Unicode編碼;如下:
    \u7535\u8bdd\u6c9f\u901a

輸入這些Unicode編碼,再搜;還是搜不到;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章