Tersine Mühendislik Başlangıç Terminolojisi
2 min readOct 12, 2021
Decompilers
Binary dosyalarını C++ gibi daha yüksek seviyeli dillere çevirir.
Disassemblers
Binary dosyaları assembler diline çevirir.
Debuggers
Çalışmakta olan bir programı inceleyip hatalarını veya nasıl çalıştığını anlamanıza yarayan programdır.
Hex Editors
Binary dosyanın içeriğini görüntülemenize ve düzenlemenize izin verir.
Encode, Decode
Encode, bir kodu ve ya dizini base64 gibi türde şifrelemek.
Decode, şifrelenmiş kodu çözer.
Bilinmesi gereken bir diğer şey ise farklı türdeki programlama dilleridir. CPU’dan düşükten yükseğe soyutlama seviyesidir.
- Makine Kodu, bir CPU tarafından yürütülen 1'ler ve 0'lardır.
- Assembler bir sonraki seviyedir ve insan tarafından okunabilen ilk seviyedir, C++ gibi dillerden daha zor okunur.
- Derlenmiş olarak da adlandırılan üst düzey diller arasında C ve C++ bulunur ve bunlar işlevsel olarak okunabilir kodun ilk düzeyidir.
- Yorumlanan Diller, Perl, PHP, Python ve Ruby gibi dillerdir. Çalıştırmak için bir ortam gerektirir. Daha kolay anlaşılabilir ama daha yavaştır.
- Bytecode Dilleri, Java ve .NET gibi yorumlanan diller gibi platformlar arası olan, ancak derlenmiş dillere benzer okunabilirlik ve hıza sahip dillerdir.
Özet:
- Binary sistemden assembler geçmek için bir disassembler kullanın.
- Binary’den daha yüksek dile geçmek için bir decompiler kullanın.
- Binary dosyasının içeriğinin düzenlemek için bir hex editör kullanın.
- Çalışırken bir uygulamayla etkileşim kurmak için debugger kullanın.