Rabu, 01 Maret 2017

Memulai Program Saat Startup Sebagai Administrator : Bukan Autorun Lagi

Tak asing lagi dengan yang namanya autorun. Di zaman saat virus sedang gencar-gencarnya beraksi, ia biasa menanamkan konfigurasi autorun di registry, misalnya saja di HKLM / Software / ... / CurrentVersion / Run. Tapi, bagi virus yang ingin beraksi pada sistem >Windows XP ia harus melupakan soal konfigurasi ini jika ia ingin mempenetrasikan dirinya ke dalam sistem. Hal ini karena program manapun yang ingin bercengkrama dengan komponen sistem harus mendapatkan izin administrator.

Program dapat meminta izin administrator otomatis dengan menyelipkan metadata manifest khusus di dalam resource program tersebut, nantinya, setiap dieksekusi akan muncul kotak permintaan untuk mengkonfirmasi izin administrator. Namun tetap saja, jika dijalankan sebagai autorun, kotak permintaan run as administrator tidak akan pernah muncul.

See Also : Cari Membuat Program Meminta Izin Run As Administrator Otomatis

Lalu, bagaimana cara yang benar?
Jawabannya adalah dengan Task Scheduler.
Konfigurasi task scheduler sebenarnya juga disimpan di registry, tapi saya rasa konfigurasi tersebut kurang transparan untuk diakses secara langsung. Untuk itu, kita perlu menggunakan program khusus yang telah disediakan oleh windows untuk menyelesaikan keperluan ini, yaitu dengan schtasks

Menambahkan Program:
schtasks /create /f /sc onlogon /tn PROGRAM_NAME /rl highest /tr "C:\PATH\TO\PROGRAM.EXE"

Menghapus Program:
schtasks /delete /f /tn PROGRAM_NAME

Memeriksa Nama Program di Task Scheduler:
schtasks /query /tn PROGRAM_NAME

Saat menjalankan schtasks, pastikan command prompt dijalankan sebagai administrator. Jika tidak program ini akan gagal dieksekusi. Lalu, apabila schtasks hendak dijalankan oleh suatu program, program tersebut jugalah harus dijalankan sebagai administrator.

Contohnya saja, apabila ingin mengakses schtasks dari C, fungsi seperti berikut bisa digunakan dan akan bekerja dengan baik:

int CheckAutorun(){
return system("schtasks /query /tn WProtect");
}

Semua hasil eksekusi schtasks akan mengembalikan nilai 0, apabila hasil eksekusi berhasil dan bernilai positif. Contoh di atas misalnya, akan mengembalikan nilai 0,apabila program sudeh benar saya eksekusi sebagai administrator dan hasilnya menunjukkan bahwa progarm WProtect sudah ada dalam task scheduler.

if(CheckAutorun() == 0)
//WProtect sudah ada di task scheduler
else
//Belum ada, atau gagal karena tidak dijalankan sbg administrator



Load disqus comments

0 comments