UPX: EXE File Compressor

Artikel ini aku tulis setelah aku merevisi artikel di Wiki GDI.

Apa itu UPX?

UPX adalah suatu software yang dapat memampatkan (kompresi) suatu executable (EXE) file agar lebih kecil. UPX merupakan freeware dan bersifat stand-alone, tidak perlu diinstal, jadi UPX hanya tinggal di copy saja untuk menggunakannya.
Didalam tutorial ini, kita akan mencoba memampatkan executable file kita menggunakan UPX.

Mengunduh UPX

Pertama kita dapat mengunduh UPX dari http://upx.sourceforge.net. Setelah selesai mengunduhnya, extract lah file tersebut menggunakan ZIP Decompressor seperti WinZip, WinRAR, ataupun yang lainnya.

Preparasi Proses Kompresi

Setelah mengextract file UPX, copy dan paste-lah seluruh file dari folder UPX yang sudah diextract tadi ke system 32 Windows kita, standarnya ada di C:\Windows\system32\. Hal ini berguna agar UPX bisa kita pakai dan panggil di folder manapun karena sudah masuk ke PATH sistem operasi Windows. Kita bisa juga menaruh UPX.exe kefolder lain dan UPX bisa tetap dipanggil dari folder manapun dgn men-setting PATH Windows kefolder tersebut, tetapi tidak akan dibahas disini cara men-setting path.

EXE File Compressor

Ultimate Packer for eXecutables

Menjalankan Perintah Kompresi

Untuk memulai menjalankan perintah kompresi, masuklah ke RUN dengan melalui menu Start > Run. Kemudian tulis : cmd
Kemudian klik OK. Setelah command prompt terbuka, masuk kefolder tempat file EXE yang akan kita kompress. Untuk format penggunaan UPX adalah sebagai berikut:

upx [command] [option] filename.exe

Untuk list command yang bisa dipakai adalah sebagai berikut :

  • -1 mengkompres file lebih cepat
  • -d untuk mendekompress
  • -t mengetest file yang sudah dikompress
  • -h bantuan lebih tentang UPX
  • -9 mengkompress file lebih baik kualitasnya
  • -l menampilkan list file yang dikompress
  • -V menampilkan nomor versi
  • -L menampilkan lisensi software

Untuk list option yang bisa dipakai :

  • -q mengkompress tanpa tampilan grafik
  • -oFILE menulis output ke ‘FILE’
  • -f memaksa mengkompress pada file tertentu
  • -k membuat backup file

Setelah menulis command nya, lalu tekan Enter. Proses kompresi akan segera dimulai.

EXE File Compressor

Packed successfully

Penutup

Dengan menggunakan UPX, ukuran EXE file akan lebih kecil. Sekalipun kita sudah memapatkan file EXE kita, kita masih bisa men-dekompressnya lagi dengan perintah -d yang sudah disebutkan diatas. Selain itu terdapat banyak juga EXE Compressor/Decompressor lainnya selain UPX.

Trik Memproteksi agar tidak bisa di Dekompress

Seperti yang sudah disebutkan diatas, sekalipun kita sudah mengkompress file EXE kita, file EXE tersebut masih bisa di dekompressnya lagi. Dibawah ini adalah trik agar file EXE yang sudah dikompress tidak bisa didekompress lagi.

1. Download software HEX Edit dari http://www.physics.ohio-state.edu/~prewett/hexedit/.

2. Buka file EXE yang sudah dikompress tadi menggunakan HEX Edit.

HEX Edit

3. Pada 3 entry huruf diawal file EXE yang bertuliskan UPX, gantilah dengan 3 entry huruf lain. Dalam contoh ini diganti menjadi YOF.

HexEdit02.jpg HexEdit03.jpg

Ganti hexa isi file EXE

4. Simpan file EXE tersebut kefolder asalnya (menindih file yang asli).

5. Dan sekarang apabila ada yang akan me-dekompress file EXE yang sudah dikompress memakai UPX tadi, maka akan muncul pesan error :

HEX Edit

Error message

22 Responses to “UPX: EXE File Compressor”

  1. haz Says:

    bagus juga nih kk infonya, makasih yah……

  2. mighty demoncat Says:

    Hahaha trik edit2kuw biar ga bisa di dekompress ditampilken wakwakwak…

  3. Youfan Says:

    Iyah trik jitu dan bagus dari dari dikau duluw Bro… Kyahahahaaaa…

  4. Fajar/Nano' Says:

    Thank’s bgt infonya….

  5. Intcode Says:

    Bagus… emang bagi UPX tidak, tapi masih bisa di dekompress pake program Unpack lain.

    visit my websites: http://geocities.com/asmfreesoft/

  6. tF Says:

    Thanks, it’s help. i’m on it. :)

  7. DanL Says:

    Klo buka file .exe di C++ gmn?

  8. Youfan Says:

    Coba ini :

    #include
    using namespace std;

    int main()
    {
    system(“start filename.exe”);
    }

    Isi system(“start filename.exe”); dengan nama program yang akan dijalankan :

    system(“\”C:/Program Files/filename.exe\”");

  9. LynxLuna Says:

    Mbisah juga pake CreateProcess. Soale takudnya bisa aja besok file “start” udah ga ada di windows versi selanjutnya.. kalo Createprocess si masih ada sampe winvista jugah. Pake CreateProcessAsUser bisa juga buad ngejalanin process sebagai user lain.

  10. Abu Ja'far Says:

    pake ShellExecute API kalau tidak mau menggunakan command start.
    lihat contohnya dalam VB disini (http://www.trixar.com/~makai/shellex.htm)

    btw, thanks tips UPX-nya…work like a charm..

  11. LynxLuna Says:

    pake ShellExecute API kalau tidak mau menggunakan command start.
    lihat contohnya dalam VB disini (http://www.trixar.com/~makai/shellex.htm)

    btw, thanks tips UPX-nya…work like a charm..

    Mbang yopank ini ga doyan PIBI mas (becanda)…

    Link official ShellExecute dari mikocok

    http://msdn2.microsoft.com/en-us/library/bb762153(printer).aspx

  12. Youfan Says:

    Ho, iyah, pake ShellExecute juga bisa 8) , kalo CreateProcess belum tau.

    Eh sapa bilang aku gak doyan VB, itu pernah bikin tutorial (sangat) sederhana pake VB (http://youfan.wordpress.com/category/my-tutorials/)… :mrgreen:

    Gakpapa versi VB, kan sapa tau yang nanya juga butuh yang versi VB… :D

  13. alvin Says:

    tolong donk !
    kok gak bisa masuk ke direktorinya.
    emang beda ya CMD dng DOS ?

  14. Youfan Says:

    Gak bisa masuk gmn? Bisa lbh spesifik? :?:

    CMD == Command Prompt
    DOS == Disk Operating System, make Command Prompt jg pengoperasiannya.

  15. abid Says:

    salut bro buat triks nya,,,,,,,,,,,,,,

  16. ard33 Says:

    thx infonya….

  17. icang99 Says:

    makasih infonya mas!

  18. rudijepara Says:

    oooke….thaks bianget

  19. McMotty Says:

    Wow………………. Great

  20. prasetyo Says:

    mas saya mo bikin menu untuk mengakses file2 .exe yang saya buat dengan Turbo C++ Explorer
    kalo pake code yang
    #include
    using namespace std;

    int main()
    {
    system(”start filename.exe”);
    }
    itu diketiknya di buttonnya atau dimananya mas…
    mohon penjelasannya…
    silent_painful@yahoo.co.id

  21. revil Says:

    thx infonya

  22. rojai82 Says:

    thanks … perlu dicoba nih

Leave a Reply