Mehmet Duran
Megapat
En doğru açıklamayı Recep Baltaş yapmış diyebilirim. IL yani .net ile yazılmış uygulamaları ILSpy, Reflector gibi uygulamalarla açıp direkt olarak kaynak kodunu görebilirsiniz fakat bu Native C++ uygulamaları için geçerli değildir. .net bir kanser ve genellikle amatör veya paylaşıma açık olmayan uygulamalarda kullanıldığından, indirdiğiniz güzel programların .net olma olasılığı düşüktür.
Bu tür programların kaynak kodunu okuyamazsınız, reverse engineering de bu oluyor zaten, programın mimarisi önemli, x86 olduğunu varsayalım. IDA Pro veya benim tavsiyem Ghidra ile uygulamayı açarak assembly kodlarını yorumlamaya başlamanız gerekir.
Bir yorumda RE dersi vermem mümkün değil, fakat kısaca entry point yani uygulamanın çalıştırıldıktan sonraki ilk kodların çalıştığı bölümü inceleyerek adım adım programı çözerek kırıyoruz. Bu tür RE programları, assembly kodunun işleyişine göre bir kod yazar, yani önce işlevi çözer ve bu işleve göre bir kod yazar. Bu kod orijinal kodun aynısı çoğu zaman olmaz, benzeridir hatta bazen çok farklıdır ama aynı işi görür sadece okuması zordur. Bunun sebebi derleyicilerin uygulamayı optimize edip aynı işi okuması daha zor fakat daha verimli bir kod ile yapar.
	
		
			
		
		
	
				
			Bu tür programların kaynak kodunu okuyamazsınız, reverse engineering de bu oluyor zaten, programın mimarisi önemli, x86 olduğunu varsayalım. IDA Pro veya benim tavsiyem Ghidra ile uygulamayı açarak assembly kodlarını yorumlamaya başlamanız gerekir.
Bir yorumda RE dersi vermem mümkün değil, fakat kısaca entry point yani uygulamanın çalıştırıldıktan sonraki ilk kodların çalıştığı bölümü inceleyerek adım adım programı çözerek kırıyoruz. Bu tür RE programları, assembly kodunun işleyişine göre bir kod yazar, yani önce işlevi çözer ve bu işleve göre bir kod yazar. Bu kod orijinal kodun aynısı çoğu zaman olmaz, benzeridir hatta bazen çok farklıdır ama aynı işi görür sadece okuması zordur. Bunun sebebi derleyicilerin uygulamayı optimize edip aynı işi okuması daha zor fakat daha verimli bir kod ile yapar.