Öncelikle kötü ingilizcem için özür dilerim.
0xCC komutu hakkında bildiklerim bir kesme noktası talimatıdır.
Ancak x64 ikili dosyasını gördüğümde, her işlev birden fazla 0xCC talimatıyla ayrılıyor.
X64'ün 0xCC talimatını yalnızca kesme noktası olarak değil aynı zamanda işlevin serperatörü olarak kullandığını düşünüyorum.
Peki bu durumda 0xCC komutu ne anlama geliyor? Eğer bu komut gerçekten fonksiyonun ayırıcısı anlamına geliyorsa, her zaman her fonksiyonun arasına en az 1 tek 0xCC komutu yerleştiriliyor mu? (en azından kod bölümündeki fonksiyona giden kod bölümünü arayın)
Bu soruyu sormamın nedeni, kodumu her ikilinin çağrı talimatını otomatik olarak doğrulayacak şekilde yapmak istemem, ancak bazı çağrı talimatlarının geçersiz işlevi işaret etmesidir. (bu geçersiz işlevler paketleyici tarafından yapılmıştır)
Düşündüğüm şey, x64 ikili dosyasında her işlev 0xCC ile ayrılmışsa (call_address - 1) 0xCC olmalıdır ve bu benim doğrulama koşulumdan biri olabilir.
Umarım rehberiniz için. Teşekkürler.
0xCC komutu hakkında bildiklerim bir kesme noktası talimatıdır.
Ancak x64 ikili dosyasını gördüğümde, her işlev birden fazla 0xCC talimatıyla ayrılıyor.
X64'ün 0xCC talimatını yalnızca kesme noktası olarak değil aynı zamanda işlevin serperatörü olarak kullandığını düşünüyorum.
Peki bu durumda 0xCC komutu ne anlama geliyor? Eğer bu komut gerçekten fonksiyonun ayırıcısı anlamına geliyorsa, her zaman her fonksiyonun arasına en az 1 tek 0xCC komutu yerleştiriliyor mu? (en azından kod bölümündeki fonksiyona giden kod bölümünü arayın)
Bu soruyu sormamın nedeni, kodumu her ikilinin çağrı talimatını otomatik olarak doğrulayacak şekilde yapmak istemem, ancak bazı çağrı talimatlarının geçersiz işlevi işaret etmesidir. (bu geçersiz işlevler paketleyici tarafından yapılmıştır)
Düşündüğüm şey, x64 ikili dosyasında her işlev 0xCC ile ayrılmışsa (call_address - 1) 0xCC olmalıdır ve bu benim doğrulama koşulumdan biri olabilir.
Umarım rehberiniz için. Teşekkürler.