Reverse Engineering - Self Modifying

Karşımıza gelen pencereden itibaren ve takiben programı şifrelememize yarayan kod bloğunu yazıyoruz.Programın sadece küçük bir kısmında yapacağız bu işlemi.Yani sadece üstteki resimde gözüken kod bloğunu.

MOV ECX,44CA98              //Programı OEP’den itibaren şifrelemeye başlıyoruz.ECX’e OEP değerini veriyoruz.
XOR DWORD PTR DS:[ECX],12345 // 12345 ile xorluyoruz
INC ECX  // ECX’i arttırıyoruz
CMP ECX,44CADE  // Kod bloğunda resimde görüldüğü üzere son adres 44CADD Son olarak DDli biten adresinde üstünden geçiyor ve 1 artıyor.Bizde 1 üstü olan DE ile karşılaştırıyoruz.
JNZ SHORT 0044CAED // ECX 0044CAED olana kadar xorlamaya devam ediyoruz.Olduysa program akışına devam ediyoruz.

Aynı işlemi tersine çevirecek kod bloğu. Xorlardığımız birşeyi tekrar aynı değerle xorlarsak karşımıza aynı sonuç çıkar.

MOV ECX,44CA98
XOR DWORD PTR DS:[ECX],12345
INC ECX
JNZ SHORT 0044CB01
JMP SHORT 0044CA98  // İşlem tamamlandıysa OEP’e zıplıyoruz.

Tarih:
Hit: 4434
Yazar: anonim6918524

Taglar: reverse engineering - self modifying


Yorumlar


Siftahı yapan siz olun
Yorum yapabilmek için üye girişi yapmalısınız.