Oke, udah terpampang jelas di judul gw mau ajarin apa. Yeah tentang daemon, eits ini daemon ya inget daemon ada huruf "a" nya jadi jangan kepikiran gw bakal terangin tentang demon satanisme atau apalah itu, bukan juga demon yang ini.
Terlebih lagi bukan demon yang ini :v
Eits jangan tegang dulu.
Maksudnya jangan terlalu serius pembelajarannya sante kok :v
Oke back to the topic, eits sebelumnya kalian udah baca kan kalo ini bikin virusnya buat linux. Udah pada tahu linux kan? kalo belum mending kalian baca pembahasan tentang linux dulu deh di sini.
What the fuf is linux
Yup, udah paham kan apa itu linux? Sekarang gw jelasin apa itu daemon. Jadi Daemon itu adalah program yang berjalan di balik layar.
Kok bisa berjalan di balik layar?
Oke jadi Daemon itu maksudnya bukan secara harfiah berjalan jalan di belakang layar kalian
Jadi yang lolos tahap ini gw akuin kalian orang orang yang kuat.
Kita lanjutin pembahasanya. Tahap berikut yang harus kalian pahamin adalah gimana cara bikin ni daemon.
Ada 6 proses pembuatan Daemon
1. Fork Parent Processs dan penghentian Parent Process
Langkah pertama adalah melakukan forking untuk membuat process baru kemudian mematikan Parent Process. Process induk yang mati akan membuat system mengira proses telah selesai sehingga akan kembali ke terminal user. Proses anak yang melanjutkan program setelah proses induk dimatikan
2. Mengubah mode file menggunakan UMASK(0);
Untuk menulis beberapa file (termasuk logs) yang dibuat oleh daemon, mode file harus diubah untuk memastikan bahwa file tersebut dapat ditulis dan dibaca secara benar. Pengubahan mode file menggunakan implementasi umask().
3. Membuat Unique Session ID (SID)
Child Process harus memiliki unik SID dari kernel untuk dapat beroperasi Sebaliknya, Child process menjadi Orphan Proses pada system. Tipe pid_t yang dideklarasikan pada bagian sebelumnya, juga digunakan untuk membuat SID baru untuk child process. Pembuatan SID baru menggunakan implementasi setsid(). Fungsi setsid() memiliki return tipe yang sama seperti fork().
4. Mengubah Directory Kerja
Directori kerja yang aktif harus diubah ke suatu tempat yang telah pasti akan selalu ada. Pengubahan tempat direktori kerja dapat dilakukan dengan implementasi fungsi chdir (). Fungsi chdir() mengembalikan nilai -1 jika gagal.
5. Menutup File Descriptor Standar
Salah satu dari langkah terakhir dalam mengeset daemon adalah menutup file descriptor standar (STDIN, STDOUT, STDERR). Karena daemon tidak perlu menggunakan kendali terminal, file descriptor dapat berulang dan berpotensi memiliki bahaya dalam hal keamanan. Untuk mengatasi hal tersebut maka digunakan implemtasi fungsi close().
6. Membuat Loop utama (inti kerja dari daemon)
Gimana? Pusing ya? awkawkawkkaw, sama. Jadi sebenernya inti kerja yang harus kalian pahami ada di langkah ke-6 ini. Disini kalian bakalan nulisin apa yang pingin daemon kalian perbuat. Oh iya semua script ini nanti pake bahasa C. Jadi kalian tinggal search aja di google tentang perintah perintah C soalnya ane belum bikin tutorialnya :v Tapi tenang, nanti ane kasi penjelasan sedikit sedikit kok.
Oke deh jadi langsung aja gw kasi scriptnya, ini script tinggal kalian copy paste ke file yang mau kalian pake buat nyimpen ni script.
Masi inget kan cara buat script? tinggal kalian buka terminal linux kalian, terus pilih directory tempat buat nyimpen nanti, tinggal tulis aja "touch virus.c" itu nama virus bisa kalian ganti terserah, asal jangan lupa dikasi embel embel ".c" soalnya script kita nanti berekstensi c. terus ketik "gedit virus.c" nah tinggal buka aja, setelah kebuka copy paste. gampang kan?
Ini scriptnya.
//ini Librarynya penjelasan library bisa kalian cari di gugel :v
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>
#include <syslog.h>
#include <string.h>
//ini main programnya
int main()
{
//ini langkah 1
pid_t pid, sid;
pid = fork();
if(pid < 0)
{
exit (EXIT_FAILURE);
}
if (pid > 0)
{
exit (EXIT_SUCCESS);
}
// ini langkah 2
umask(0);
//ini langkah 3
sid = setsid();
if (sid < 0)
{
exit(EXIT_FAILURE);
}
//ini langkah 4
if ((chdir("/")) < 0)
{
exit(EXIT_FAILURE);
}
// ini langkah 5
close(STDIN_FILENO);
close(STDOUT_FILENO);
close(STDERR_FILENO);
// nah ini langkah paling cetar membahana langkah paling krusial welcome to the final step
while(1)
{
system("notify-send Love_Rias_Gremory");
sleep(30);
}
exit (EXIT_SUCCESS);
}
Done, script kalian udah jadi. Ini nanti bakal bikin komputer kalian ngasi notify tulisan Love_Rias_Gremory setiap 30 detik sekali. Kalian bisa ganti tulisanya dan juga waktunya. kalo mau ganti tulisan ya tinggal ganti aja tulisan Love_Rias_Gremory nya, kalo mau waktu ya tinggal ganti angka di sleepnya (itu detik). Kalian juga bisa ganti kegunaan program kalian, tinggal ganti ganti command yang ada di dalem step 6.
Nah akhirnya tinggal kalian jalanin script kalian. Jangan lupa script tadi di save, terus tutup. Nanti kalian akan kembali ke terminal lagi.
Cara jalaninnya kalian tinggal ketik di terminal, tapi sebelum itu kalian harus pastikan kalian lagi berada di direktori script kalian, caranya tinggal ketik "ls" nah kalian liat nama script kalian ada ga. kalo ada ketik ini
gcc (nama script kalian) -o (nama aplikasi setelah di compile)
Contoh:
gcc virus.c -o virus
Kalo udah tinggal di run
./(nama aplikasi)
Contoh:
./virus
Udah itu virus kalian bakal jalan terus.
Ini penampakanya
Gampang kan?
Kalo kalian mau berhentiin ada 2 cara
1. Matiin kompi kalian atau restart :v
2. Ketik aja di terminal
pkill (nama app/virus kalian)
Contoh:
pkill virus
Udah, hilang deh pop up nya.
Mudah kan?? Mudah dong. Sekaian dulu deh tutorial dari gw.
Nih gw kasi cara untuk bersenang senang pake daemon
Cuma ngasi tips jahat :v
Kalian bisa bikin virus buat buka foto setiap beberapa detik sekali, Kalian cari scriptnya terus bikin laptop temen kalian buka foto "jahat" waktu lagi presentasi di kelas :v
Terus tinggal keluarin ekspresi itu :v
Tapi karena gw baik silahkan cari scriptnya sendiri hahaha.
Tetep inget bercanda ada batasnya ya..
No comments:
Post a Comment