Penulis Topik: [Sharing] Teknik RTP Khusus Process [Seperti AV*ST]  (Dibaca 3184 kali)

Offline MAbdanMulia

  • Pro100
  • ****
  • Tulisan: 104
  • Reputation: 505
  • Jenis kelamin: Pria
    • Lihat Profil
[Sharing] Teknik RTP Khusus Process [Seperti AV*ST]
« pada: Februari 19, 2012, 11:11:57 AM »
Assalamualaikum Wr. Wb.
 ^_^ , sekedar sharing ilmu bagi para programmer AV yang sekarang sedang berkeliaran kemana mana ^_^, tehnik ini mengenai RTP Process. berikut ini penjelasan dan perbedaannya :

Perbedaan Antara RTP Process dengan RTP Biasa :
Kalau RTP Biasa yang biasa dikenal melihat path yang terlihat di explorer / yang terindeksi disuatu path. kalau RTP Process khusus untuk process task managernya.

Logika :
Mengaktifkan suatu timer yang berguna untuk mengecek pendeteksian suatu listCount Process di Task Manager, kalau disuatu keadaan ternyata nilai jumlah task managernya tidak sama maka ditengarai / akan muncul suatu pesan/ scanning dahulu.

Permasalahan dalam sandiwara :
Software itu hanya dibuka ketika kita mengklik Open saja tetapi juga ketika kita Software tersebut dipanggil oleh Software Lain. Contohnya saya buka program bernama "virus.exe" . Ketika program tersebut dibuka ternyata program tersebut itu akan memanggil temanya dengan program lain. [contohnya dengan perintah shellexecute] . Nah apakah itu akan terdeteksi oleh RTP Path yang biasa ??? .

Untuk lebih jelasnya silahkan download Code Berikut.

1. Buat 3 TextBox , 2 Listbox, 1 timer intervall = 1000
Gambar pola letak :



2. pada Form Code Editor Taruh code ini :
Kutip
      Option Explicit
'-------------------------------------------------
'Date           : 19 Februari 2012
'Nama Tujuan    : Untuk Seperti RTP untuk Process
'Author         : Muhammad Abdan Mulia
'Selamat maju terus programmer AV indonesia
'Terima kasih banyak atas :
'Allah SWT, A.M Hirin, MSDN, VB6, Darari Nur Amali, Mujaf, Alimx
'-------------------------------------------------
Dim LetakAwal As String
Private Sub List1_Click()
List2.AddItem List1.List(List1.ListCount)
End Sub

Private Sub Timer1_Timer()
      List1.Clear
      Select Case getVersion()

      Case 1 'Windows 95/98

         Dim f As Long, sname As String
         Dim hSnap As Long, proc As PROCESSENTRY32
         hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
         If hSnap = hNull Then Exit Sub
         proc.dwSize = Len(proc)
         ' Iterate through the processes
         f = Process32First(hSnap, proc)
         Do While f
           sname = StrZToStr(proc.szExeFile)
           List1.AddItem sname
           f = Process32Next(hSnap, proc)
         Loop

      Case 2 'Windows NT

         Dim cb As Long
         Dim cbNeeded As Long
         Dim NumElements As Long
         Dim ProcessIDs() As Long
         Dim cbNeeded2 As Long
         Dim NumElements2 As Long
         Dim Modules(1 To 200) As Long
         Dim lRet As Long
         Dim ModuleName As String
         Dim nSize As Long
         Dim hProcess As Long
         Dim i As Long
         'Get the array containing the process id's for each process object
         cb = 8
         cbNeeded = 96
         Do While cb <= cbNeeded
            cb = cb * 2
            ReDim ProcessIDs(cb / 4) As Long
            lRet = EnumProcesses(ProcessIDs(1), cb, cbNeeded)
         Loop
         NumElements = cbNeeded / 4

         For i = 1 To NumElements
            'Get a handle to the Process
            hProcess = OpenProcess(PROCESS_QUERY_INFORMATION _
               Or PROCESS_VM_READ, 0, ProcessIDs(i))
            'Got a Process handle
            If hProcess <> 0 Then
                'Get an array of the module handles for the specified
                'process
                lRet = EnumProcessModules(hProcess, Modules(1), 200, _
                                             cbNeeded2)
                'If the Module Array is retrieved, Get the ModuleFileName
                If lRet <> 0 Then
                   ModuleName = Space(MAX_PATH)
                   nSize = 500
                   lRet = GetModuleFileNameExA(hProcess, Modules(1), _
                                   ModuleName, nSize)
                   List1.AddItem Left(ModuleName, lRet)


                End If
            End If
          'Close the handle to the process
         lRet = CloseHandle(hProcess)
         Next

      End Select
Text1.Text = List1.ListCount
LetakAwal = List1.List(Text1.Text - 1) 'karena kan mulai dari 0 jadi kurangi 1
Text2.Text = LetakAwal

    If Text3.Text = "" Then
Text3.Text = Text2.Text

    ElseIf Text3.Text <> Text2.Text Then
MsgBox "Ditemukan process baru di komputer anda bernama :" & Text2.Text
'TARUH CODE SCANNING MU DISNI
'INFORMASI : PATHNYA YAITU TEXT2.TEXT Lhoo
Text3.Text = Text2.Text
List2.AddItem LetakAwal
    End If
End Sub

3. Buat Module dan taruh Code Berikut :
Kutip
      Public Declare Function Process32First Lib "kernel32" ( _
         ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long

      Public Declare Function Process32Next Lib "kernel32" ( _
         ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long

      Public Declare Function CloseHandle Lib "Kernel32.dll" _
         (ByVal Handle As Long) As Long

      Public Declare Function OpenProcess Lib "Kernel32.dll" _
        (ByVal dwDesiredAccessas As Long, ByVal bInheritHandle As Long, _
            ByVal dwProcId As Long) As Long

      Public Declare Function EnumProcesses Lib "psapi.dll" _
         (ByRef lpidProcess As Long, ByVal cb As Long, _
            ByRef cbNeeded As Long) As Long

      Public Declare Function GetModuleFileNameExA Lib "psapi.dll" _
         (ByVal hProcess As Long, ByVal hModule As Long, _
            ByVal ModuleName As String, ByVal nSize As Long) As Long

      Public Declare Function EnumProcessModules Lib "psapi.dll" _
         (ByVal hProcess As Long, ByRef lphModule As Long, _
            ByVal cb As Long, ByRef cbNeeded As Long) As Long

      Public Declare Function CreateToolhelp32Snapshot Lib "kernel32" ( _
         ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long

      Public Declare Function GetVersionExA Lib "kernel32" _
         (lpVersionInformation As OSVERSIONINFO) As Integer

      Public Type PROCESSENTRY32
         dwSize As Long
         cntUsage As Long
         th32ProcessID As Long           ' This process
         th32DefaultHeapID As Long
         th32ModuleID As Long            ' Associated exe
         cntThreads As Long
         th32ParentProcessID As Long     ' This process's parent process
         pcPriClassBase As Long          ' Base priority of process threads
         dwFlags As Long
         szExeFile As String * 260       ' MAX_PATH
      End Type

      Public Type OSVERSIONINFO
         dwOSVersionInfoSize As Long
         dwMajorVersion As Long
         dwMinorVersion As Long
         dwBuildNumber As Long
         dwPlatformId As Long           '1 = Windows 95.
                                        '2 = Windows NT

         szCSDVersion As String * 128
      End Type

      Public Const PROCESS_QUERY_INFORMATION = 1024
      Public Const PROCESS_VM_READ = 16
      Public Const MAX_PATH = 260
      Public Const STANDARD_RIGHTS_REQUIRED = &HF0000
      Public Const SYNCHRONIZE = &H100000
      'STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF
      Public Const PROCESS_ALL_ACCESS = &H1F0FFF
      Public Const TH32CS_SNAPPROCESS = &H2&
      Public Const hNull = 0

      Function StrZToStr(s As String) As String
         StrZToStr = Left$(s, Len(s) - 1)
      End Function

      Public Function getVersion() As Long
         Dim osinfo As OSVERSIONINFO
         Dim retvalue As Integer
         osinfo.dwOSVersionInfoSize = 148
         osinfo.szCSDVersion = Space$(128)
         retvalue = GetVersionExA(osinfo)
         getVersion = osinfo.dwPlatformId
      End Function

4. Selesai tekan f5
5. Ketika berjalan, coba agan buka program baru, maka pada form akan muncul MSGBOX bahwa ditemukan process baru
6. Selesai

NB : Taruh code path scanningnya ke yang dibawahnya [MsgBox "Ditemukan process baru di komputer anda bernama :" & Text2.Text] . pathnya Text2.text

Kalau bingung bisa download hasil cetakan jadi SC nya :
http://www.mediafire.com/?pueuevq3f91n40s

NB :
SC ini bisa dibilang masih sederhana, bisa anda kreasikan lagi contohnya, sebelumnya Process di SUSPEND kemudian di scan apabila tidak terdeteksi maka kemudian di resume. dan lain lain. maaf tidak saya sertakan karena waktu saya merepet . kapan2 mungkin di ver.2.0

Ok, semoga bermanfaat bagi para programmer AV , ^_^
O ya, doakan saya besok mendapatkan nilai paling baik di UNAS yah  :-bd , sama Try Out Kabupaten besok   :D :D
amieen.

Offline Ryan BeKaBe

  • Admin
  • Pro500
  • *******
  • Tulisan: 1.975
  • Reputation: 65534
  • ToS (Team of SmadAV)
    • Lihat Profil
    • BeKaBe
Re: [Sharing] Teknik RTP Khusus Process [Seperti AV*ST]
« Jawab #1 pada: Februari 19, 2012, 11:38:28 AM »
Nice sharing.  ;)

Amin. Semoga dapat 100 ya!  :-bd
Referral VPS (mulai dari $5 /bulan, 25GB) untuk dapatkan bonus saldo:
1) UpCloud: https://upcloud.com/signup/?promo=76RH93

2) Digital Ocean: https://m.do.co/c/a4ccf48a36d4

3) Vultr: https://www.vultr.com/?ref=8082682

4) AlibabaCloud: https://www.alibabacloud.com/referral?referralCode=a6qmol

Offline RifqiSah

  • Pro500
  • ******
  • Tulisan: 920
  • Reputation: 820
  • Jenis kelamin: Pria
  • © 2018 Alrif Technology
    • Lihat Profil
Re: [Sharing] Teknik RTP Khusus Process [Seperti AV*ST]
« Jawab #2 pada: Februari 19, 2012, 11:55:42 AM »
Good :-bd
Ane coba dulu ya :D :D

Offline M. Ridzky

  • Forum Developer
  • Pro200
  • ***
  • Tulisan: 227
  • Reputation: 23461
  • Jenis kelamin: Pria
    • Lihat Profil
Re: [Sharing] Teknik RTP Khusus Process [Seperti AV*ST]
« Jawab #3 pada: Februari 19, 2012, 05:20:12 PM »
:D cara kerjanya menyimpan nama" proses yg sedang aktif, kemudian jika ditemukan adanya perbedaan dengan daftar proses yang disimpen tadi, dipastikan itu proses baru, tinggal dapetin lokasi filenya dan scan  :-bd
« Edit Terakhir: Februari 20, 2012, 10:55:24 AM oleh M. Ridzky »

Offline mujaf

  • Pro100
  • ****
  • Tulisan: 101
  • Reputation: 14197
  • Jenis kelamin: Pria
  • Newbie Ndeso
    • Lihat Profil
Re: [Sharing] Teknik RTP Khusus Process [Seperti AV*ST]
« Jawab #4 pada: Februari 19, 2012, 06:12:15 PM »
hmm,,,, kurang lebih metodenya sama kayak 'Pembunuh'

Offline Oim Devans

  • Pro200
  • *****
  • Tulisan: 371
  • Reputation: 271
  • Jenis kelamin: Pria
  • X2 Team Admin
    • Lihat Profil
    • X2 Team
Re: [Sharing] Teknik RTP Khusus Process [Seperti AV*ST]
« Jawab #5 pada: Februari 20, 2012, 09:21:04 AM »
mantaap nih :)
--//Belajar Dan Terus Belajar Sesuatu agar Menjadi yang inginkan\\--

Offline rolas

  • Pro100
  • ****
  • Tulisan: 105
  • Reputation: 147
    • Lihat Profil
Re: [Sharing] Teknik RTP Khusus Process [Seperti AV*ST]
« Jawab #6 pada: Maret 29, 2012, 08:49:06 AM »
nice tutorial gan, btw ini cuma buat memonitor process aja tanpa ada scan yg lebih dalam yah

Offline dhon2008

  • Pro10
  • ***
  • Tulisan: 81
  • Reputation: 93
  • Jenis kelamin: Pria
  • Alien Free Antivirus
    • Lihat Profil
    • Alien Official Website
Re: [Sharing] Teknik RTP Khusus Process [Seperti AV*ST]
« Jawab #7 pada: April 08, 2012, 03:39:16 PM »
thanks buat sc nya , gan...
" Keep support for Alien free antivirus "

Offline mdipa_yumansah

  • Pro200
  • *****
  • Tulisan: 388
  • Reputation: 373
  • Jenis kelamin: Pria
  • Download Antivirus Diyusof.
    • Lihat Profil
    • Diyusof Blog
Re: [Sharing] Teknik RTP Khusus Process [Seperti AV*ST]
« Jawab #8 pada: April 08, 2012, 07:25:27 PM »
Sangat bagus gan. ane kasih +1 Deh  :-bd
Penghuni Lama

Offline Ardy Prologic

  • Pro200
  • *****
  • Tulisan: 442
  • Reputation: 1800
  • Jenis kelamin: Pria
  • Make me perfect...
    • Lihat Profil
    • http://bunghackers.blogspot.com
Re: [Sharing] Teknik RTP Khusus Process [Seperti AV*ST]
« Jawab #9 pada: April 29, 2012, 03:50:06 AM »
Keren...
thanks tutorialnya om.. :D :D :D

 :-bd :-bd :-bd



:-bd :-bd UCAPKANLAH TERIMAKASIH WALAU HANYA SEKALI..!!! :-bd :-bd


http://bunghackers.blogspot.com