Jumat, 12 November 2010

modifikasi mig33 v.4

I. BASA BASI BAUK

Sejak v4, mig33 mulai memperkenalkan seabrek fitur baru, diantaranya adalah Theme. Sampe saat topik ini gw tulis, ada bbrp theme yg bisa dipake, yaitu:

  1. Default
  2. Blossom
  3. Dark
  4. Nature
  5. Christmas Red
  6. Christmas Green

Mungkin ke dpnnya theme ini akan dijadikan jualan jg oleh mig33. Tapi ga tehe jg deh, bodo' amat. Theme diatas bisa qta modifikasi dgn memasukkan gambar2 yg qta mau. Dalam percobaan kali ini, gw akan nunjukin cara memodifikasi theme standard/default nya mig33 v4.03. Disini qta ga membutuhkan pengetahuan pemrograman, jd gw rasa gmpng bwt dipahami..


II. PERLENGKAPAN

  1. mig33 v4.03
    Dah jelas bgt lo hrs punya file ini coz emnk ini yg mo diedit..
  2. WinRAR
    Software ini bwt mengekstrak file2 yg terdapat di dlm file mig33.jar. Gw rasa dah pd punya software ini jd ga usah gw kasi tau alamat dongdotnye.
  3. Hex Workshop v5.1.4.4188
    Krn dlm project ini qta akan bekerja dlm modus Hex, maka lo jg hrs punya software Hex Editor. Biar seragam cara kerjanya, lo pake software ini aja biar ga ribet.
    Dongdot dr slh 1 url dbwh ini:

    Code:
    http://www.bpsoft.com/downloads/hw32v514.exe
    ftp://ftp.bpsoft.com/pub/hw32v514.exe

    3.5 MB

    Serial Number
    Name : www.serials.ws
    Company : www.serials.ws
    Serial : 0749100408-037553-1EB4

  4. Visual Color Picker 2.6
    Software ini bwt mengetahui code warna dlm hex. Sbnrnya code warna bisa diliat pake software grafis ky Photoshop. Bwt yg ga punya photoshop, bisa pake software ini. Dongdot dari sini:
    Code:
    http://www.linxexplorer.com/download/vcp2setup.exe

    485 KB


III. SEKILAS TENTANG DESIMAL, HEKSADESIMAL, FORMAT FILE GAMBAR, dan PAKET MIG33

A. Bilangan Desimal (Decimal)
Wikipedia wrote:
Sistem bilangan desimal adalah sistem bilangan yang menggunakan 10 macam angka dari 0,1, sampai 9. Setelah angka 9, angka berikutnya adalah 1 0, 1 1, dan seterusnya (posisi di angka 9 diganti dengan angka 0, 1, 2, .. 9 lagi, tetapi angka di depannya dinaikkan menjadi 1). Sistem bilangan desimal sering dikenal sebagai sistem bilangan berbasis 10, karena tiap angka desimal menggunakan basis (radix) 10.

Jadi singkatnya bilangan desimal adalah bilangan yg qta pake sehari2 bwt menghitung. Abis 9 ya 10, slnjtnya 11, kemudian 12, lalu 13, stlh itu 14..

B. Bilangan Heksadesimal (Hexadecimal)
Wikipedia wrote:
Heksadesimal atau sistem bilangan basis 16 adalah sebuah sistem bilangan yang menggunakan 16 simbol. Berbeda dengan sistem bilangan desimal, simbol yang digunakan dari sistem ini adalah angka 0 sampai 9, ditambah dengan 6 simbol lainnya dengan menggunakan huruf A hingga F.

Sbg contoh urutan bilangan dlm desimal dan heksadesimal:
Desimal = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, dst.
Heksadesimal = 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F, dst.

Bilangan heksadesimal selalu dituliskan dlm bentuk 2 digit simbol, ky 01, 04, 0A, 0E dsb. Tapi klo simbol diawalnya adalah angka nol (0), maka biasanya penulisannya bisa dgn 1 digit. Mislnya 0F hanya dituliskan dgn F aja. Trus pengelompokannya jg bisa digabung ato dipisah. Mislnya 0E 0F ato 0E0F. Ky yg gw bilng td, maka penulisan 0E0F bisa jg dituliskan dgn E0F, krn simbol angka nol (0) yg diawal tu ga ngaruh. Jd klo lo nemu bilangan hexadesimal yg jumlah digitnya ganjil, brarti simbol paling awal adlh angka nol (0). Contohnya klo lo nemu bilangan heksadesimal 3F4A076, maka sbnrnya adlh 03F4A076.

Skrg gmn caranya mengetahui brp bilangan heksadesimalnya klo mislnya dlm bilangan desimal nya diketahui angka 21132?
Ada rumusnya, tp ga usah qta pake rumus ribet itu. Qta pake kalkulator aja biar gmpng. Jalankan aplikasinya dari Start > Programs > Accesorries > Calculator. Trs ganti tampilannya jd Scientific (View > Scientific). Isi angka 21132 di kalkulatornya trs pencet pilihan Hex ky gmbr dbwh ini:

Image

maka kalkulator akan mengkonversikan bilangan desimal 21132 ke heksadesimal, hasilnya yaitu 528C. Begitu jg sebaliknya klo lo pgn tau brp bilangan desimalnya klo diketahui bilangan heksadesimalnya adlh 528C. Tinggl klik aja pilihan Hex trs isi 528C, abis tu klik pilihan Dec. Maka hasilnya dlm desimal adlh 21132. Skrg cb lo isi angka 3599 dlm desimal dan konversikan ke heksadesimal. Maka hasilnya adlh E0F, yg sbnrnya adlh 0E0F ky yg gw bilng sblmnya. Kalkulator ga menampilkan simbol nol (0) diawalnya krn ga ngaruh. Nah prinsip ini hrs lo pegang bwt nanti qta pake dlm praktek modifikasi ini.

C. Format File Gambar
Setiap format file memiliki header ato bagian permulaan yg menyimpan informasi ttg file itu. File gambar jg punya header. Dari header nya ini qta bisa tau format apa gambar itu. Dlm modifikasi qta ini gw cm akan memperkenalkan header 2 format gambar aja, yaitu png dan jpg. Itu jg ga terlalu mendetil, yg penting qta cukup tau aja awal (Start of Image/SOI) dan akhir (End of Image/EOI) file gambar itu.

  1. Format PNG
    SOI = 89 50, EOI = 60 82
  2. Format JPG
    SOI = FF D8, EOI = FF D9
    Tapi ga smua yg berawalan FF D8 adlh file jpg. Bwt lbh pastinya lo liat dibagian ASCII apakah ada text JFIF. Liat gmbr dbwh ini:

    Image

D. Paket mig33
Paket mig33 adalah kumpulan data yg dikirimkan oleh server mig33 maupun yg qta kirimkan ke server mig33. Sbnrnya qta ga perlu tau ttg paket mig33 ini. Tapi berhubung file yg mau qta modif strukturnya sm dgn paket mig33, maka qta lbh baik tau dikit lah. Qta akan membahas paket mig33 dlm bentuk heksadesimal, yg slnjtnya akan gw sebut dgn hex aja. Paket mig33 selalu diawali (header) dgn 9 bilangan hex, ato bisa jg disebut dgn 9 bytes. 9 hex ato 9 bytes ini, khususnya hex/byte ke-6 s/d ke-9 menunjukkan brp panjang (ukuran) keseluruhan paket itu, yg penghitungannya dimulai dr hex/byte ke-10. Untuk jlsnya gw kasi contoh mislnya bgini:

Paket mig33:
02 03 E8 00 00 00 00 00 0F 00 88 00 00 00 04 00 00 38 4B 01 0F 76 75 67

02 mewakili 1 byte, sm halnya dgn 03 E8 00 dan hex lainnya. Byte ke-1 adlh 02, byte ke-2 adlh 03, byte ke-3 adlh E8 dst. Pratiin yg gw tebelin itu (02 03 E8 00 00 00 00 00 0F) adalah 9 bytes pertama yg disebut sbg header nya paket mig33. Trus yg gw warnain merah itu (00 00 00 0F) adalah byte ke-6 s/d ke-9 yg menunjukkan panjang keseluruhan paket, dihitung mulai dr byte ke-10, yaitu yg berwarna ijo (00), smpe ke byte paling akhir.

Jadi dah jelas klo paket diatas pjg keseluruhannya adlh 00 00 00 0F. Brp bilangan desimalnya? Itung lg pake kalkulator. Hasilnya adlh 15. Itu berarti mulai dr byte ke-10 yg warna ijo itu sampe ke akhir paket, ukurannya adlh 15 bytes. Apakah itu adlh ukuran totalnya? Belum. Totalnya adlh 15 + 9 = 24 bytes. Drmn tuh angka 9? Itu adlh jmlh byte header nya. Inget td qta dapet hasil 15 itu dgn menghitung mulai dr byte ke-10, bkn dr byte ke-1, jd totalnya ya hrs qta tmbhin 9 dl.

Oke, cukup sgitu aja yg perlu qta ketahui bwt keperluan modifikasi ini. Gw harap lo ngerti ttg bagian ini coz gw ga tau lg cara jelasin yg lbh gmpng lg..


IV. OLAH TKP

1. Meng-ekstrak file default_theme

  1. Klik kanan file mig33.jar
  2. Pilih Open With > WinRAR archiever
  3. Stlh jendela WinRAR nongol, cari file default_theme di dlmnya, trs drag n drop ke folder tempat kerja lo. Tutup WinRAR nya biar ga ganggu..


2. Investigasi file default_theme

Skrg klik kanan file default_theme trs pilih Hex Edit with Hex Workshop v5. Ni tampilan Hex Workshop:

Image

Angka2 ky 02 03 E8 yg berada di sblh kiri itu adalah Hexadecimal, dan teks2 yg disebelah kanan adalah terjemahannya dlm bentuk ASCII. File default_theme inilah yg berisikan item2 pembentuk tampilan theme. Smuanya ada 136 item, terdiri dari 7 file gmbr dan sisanya informasi ttg warna text, tab, dll. Item2 di dlm file default_theme ini disusun sedemikian rupa dgn rapi dan menggunakan nomer urut, dimulai dr akhir smpe awal file. Pratiin gmbr dbwh ini:

Image

Gambar diatas adlh susunan hex dari awal sampe akhir file, tp bagian tghnya gw potong coz terlalu panjang klo ditampilin smua. Bagian yg gw potong itu adalah yg ada text BAGIAN TENGAH FILE. Setiap item disusun dgn struktur ky gini:

00 00 00 00 0D 64 65 66 61 75 6C 74 5F 74 68 65 6D 65
01 00 00 00 04 00 00 00 00


Merah = Nomer urut item
Biru = Panjang deskripsi item
Hijau = Deskripsi item

Dan tiap2 item dipisahkan oleh hex 00.
Nah item2 yg berjumlah 136 itu diantaranya adlh ky yg gw kasi kotak dgn warna transparan dlm gmbr diatas. Gw akan jelasin 5 item pertama.

  1. Kotak merah transparan
    00 00 00 00 0D 64 65 66 61 75 6C 74 5F 74 68 65 6D 65
    Ini adlh item nama file ini, yaitu default_theme
  2. Kotak kuning transparan
    01 00 00 00 04 00 00 00 00
    Ini adlh theme number ato nomer urut theme. Theme lainnya yaitu blossom 01 00 00 00 04 00 00 00 01, dark 01 00 00 00 04 00 00 00 02, dll.
  3. Kotak hijau transparan
    02 00 00 00 07 44 65 66 61 75 6C 74
    Ini adlh nama theme yg akan tampil di aplikasi mig33, yaitu Default
  4. Kotak biru transparan
    03 00 00 00 04 00 FF FF FF
    Ini adlh item warna FF FF FF (putih)
  5. Kotak orange transparan
    04 00 00 00 04 00 DF DF DF
    Ini adlh item warna DF DF DF (abu2)

    Gabungan antara item 3 dan 4 ini akan menghasilkan warna gradient ky gmbr dbwh ini:
    Image



Quote:
Berdasarkan urutan dlm struktur file default_theme ini yg dimulai dr bawah, maka gmbr2 yg trdapat didlmnya adlh:

A. Gambar ke-7, format png
6 x 6 pixel, 118 Bytes
Image


B. Gambar ke-6, format png
25 x 25 pixel, 1739 Bytes
Image


C. Gambar ke-5, format png
36 x 39 pixel, 2878 Bytes
Image