C# 查找内存中的字节序列

本文关键字:字节 查找 内存 | 更新日期: 2023-09-27 18:34:15

我试图找出是否有一种简单的方法来搜索程序内存中的字节序列。更具体地说,我想搜索加载到内存中的 dll,并找到这些字节所在地址的 VA/RVA。这可能吗?

我知道我可以读取 dll 的内容,然后搜索,但我不确定如何获取该位置的 VA/RVA。

谢谢

C# 查找内存中的字节序列

我不知道你是如何设法访问内存的,但如果你知道你搜索的东西的模式并可以访问内存块,你几乎可以通过ORegex找到所有内容。

var memory_bytes = new byte[] {0, 0, 0, 0, 254, 255, 254, 0, 0, 0, 254};
var oregex = new ORegex<byte>("{0}{1}{0}",x=> x==254, x=> x==255);
var matches = oregex.Matches(memory_bytes);
///OUTPUT: [254,255,254]