Java ile yazılan uygulamalar bilindiği gibi .java uzantılı kaynak dosyalara sahiptir.
Uygulamayı çalıştırabilmek için ise, öncelikle Java derleyicisi (compiler) ile bu kaynak dosyaları JVM (Java Virtual Machine) nin anlayacağı bytecode lara derlememiz gerekiyor. Bytecode, .java uzantılı kaynak dosyaların JVM üzerinde çalıştırılabilir formu olan ve .class uzantılı Java dosyalarıdır.
Elimizdeki .class uzantılı dosyaları Java platformunun sunduğu araçları kullanarak, kaynak dosyadaki bileşenlere ayrıştırılmış halini elde edebiliyoruz. Bu işleme disassemble adı veriliyor.
Daha da önemli ve ilginç olanı ise, .class uzantılı derlenmiş bytecodeları, ek birtakım araçlar kullanarak tekrar kaynak dosya biçimine çevirebiliyoruz. Bu işleme de decompile adı veriliyor.
Bu yazıda bu iki işlemin Javada nasıl yapıldığını anlatmaya çalışıcam. Öncelikle konuyu örnekler üzerinden ele alacağım için, Test.java adında basit bir Java uygulaması yazalım. Decompiler ve Disassembler işlemlerini bu kaynak dosya üzerinde örneklendirmeye çalışıcaz.
RSS Feed
13 Mayıs 2010
fatih 