Bir Obfuscator nedir?

Bir obfuscator, bir programın anlaşılmasını zorlaştırmak için tasarlanmış bir işlem veya cihazdır. Genel olarak, şaşırtmacanın yaklaşımı, nispeten basit olan bir programı almak ve temel kodu daha karmaşık hale getirmektir. Son kullanıcının, kodun çalışma biçimindeki bir farkı fark etmesi muhtemel olmasa da, obfuscator'ın işlevi kodu kırmayı ve programı ele geçirmeyi zorlaştırır. Bu açıdan bakıldığında, bu tür bir aracı kullanmak bir güvenlik önlemi olarak görülebilir.

Cihaz veya işlemin adı, şaşırtmak veya şaşırtmak amacıyla sözlü bir sunumu karmaşıklaştırmak anlamına gelen “şaşırtmak” kelimesinden ödünç alınmıştır. Benzer bir şekilde, obfuscator kodu biraz şaşırtıcı şekilde anlama sürecini gerçekleştirmeye çalışır. Bu, kodun asıl etinin, kodun asıl çalışma bölümlerini çıkarmanın zor olacağı kadar derinde gömülmesini veya gizlenmesini engellediği için, kodun baltalanmasını zorlaştırır.

Şaşırtma sürecine çok iyi cevap verme eğiliminde olan birkaç program dili vardır. C ++, dillerin en popülerleri arasındadır ve temel kodun işlevini bozmadan göreceli kolaylığı olan bir obfüsatör kullanmayı mümkün kılar. Benzer şekilde, C ve Perl aynı zamanda, bu üç dilde yazılmış herhangi bir programlamaya bir koruma unsuru eklenmesini nispeten kolay hale getiren, şaşırtma kullanımıyla iyi çalışma eğilimindedir.

Bir şaşırtmacanın amacı kasıtlı olarak kodun çözülmesini zorlaştırmak olsa da, programlama ile çalışmaya yetkili kişilerin bunu şaşırtma süreci tarafından engellenmeden yapabilmelerini sağlama gereği de vardır. Bu amaçla, eklenen komplikasyonlar üzerinde çalışmak ve temel koda ulaşmak için çeşitli teknikler kullanmak mümkündür. Bu süreç ters mühendislik olarak bilinir, çünkü gerçek tabloyu görmek için esasen komplikasyonları çözmeyi içerir. Program dilimleme, bir kod setini gizlemek için kullanılan ters mühendislik tekniklerine bir örnektir.

Obfuscator bir dereceye kadar koruma sağlarken, bu sürecin programlamayı korumak için kullanılan tek güvenlik aracı olmaması gerektiğinin fark edilmesi önemlidir. Kötü niyetli sokmaların ağ tarafından alınmamasını ve mevcut kodlara girmelerine izin verilmesini sağlamak için başka güvenlik stratejileri de kullanılmalıdır.