c# çok bilmiyorum ama pattern aradığın modülün base adresini ve image sizeını alıcan sonra base adresini size'ı ile birlikte okucan
byte[] cikan_sonuc = new byte[ image_size ];
ilk böyle bir şey oluştur sonra
okuma işlemini yap ve bufferı cikan_sonuc yap
sonra artık signature mı pattern mi kullancaksın bilmiyorum ama mesela signature kullancak olursak
Kod:
for (int i = 0; i < image_size; i++)
{
bool bulundu = true;
for (int x = 0; x < mask.Length; x++)
{
bulundu = mask[x] == '?' || cikan_sonuc[x + i] == pattern[x];
if (!bulundu)
break;
}
if (bulundu)
return i;
}
Patternde genellikle şöyle olur "48 8B ? 78" tarzı
Signature ise mask ve signatue olarak olur
mesela "\x48\x8B\x00\x78" bu sigi mask yani maske diyebilirsin oda x00 veya xCC olmayan lar için x olanlar içinde ? diye geçer mesela
örnekte verdiğimizin maski bu "xx?x"
ayrıca buraya niye soruyon mk git ucden bul