Sunday, October 21, 2012

Hijriyah To Gregorian Converter


Hijriyah To Gregorian Converter adalah aplikasi untuk menkonversi tanggal Hijriyah ke tanggal Gregorian (Masehi) maupun sebaliknya. Sistem konversi menggunakan Hisab Urfi (lebih lanjut bisa dibaca disini) yang memungkinkan terjadinya selisih hari +1 atau -1 dari yang seharusnya. Algoritma konversi bisa dipelajari di Wikipedia, search aja tentang "Julian Day", "Julian Calendar", "Gregorian Calendar", "Islamic Calendar".

Aplikasi bisa didownload disini.

Terima kasih..

Sunday, June 24, 2012

Mow: Virus yang Menginfeksi File Dokumen Word

Mow... Itu nama yang penulis dapatkan dari nama project virus ini Mow.vbp. Dibuat dengan Visual Basic 6, mempunyai ikon mirip dengan ikon dokumen Word 2007 ke atas.


Ketika virus tereksekusi, akan menanamkan induk virus di lokasi berikut:
  • C:\WINDOWS\system32\WINWORD.EXE
  • C:\WINDOWS\Temp\_$Cf\osk.exe
  • C:\WINDOWS\system32\Com\ctfmoon.exe <- file ini akan otomatis dijalankan saat Windows startup
Virus yang juga dikenal dengan nama Trojan.Win32.Cosmu.anhf (kaspersky) atau Win32/VB.NAX (eset) ini menelan semua doc file (*.doc, *.docx) dan menenkripsi dalam tubuhnya, tidak seperti virus Kespo/Kspoold (atau apa ya..?) dulu yang menelan doc file tanpa menenkripsi file doc tersebut. Ketika kita menjalankan file doc yang terinfeksi tersebut virus akan aktif dan membuat salinan file asli di lokasi berikut:
  • C:\WINDOWS\Temp\_$Cf\[nama_file_doc_asli][spasi].doc
 


Penulis sudah membuat tool untuk mendisinfeksi file dokumen yang terlanjur terinfeksi virus ini. Tool ini akan mendisinfeksi file yang terinfeksi, dan juga memperbaiki registry system yang dikerjai virus. Tool ini sudah melalui riset penulis, dijamin aman tapi jika anda ragu lebih baik tidak usah mencobanya sama sekali. USE THIS APP AT YOUR OWN RISK!!!


Mow Removal

Silahkan didownload disini : http://www.4shared.com/zip/pcT4y2ta/MowRemovalv22.html

Update 26 November 2012: Mow Removal v2.3
- Support Unicode
- Menu yang simple dengan popup menu
- Scan multi path
- etc...
Kemampuan pembersihan masih sama seperti v2.2, cuma penambahan fitur dan perubahan GUI (penting gak yaaa..?). Iseng aja, Anda boleh pake yang v2.2 atau v2.3. Kelebihannya Anda yang menilai :))

Screenshot:


Download Mow Removal v2.3 : http://www.4shared.com/zip/d01Goo52/MowRemovalv23.html

Saturday, June 16, 2012

[Delphi] Auto-detecting USB Drives

Gunakan unit pascal (Delphi) berikut ke project-mu

unit Unit1;

{ Snippet for detecting USB drive when connected and removed }

interface

uses
  Windows, Messages {, and other unit...};

// Device constants
const
  DBT_DEVICEARRIVAL          =  $00008000;
  DBT_DEVICEREMOVECOMPLETE   =  $00008004;
  DBT_DEVTYP_VOLUME          =  $00000002;

// Device structs
type
  _DEV_BROADCAST_HDR         =  packed record
    dbch_size:              DWORD;
    dbch_devicetype:        DWORD;
    dbch_reserved:          DWORD;
  end;
  DEV_BROADCAST_HDR          =  _DEV_BROADCAST_HDR;
  TDevBroadcastHeader        =  DEV_BROADCAST_HDR;
  PDevBroadcastHeader        =  ^TDevBroadcastHeader;

type
  _DEV_BROADCAST_VOLUME      =  packed record
    dbch_size:              DWORD;
    dbch_devicetype:        DWORD;
    dbch_reserved:          DWORD;
    dbcv_unitmask:          DWORD;
    dbcv_flags:             WORD;
  end;
  DEV_BROADCAST_VOLUME       =  _DEV_BROADCAST_VOLUME;
  TDevBroadcastVolume        =  DEV_BROADCAST_VOLUME;
  PDevBroadcastVolume        =  ^TDevBroadcastVolume;

type
  TMainForm = class(TForm)
    Label1: TLabel;

  { Other declarati... }

  private
    // Private declaration
    procedure WMDEVICECHANGE(var Msg: TMessage); message WM_DEVICECHANGE;
  end;

  { Other "tek-tek bengek" etc... :)) }

var
  MainForm: TMainForm;

implementation

procedure MainForm.WMDEVICECHANGE(var Msg: TMessage);
var
  lpdbhHeader:  PDevBroadcastHeader;
  lpdbvData:    PDevBroadcastVolume;
  dwIndex:      Integer;
  lpszDrive:    String;
begin

  // Perform inherited
  inherited;

  // Get the device notification header
  lpdbhHeader:= PDevBroadcastHeader(Msg.LParam);

  // Handle the message
  lpszDrive:= 'Removable drive ';
 
  case Msg.WParam of
    DBT_DEVICEARRIVAL       :    //a USB drive was connected
    begin
      if (lpdbhHeader^.dbch_devicetype = DBT_DEVTYP_VOLUME) then
      begin
        lpdbvData:= PDevBroadcastVolume(Msg.LParam);
        for dwIndex := 0 to 25 do
        begin
          if ((lpdbvData^.dbcv_unitmask shr dwIndex) = 1) then
          begin
            lpszDrive:= lpszDrive + Chr(65 + dwIndex) + ':';
            { Or place your action here… }
            Break;
          end;
        end;
          Label1.Caption:= lpszDrive + ' connected';
      end;
    end;
    DBT_DEVICEREMOVECOMPLETE:    //a USB drive was removed
    begin
      if (lpdbhHeader^.dbch_devicetype = DBT_DEVTYP_VOLUME) then
      begin
        lpdbvData:= PDevBroadcastVolume(Msg.LParam);
        for dwIndex:= 0 to 25 do
        begin
          if ((lpdbvData^.dbcv_unitmask shr dwIndex) = 1) then
          begin
            lpszDrive:= lpszDrive + Chr(65 + dwIndex) + ':';
            { Or place your action here… }
            Break;
          end;
        end;
          Label1.Caption:= lpszDrive + ' removed';
      end;
    end;
  end;
end;

{ And other and other }

// source : Google, MSDN, delphitricks.com
// source code : http://www.4shared.com/zip/3Pq62q0N/AutoUSBDetector_SC.html

end.

Sunday, May 27, 2012

[Updated] Narpes32 dan Open Source NAVi (Narpes Antivirus)

Qwerty asdfg zxcv... test test.. uhhm..dah lama nih (2 tahun...) gak nge-blog. Huahh.. bingung kalo udah urusan merangkai-rangkai kata.. Baiklah mari kita mulai senam jari, kali ini penulis ingin membahas tentang salah satu antivirus open source made in Indonesia..
Penulis akan mem-posting satu antivirus yang lama gak di-update. Di situsnya dikatakan bahwa antivirus ini sudah tidak di-update lagi dan source code-nya pun dirilis ke publik. Mungkin sobat-sobat ada yang sudah dengar atau tau tentang antivirus ini, atau bahkan mungkin sudah ada yang mengembangkannya? Namanya NAVi (Narpes Antivirus – http://narpes32.com). Siapa sih nama programmer-nya (penulis juga tak tau...) tapi disana ditulis programmer-nya adalah Narpes32. Hallo Narpes23 salam kenal dari saya.. Disitusnya diberikan pula source code NAVi mulai dari generasi pertama yang masih ditulis dengan VB6 sampe generasi II yang sudah ditulis dengan bahasa C. Bagi  sobat yang tertarik dengan source code NAVi dan ingin mempelajarinya  silahkan ambil di situs resminya http://narpes32.com
Menurut penulis antivirus ini secara umum cukup bagus.., simple dan ringan. Versi terakhir yang terdapat pada situs resminya yaitu versi 1.0.0.1 dengan total signature 187 per tanggal 11/03/2009.
Sedikit kelemahan dari NAVi yaitu file yang dikarantina tidak bisa di-restore, lalu file karantina tidak dienkripsi. Ini sangat riskan karena beberapa antivirus masih bisa mendetek sebagai virus.
Penulis pun tertarik ingin mempelajari souce code ini. Penulis bukan programmer tapi ngerti dikit (dikit sekali...) tentang konsep antivirus dan programming. Blog ini hanya sebagai catatan penulis saja, yang tentu saja masih banyak kekurangan disana-sini.
Setelah penulis pelajari source code-nya, beberapa kekurangan akan coba benahi sebisanya. Penulis mencoba melakukan beberapa perbaikan dan penambahan beberapa metode dari main scanner juga core engine NAVi, di antaranya:
  • [FIXED] Bugs saat pause scanning (pausing) pada bagian path target yang kadang NAVi terus menampilkan “[Paused… Click Resume to resume]” walau sudah di-resume
  •  [IMPROVED] Pengoptimalan proses scanning
  • [ADDED] Penambahan messagebox konfirmasi pada tombol aksi (Cure, Delete, Quarantine) untuk meminimalisir kesalahan penekannan tombol oleh user, dengan pilihan YES = lakukan aksi atau NO = batalkan aksi
  • [IMPROVED] Pengoptimalan proses startup NAVi
  • [ADDED] Ditambahkan 30 database pengenal virus, jadi total sekarang ada 217 signature virus yang mampu dikenali oleh NAVi
  • [ADDED] Ditambahkan juga engine heuristic malicious VBS
  • [IMPROVED] GUI tidak dilakukan perubahan, karena menurut penulis GUI NAVi sudah bagus, cuma penulis melakukan sedikit perubahan ukuran demi kerapihan GUI NAVi

Berikut adalah skrinsut dari NAVi sebelum dan sesudah di-update:


Sebelum (NAVi 1.0.0.1)


Sesudah (NAVi 1.0.0.2)


Sebelum (NAVi 1.0.0.1)


Sesudah (NAVi 1.0.0.2)

Terlihat bahwa penggunaan memory saat idle hanya sekitar 1.86 MB, cukup ringan bukan. Dan saat scanning penggunaan memory hanya sekitar 3 – 6 MB tergantung dari object yang sedang di-scan. Sobat bisa membuktikan sendiri dengan bantuan program Process Hacker atau program sejenisnya, silahkan googling.

Download NAVi 1.0.0.1 (original) di: http://narpes32.com
Download NAVi 1.0.0.3 (yang sudah penulis update) disini: http://www.4shared.com/zip/0bEIjtUm/NAVi1003.html (Akan selalu diupdate)

Ok sekian dulu kapan-kapan dilanjut lagi, selamat mencoba semoga bermanfaat… mohon maaf dari segala salah kata yang tidak disengaja.. terima kasih sudah mengunjungi blog saya..
Salam…

Bugs, kritik dan saran silahkan kirim ke email penulis di: denie.doank@gmail.com

Updated: 10 Oktober 2012
  • IMPROVED: Core engine
  • IMPROVED: Engine heuristic VBS
  • IMPROVED: Engine fixer
  • ADDED: ditambahkan database pengenal virus jadi total sekarang ada 237 signature virus yang mampu dikenali oleh NAVi
  • IMPROVED: Beberapa perbaikan minor bugs lainnya..
  • Any other idea..?

Terima kasih.., Salam...

denidoank

setahun lebih saya tidak nge- post di blog ini.. saya mau break dulu ngoding dan semacamnya.. terima kasih untuk yang (mungkin) telah meng...