我试图找出是否有一种简单的方法来搜索程序存储器中的字节序列。更具体地说,我想搜索加载到内存中的DLL,并找到这些字节所在地址的VA / RVA。这可能吗?
我知道我可以读取dll的内容然后搜索,但我不知道如何获得该位置的VA / RVA。
由于
答案 0 :(得分:0)
我不知道你是如何设法访问内存的,但如果你知道你搜索的内容模式并且可以访问内存块,你几乎可以通过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]