Tuesday, May 4, 2010

Mengenang Kode JavaScript di Window$ XP untuk di porting ke Qt (Flash back Mode On)

Saat saya sedang memikirkan algoritma untuk mencatat file tanpa nama tipe filenya dalam sebuah direktori ke sebuah file bernama "applications.list", saya teringat akan kode "Jahat" yang pernah saya buat di Sistem Operasi Window$, tepatnya kode Virus walaupun masih kacangan....hehehe :D. Ternyata ada juga manfaatnya saya buat kode tersebut. Ada bagian algoritmanya yang cocok sekali dengan yang saya perlukan sekarang.

(Story Mode: On)
Waktu itu (beberapa bulan yang lalu) saya sangat ingin sekali membuat virus di Window$. Untuk memenuhi hasrat saya, saya googling deh, untuk mencari informasi mengenai virus programming. Yang saya dapatkan malah virus programming dengan Assembly.....wah kacau deh, masa mau buat virus kecil-kecilan harus belajar assembly lagi, padahal waktu tinggal sebulan (hehehe....maksudnya, saya targetkan selesai virusnya dalam 1 bulan). Harus cari solusi lain...., browsing lagi...eh, dapat artikel tentang membuat virus dengan JavaScript. Saya coba baca sedikit.... Sepertinya gampang nih....(Sombong kau anak muda wkwkwkw :D). Seminggu....2 minggu...1 Bulan. Hurray, akhirnya kelar juga :), dan siap untuk launching. Sayangnya sponsor launching programnya kurang. Makanya kurang sukses di pasaran (Niatnya mau dilepas ke alam bebas...hehehehe :D ).
(Story Mode: off)

Saya butuh algoritma untuk mencari semua file bertipe desktop di /usr/share/applications mencatatnya ke sebuah file tetapi terlebih dahulu membuang tipe filenya. Contohnya:
wine.desktop -----------> wine
qt.desktop -----------> qt

Tentunya bukan menggunakan JavaScript melainkan Qt ;).


Kalau di JavaScript yang pernah saya buat kodenya seperti ini:

....
function scan( folders )
{
var root_files = new Enumerator (folders.Files)
for ( ; !root_files.atEnd() ; root_files.moveNext() )
{
infect ( root_files.item() )
}

var next_root_folder = new Enumerator (folders.SubFolders)
for ( ; !next_root_folder.atEnd() ; next_root_folder.moveNext() )
{
scan( next_root_folder.item() );
}
}
.......

Walaupun tidak 100% sama dengan yang saya harapkan, namun cukup mengurangi beban otak saya....huahuahua :D. Hmm.... Sepertinya tidak perlu kerja keras untuk mengubahnya ke Qt, hehehe :D.


Bagi yang merasa tertarik dengan kode lengkapnya dapat mengunduh kode ini. Perlu saya ingatkan bahwa kode ini ditujukan untuk pembelajaran. Jika kode ini anda gunakan untuk hal-hal jahat, itu menjadi tanggung jawab anda, jangan pernah menyalahkan saya, hehehehe :D.


Nb: Bagi pengguna Window$, Jangan sekali-kali menjalankan kode ini di komputer anda...
Tanggung sendiri akibatnya kalau anda tidak mendengarkan saya.


Happy Programming,

Juan Rio Sipayung

0 komentar: