当前打开有记事本;使用winhex来看一下内存搜索;能不能搜到记事本中的文本;

如下图,选择 Tools - Open Memory... 菜单;

使用WinHex搜索一个进程中的文本图解

列出进程;

使用WinHex搜索一个进程中的文本图解

提示只有64位版本才能显示模块或进程名;当前是按进程ID显示;

使用WinHex搜索一个进程中的文本图解

使用power shell查看一下记事本进程的ID;当前打开2个记事本,ID如下图;2488,7700;

使用WinHex搜索一个进程中的文本图解

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

利用管道 赋值给$id

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

$id

 

第一个记事本是2488,展开菜单,有三个内存查看选项;

使用WinHex搜索一个进程中的文本图解

双击 Primary memory;提示:只有注册版才能编辑内存,当前只能查看;

使用WinHex搜索一个进程中的文本图解

进入到2488号进程的主内存;Offset列是地址,然后是内存内容,然后是内存各种属性,如分配的尺寸、基址等;

使用WinHex搜索一个进程中的文本图解

第一个记事本包含一些文本,其中有"电话沟通了一下";

在查找对话框输入此段文本,然后搜索;

使用WinHex搜索一个进程中的文本图解

找不到;

使用WinHex搜索一个进程中的文本图解

再点击菜单 Find Hex Value,弹出如下对话框;

使用WinHex搜索一个进程中的文本图解

输入文本,点击 OK 搜索;弹出如下提示;

使用WinHex搜索一个进程中的文本图解

搜索十六进制值必须输入十六进制,要先转换为十六进制输入才行;

再搜索文本,把下拉选项改为Unicode,前面是ASCII;

使用WinHex搜索一个进程中的文本图解

再搜;还是搜不到;

根据相关资料有:

    缓冲区是UNICODE的。

    Winhex提供了搜索十六进制数值和文本字符的功能,在搜索文件字符时需要注意的是,要设置搜索的目标是ASCII字符还是Unicode字符;另外需要注意的是,Winhex对中文字符支持尚有不足,使用Winhex搜索汉字时很多时候无法找到并定位。

 

然后在第一个记事本输入一串英文:testbybo;

然后搜索这段文本;

使用WinHex搜索一个进程中的文本图解

这就找到了;如下图;地址 00398380 这一行;

使用WinHex搜索一个进程中的文本图解

查一下 电话沟通 这几个汉字的Unicode编码;如下:
    \u7535\u8bdd\u6c9f\u901a

输入这些Unicode编码,再搜;还是搜不到;

相关文章:

  • 2021-10-31
  • 2021-07-31
  • 2022-12-23
  • 2021-11-20
  • 2021-07-09
  • 2022-12-23
  • 2021-12-25
猜你喜欢
  • 2022-12-23
  • 2021-08-13
  • 2021-09-20
  • 2021-09-07
  • 2021-06-05
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案