Bundan bir önceki
yazımızda “Smart Strip” işleminden bahsetmiştik. Smart Strip
lazarus'un oluşturduğu “elf” çalıştırılabilir dosyalarının
içerisinde bulunan debug bilgilerinin temizlenerek dosya boyutunu
nispeten küçültmemizi sağlamaktaydı. Peki daha da küçültmek
istiyorsak çalıştırılabilir dosyamızı yapmamız gereken şey
nedir? Tabiki sıkıştırma programları. Piyasa birçok sıkıştırma
programı olduğu söylenebilir. Bunlardan birisi de tamamen ücretsiz
ve açık kaynak olan UPX programıdır. Bu tip programlar
çalıştırılabilir formdaki elf yada exe tipindeki dosyaların
sıkıştırılması işlemini yapar. Bu sıkıştırma işlemi
çalıştırılabilir dosyanın boyutunu küçültme maksadıyla
yapıldığı gibi daha çok yazılımın “cracker” dediğimiz
dosya hackleme işlemini yapan kişilerden korumak maksadıyla
yapılır. Tabi UPX bilinen bir sıkıştırma algoritmasına sahip
olduğu için cracker lar açısından pek uğraştırıcı bir
koruma olmayacaktır. Bizim burada kullanma maksadımız
çalıştırılabilir dosyamızın daha iyi dağıtılabilir olması
için asgari dosya boyutunu elde etmek olduğu için anlatımımız
bu yönde olacaktır.
İlk yazımızda
bahsettiğimiz gibi öncelikle lazarus “Araçlar (tools)”
menüsünden “Configure External Tools” menüsüne tıklarız.
Açılan ekrandan sırasıyla “Ekle” butonuna tıklarız.
Karşımıza “Edit Tool” isimli bir ekran gelecek. Bu ekranda;
Title : | UPX Sıkıştırma |
Program Name : | /home/gnukarabatak/upx-3.91-i386_linux/upx |
Parameters : | ./upx "$TargetFile()" |
Bir derlenmiş
dosyayla ilgili yapılmış bir çalışmadan örnek veriler :
Sırası
|
İşlem Adı |
İşlem Öncesi Dosya Boyutu
|
İşlem Sonrası Dosya Boyutu
|
1
|
Derleme İşlemi | .... | 56,8 MB |
2
|
Smart Strip | 56,8 MB | 9,1 MB |
3
|
UPX Sıkıştırma | 9,1 MB | 3,0 MB |
Lazarusla ilgili
ekran görüntüleri aşağıdaki gibidir.
Bu yazıdaki en
önemli nokta ve hatta bu yazıyı yazmama sebep olan husus girilen
“Parameters” değeridir. Ubuntu için bu değeri
./upx
"$TargetFile()" yerine
upx "$TargetFile()"
şeklinde
girerseniz Upx çalışmayacaktır. Bu ubuntu(linux)
üzerindeki elf formundaki dosyaların konsol /terminal üzerinde
çalıştırılırken uyulması gereken bir kuraldan kaynaklandığını söyleyebiliriz.
Ayrıntılar için ubuntu yada linux kullanım kitapçıklarına, wiki belgelerine
bakabilirsiniz.
Başka bir yazıda
görüşmek üzere hoşçakalın.
duralikiraz.blogspot.com
21
Aralık 2015
“Muvaffakiyet
Allahtandır.”
Kaynaklar :
Hiç yorum yok:
Yorum Gönder