İçeriğe atla
0 XP 0
0/6

Puan ders bitince hesaba yazılır. Bu dersi tamamlayınca +50 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.

8 dk · 50 XP · 6 etkinlik

Kod karartma ve şifreli dizeler

Karartmanın amacı analizi yavaşlatmaktır, imkânsız kılmak değil. Kod sonunda çalışmak zorundadır. Çalıştığı yerde de çözülmüş haliyle bellekte durur. Bu gerçek, her karartmanın açık kapısıdır.

En yaygın yöntem dize şifrelemedir. Adresler, anahtar yolları ve komutlar düz metin olarak durmaz. Kullanılacağı anda çözülür. Böylece basit bir dize taraması hiçbir şey bulmaz.

Çözme çoğu zaman basittir. Tek baytlık XOR, Base64 kodlaması, onaltılık gömme ya da sabit kaydırmalı harf değişimi. Hiçbiri gerçek şifreleme değildir; hepsi imza aramalarını atlatmayı hedefler.

for (i = 0; i < len; i++)
    buf[i] = veri[i] ^ 0x5a;

; anahtar kodun icinde durur, ayni islem cozer de
Tek baytlık XOR: hem şifreler hem çözer, anahtar hemen yanındadır.

Onaltılık gömme en kolay çözülenidir. İki onaltılık karakter bir baytı, yani bir harfi karşılar. Örneğin 70 değeri p harfinin ASCII kodudur. Karakterleri ikişer ikişer ayırıp bir tabloya bakarsan düz metni elde edersin. Bir dosyada düz metin olarak powershell araması yapan basit bir tarama bu diziyi asla bulamaz; onaltılık karşılığı bambaşka görünür.