内存扫描器 - 一个专业的进程内存搜索工具
memoryscanner 是一个用 Go 语言开发的内存扫描工具,专门用于在指定进程的内存中搜索特定的字符串模式。该工具主要用于安全研究、调试和教育目的。
- 自动搜索并扫描指定的进程内存
- 支持字符串模式匹配(包括精确搜索和模糊搜索)
- 实时显示搜索进度和结果统计
- 详细的日志记录功能
- 友好的交互式命令行界面
- 支持中断搜索(Ctrl+C)
- 智能内容格式化和显示
- WeChatAppEx.exe: 微信小程序进程
- WechatBrowser.exe: 微信内置浏览器进程
- 多进程支持: 同时搜索小程序和网页进程
- 模糊搜索: 支持
?通配符进行模糊匹配(例如we?ha?) - 静默处理: 找不到进程时不会报错,优雅降级
- 实时进度: 显示搜索进度和匹配结果统计
- 详细日志: 自动生成带时间戳的日志文件,记录完整搜索结果
- 智能格式化: 控制台显示优化,日志文件保留原始内容
go build -o wechatmemorysearch.exe ./cmd/wechatmemorysearch./wechatmemorysearch.exe-
输入搜索字符串:
- 精确搜索:直接输入字符串,如
WeChat - 模糊搜索:使用
?作为通配符,如we?ha?
- 精确搜索:直接输入字符串,如
-
输入搜索长度:
- 直接回车使用默认长度 1024 字节
- 输入数字自定义长度,如
2048
-
查看结果:
- 控制台显示前10个匹配结果
- 所有结果记录在日志文件中
- 按回车键退出程序
=== 微信内存搜索工具 (支持小程序和网页) ===
请输入要搜索的字符串 (支持?模糊搜索,例如we?ha?): WeChat
请输入要搜索的字节长度 (默认1024):
正在搜索 WeChatAppEx.exe 进程...
正在搜索 WechatBrowser.exe 进程...
找到 2 个进程: WeChatAppEx.exe(1个) WechatBrowser.exe(1个) -> [1234, 5678]
开始搜索字符串: 'WeChat' (长度: 1024)
按 Ctrl+C 可以随时停止搜索...
正在扫描进程 1234...
进程 1234 中找到 150 个匹配项:
[1] 地址: 0x12345678, 内容: 'WeChat'
[2] 地址: 0x23456789, 内容: 'WeChatVersion'
[3] 地址: 0x34567890, 内容: 'MyWeChatApp'
...
[10] 地址: 0x56789012, 内容: 'WeChatMiniProgram'
... (还有 140 个结果未显示,详见日志文件)
正在扫描进程 5678...
进程 5678 中找到 25 个匹配项:
[1] 地址: 0x45678901, 内容: 'WeChat'
[2] 地址: 0x56789012, 内容: 'WeChatApp'
...
搜索完成!总共找到 175 个匹配项
按回车键退出...
=== 微信内存搜索工具 (支持小程序和网页) ===
请输入要搜索的字符串 (支持?模糊搜索,例如we?ha?): we?ha?
请输入要搜索的字节长度 (默认1024): 2048
正在搜索 WeChatAppEx.exe 进程...
正在搜索 WechatBrowser.exe 进程...
找到 1 个进程: WeChatAppEx.exe(1个) WechatBrowser.exe(0个) -> [1234]
开始搜索字符串: 'we?ha?' (长度: 2048)
按 Ctrl+C 可以随时停止搜索...
正在扫描进程 1234...
进程 1234 中找到 8 个匹配项:
[1] 地址: 0x12345678, 内容: 'wechat'
[2] 地址: 0x23456789, 内容: 'weihao'
[3] 地址: 0x34567890, 内容: 'wehcat'
搜索完成!总共找到 8 个匹配项
按回车键退出...
程序会自动创建日志文件,文件名格式为:wechatmemorysearch_YYYY-MM-DD_HH-MM-SS.log
日志文件包含:
- 搜索开始和结束时间(精确到秒)
- 找到的进程ID列表
- 每个进程的详细搜索结果
- 完整的匹配内容(保留原文格式,包含换行符等特殊字符)
- 模式匹配: 使用 AOB (Array of Bytes) 模式匹配
- 模式转换:
StringToPattern()将用户字符串转换为字节模式,支持?通配符 - 内存扫描: 扫描进程所有可读内存区域
- 支持上下文取消(Ctrl+C 中断)
- 实时进度显示(每100个匹配项更新)
- 控制台显示限制(前10个结果)
- 智能内容格式化(处理换行符、制表符等特殊字符)
- 扫描范围:0x0 到 0x7FFFFFFFFFFF
- 大小写不敏感搜索
- Windows 操作系统
- Go 1.21 或更高版本
- 管理员权限(用于访问其他进程内存)
此工具仅用于教育和安全研究目的。在使用前请确保:
- 您有权限访问目标进程
- 遵守当地法律法规
- 不要用于恶意目的
- 确保目标进程正在运行
- 尝试以管理员身份运行
- 以管理员身份运行程序
- 检查目标进程的权限设置
- 目标进程可能已经退出
- 内存区域可能无法访问(这是正常的)