Friday, June 12, 2009

Memodifikasi Registry Windows Dengan Menggunakan java (Windows Registry Modification With Java)

Memodifikasi Registry Windows Dengan Menggunakan java (Windows Registry Modification With Java)
Untuk Download Source Code disini mirror1 mirror2
Untuk Download binary disini mirror1 mirror2

Saya menulias artikel ini karena beberapa hari kemarin komputer saya dijahili virus dan registry windwos xp saya di acak-acak. nah dari sini saya berfikiran apakah java juga mempunyai kemampuan untuk ngacak-acak registry windows? dan teryata Java Is Powerfull. gak salah saya memilih java sebagai bahasa pemograman kesayangan. ok sekarang kita mualai aja.

Registry
Windows mempunyai pengaturan terhadap system maupun tampilan dan meyimpanya dalam registry, ketika sebuah nilai registry di ubah maka pengaturan yang berhubungan dengan registry tersebut juga ikut berubah.
misal: a. Menghiden file system
b. Mendisable TaskManager
c. Mendisable Registry Editor (bawaan Windows)
dll
nah untuk mengubah registry windows juga uda menyediakan sebuah tool yaitu "regedit" Registry Editor. karena regedit temasuk dalam pengaturan windows jika registrynya diacak-acak virus dan hasilnya kita tidak dapat menggunakannya. Untuk mengubah registry ada banyak cara selain melalui regedit, nah salah satunya menggunakan bahasa pemograman Java.
Agar Java dapat membaca dan menulis registry ke windows, anda perlu siapain library khusus yaitu "jRegistryKey", lib ini berserbasis JNI jadi menggunakan file *.dll. agar lib ini dapat berjalan mulus anda harus mengkopikan "jRegistryKey.dll" ke "c:/wondows/system32/" (untuk winNT/win200x anda kopikan ke "c:/winnt/system32/" ), kemudian setting path "jRegistryKey.jar" karena saya pake Netbeans jadi tinggal klik kanan pada project dan "add jar" trus pilih "jRegistryKey.jar" trus OK. setelah setting path tinggal
import class berikut :
ca.beq.util.win32.registry.*;
ca.beq.util.win32.registry.RootKey;

berikut cara bermain-main registry dengan Java:
1. Membuat Registry baru
untuk membuat registry baru anda cukup ketikkan perintah

try{
RegistryKey r = new RegistryKey(RootKey.HKCU, "rachmadhw.co.cc");
r.create();
}catch(RegistryException e){
JOptionPane.showMessageDialog(null,"Registry suda Ada");
}

RegistryKey(RootKey.HKCR, "rachmadhw.co.cc"); r.create(); mempunyai maksud, anda membuat registry pada pasisi/root HKCU(HKEY_CURRENT_USER) dengan nama registri "rachmadhw.co.cc".

2. Menghapus Registry

try{
RegistryKey r = new RegistryKey(RootKey.HKCU, "rachmadhw.co.cc");
r.delete();
}catch(RegistryException e){
JOptionPane.showMessageDialog(null,"Registry tidak Ada");
}

3. Mengisikan Nilai Pada Registry

try{
RegistryKey r = new RegistryKey(RootKey.HKCU, "rachmadhw.co.cc");
RegistryValue v = new RegistryValue("Komentar", ValueType.REG_SZ,"keren brow");
r.setValue(v);
}catch(RegistryException e){
JOptionPane.showMessageDialog(null, "Registry Tidak ditemukan");
}
RegistryKey(RootKey.HKCR, "rachmadhw.co.cc"); mempunyai maksud, anda memilih registry pada pasisi/root HKCU(HKEY_CURRENT_USER) dengan nama registri "rachmadhw.co.cc".

RegistryValue v = new RegistryValue("Komentar", ValueType.REG_SZ,"keren brow");
r.setValue(v);
Membuat registryKey "Komentar" dengan Nilai "Keran brow".

4. Membaca nilai registry

try{
RegistryKey r = new RegistryKey(RootKey.HKCU, "rachmadhw.co.cc");
if(r.hasValue("Komentar")) {
RegistryValue v = r.getValue("Komentar");
System.out.println(v.toString());
} // if
}catch(RegistryException e){
JOptionPane.showMessageDialog(null, "Registry Tidak ditemukan");
}

Hasilnya: Komentar:REG_SZ:keren brow

5. Untuk Mendisable TaksManager

RegistryKey r = new RegistryKey(RootKey.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies");
try{
r.createSubkey("System");
}catch(RegistryException re){

}
RegistryKey r2 = new RegistryKey(RootKey.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System");
RegistryValue v = new RegistryValue("DisableTaskMgr", ValueType.REG_DWORD, 1);
r2.setValue(v);

6. Untuk Mendisable registry

RegistryKey r = new RegistryKey(RootKey.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies");
try{
r.createSubkey("System");
}catch(RegistryException re){

}
RegistryKey r2 = new RegistryKey(RootKey.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System");
RegistryValue v = new RegistryValue("DisableRegistryTools", ValueType.REG_DWORD, 1);
r2.setValue(v);

7. Untuk Hiden file system

RegistryKey r = new RegistryKey(RootKey.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced");
RegistryValue v = new RegistryValue("Hidden", ValueType.REG_DWORD, 0);
RegistryValue v1 = new RegistryValue("HideFileExt", ValueType.REG_DWORD, 0);
RegistryValue v2 = new RegistryValue("ShowSuperHidden", ValueType.REG_DWORD, 0);
r.setValue(v);
r.setValue(v1);
r.setValue(v2);

8.Untuk Membuat StartUp

JFileChooser fc = new JFileChooser();
fc.setDialogTitle("Pilih Aplikasi");
fc.setFileFilter(new FileFilter() {
@Override
public boolean accept(File f) {
if (f.isDirectory()) {
return true;
}
String fileName = f.getName();
int i = fileName.lastIndexOf('.');
if ((i > 0) && (i < (fileName.length() - 1))) {
String fileExt = fileName.substring(i + 1);
if ("exe".equalsIgnoreCase(fileExt)) {
return true;
}
}
return false;
}

@Override
public String getDescription() {
return "exe aja";
}
});
fc.showOpenDialog(jtemp);
jtemp.setText(fc.getCurrentDirectory().getAbsolutePath());


System.out.println("Tulis StartUp");
try{
RegistryKey r2 = new RegistryKey(RootKey.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run");
RegistryValue v = new RegistryValue("rachmad-hw.blogspot.com", ValueType.REG_SZ, jtemp.getText().trim());
r2.setValue(v);
}catch(RegistryException re){
System.out.println("ini kesalahan : "+ re);
}

********************************************************************************************
Untuk Download Source Code disini mirror1 mirror2
Untuk Download binary disini mirror1 mirror2

Hasil exekusi :
Memodifikasi Registry Windows Dengan Menggunakan java (Windows Registry Modification With Java)
Memodifikasi Registry Windows Dengan Menggunakan java (Windows Registry Modification With Java)
Memodifikasi Registry Windows Dengan Menggunakan java (Windows Registry Modification With Java)
Memodifikasi Registry Windows Dengan Menggunakan java (Windows Registry Modification With Java)
Memodifikasi Registry Windows Dengan Menggunakan java (Windows Registry Modification With Java)
Memodifikasi Registry Windows Dengan Menggunakan java (Windows Registry Modification With Java)
Memodifikasi Registry Windows Dengan Menggunakan java (Windows Registry Modification With Java)Memodifikasi Registry Windows Dengan Menggunakan java (Windows Registry Modification With Java)

2 comments:

  1. om,, saya coba,, program na stack di statemen

    r2.setValue(v);

    #saya sudah mengikuti aturan...hanya program saya ubah sedikit tampilan(sebelum donload source code yg diberikan)

    ReplyDelete
  2. omm post lagii...

    sudah download file om,, saya coba tuk TaskManager dan Regedit masih tidak berfungsi...

    walau button na dah diklik,,tetap masih bisa terbuka...

    ReplyDelete