Tersine mühendislik basitçe derlenmiş bir binary veya bir exe uzantılıi
yani çalıştırılabilir bir dosyanın nasıl çalıştığını anlamaya yönelik uygulanan
sürece denir.
Tersine mühendislik bir sistemin daha yüksek bir soyutlama seviyesinde
temsilini yaratmak için analiz edilmesi işlemidir.
Programcı programı genellikle yüksek seviyeli dillerde (c ,c++, visual
basic v.b.) yazmaktadır. Bu yazılan kodlar insanlar tarafından anlaşılmaktadır
fakat kod derlendikten sonra makinanın anlayabileceği dile çevrilir çevirildikten
sonra ise insanlar tarafından çok zor anlaşılır duruma gelir.
Tersine Mühendislikle Neler
Yapılabilir
-
Açık kaynak kodlu olmayan yazılımın kaynak kodlarını
ortaya çıkarma
-
Malware analiz edebilme olanağı
-
Programların lisans korumasını atlatma (Cracking)
-
Yazılımlarda zafiyet aramak (Yazılımların sağlamlığını
kontrol etme)
-
Yazılımlara ek özelikler getirme (patching)
-
Oyun hileleri
Reversing (Analiz)
çeşitleri:
·
Statik analiz
·
Dinamik analiz
Statik Analiz: statik program
analizi execute etmeden yani programı çalıştırmadan yapılan yazılım analizidir.
Dinamik Analiz: dinamik program
analizi ise o an sanal veya gerçek bir process üzerinde execute olan programa
yapılan analizidir.
Tersine Mühendislikte en çok
kullanılan programlar:
·
Disassemblerlar
·
Debuggerlar
·
PE Editörleri
·
Hex-Resource Editörler
·
Sistem izleme araçları
Disassembler: bu yazılımlar,
programı disassembly işleminden geçirerek programın assembly kodu şeklindeki
halini gösterir. Bu olay bize programda
çağrılan fonksiyonları, string değerleri vs. görüp incelememize olanak sağlar.
En yaygın olarak kullanılan disassembler IDA dır.
Debugger: debuggerlar ile
programın çalışmasını satır satır izleyebiliriz. Disassembler gibi çalışırlar fakat ek olarak
işlemleri izleme imkanımız olur.
Çoğu zaman cracking, malware analizi, exploit geliştirme aşamalarında
kullanılırlar.
Bir debugger ile programın çalışması esnasında değişiklik yapılabilir.
En yaygın olarak kullanılan debuggerlar:
En yaygın olarak kullanılan debuggerlar:
-
ImmunitlyDebugger
-
OllyDbg
-
WinDbg
Hex- Resource
Editörleri:
Diğerlerine göre çok yaygın olarak kullanılmaz. Basit string düzenlemeleri.
Bayt değiştirmeleri. Hızlı kod analizi yapabilir.
Birçok hex-resource editör mevcut;
-
HxD
-
Hes Workshop
-
ResEdit
0 Yorumlar