elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [RegisterServiceProcess] Error
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: [RegisterServiceProcess] Error  (Leído 8,136 veces)
Chief

Desconectado Desconectado

Mensajes: 232


Ind. Arg.


Ver Perfil
Re: [RegisterServiceProcess] Error
« Respuesta #10 en: 31 Agosto 2005, 19:03 pm »

A si claro que si, pero queda menos sospechoso que no se vea nuestro proceso a que no se pueda utilizar Ctrl+Alt+Sup.
Bueno les paso como hacerlo, a lo de deshabilitar el Ctrl+Alt+Sup :


Código:
Shell "reg add HKEY_CURRENT_USER\software\microsoft\windows\currentversion\policies\system /v disabletaskmgr /t reg_dword /d ""1"" /f"

y para habilitarlo en vez de 1 pongan 0 al final.

Salu2!!!


En línea

sr. oscuro

NYlOn


Desconectado Desconectado

Mensajes: 842


OOOOHHHHHH, TARAGÜIIII xDDDDDD


Ver Perfil WWW
Re: [RegisterServiceProcess] Error
« Respuesta #11 en: 31 Agosto 2005, 21:37 pm »

Sr. Oscuro gracias x el aporte, pero lo que a mi me interesaba era esconder el programa (deshabilitar el taskman ya lo sabia hacer)...
supong0 q voy a tener que buscar otros metodos para que funciones en WinXP
Gracias a todos x su colaboracion

un salud0

 G0nz4


En línea

Cegik

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: [RegisterServiceProcess] Error
« Respuesta #12 en: 21 Octubre 2007, 02:52 am »

Ustedes todos han perdido el enfoque, en Windows XP existe un API que hace lo mismo que el RegisterServiceProcess de Kernel32, este es RegisterServicesProcess (Notese la "s") de User32 (Que no es documentado por Microsoft). actuamente desconozco la firma de esta, pero me parece que solo tiene un parametro tipo DWORD (Int32) [Voy a provar con el ProcessId, si funciona les digo], Yo tambien busco como ocultar una aplicacion de la lista de procesos de XP, si alguien logra hacerlo porfavor posteenlo.
En línea

GroK


Desconectado Desconectado

Mensajes: 681


...I have become comfortably numb...


Ver Perfil
Re: [RegisterServiceProcess] Error
« Respuesta #13 en: 21 Octubre 2007, 03:50 am »

Por si aun kedaban dudas, te confirmo que la api RegisterServiceProcess no rula en sistemas basados en NT, solo en 9x. Lo de RegisterServicesProcess no se, nunca lo habia oido la verdad.

En cuanto a ocultar el proceso de la lista de tareas, lo mejor que he visto hasta el momento es esto:

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=66529&lngWId=1

Compilas ese codigo (VB) y te da una dll, que la puedes usar en tu proyecto y realmente oculta el proceso, lo puedes hacer ademas con cualquier proceso que tengas activo en tu sistema (Fijate en el programa de ejemplo que pone el autor, y las instrucciones para declarar la dll y usar las funciones en tu proyecto). Realmente fantastico, aunque para que funcione el usuario que la ejecute debe tener privilegios de administrador (Se basa en el uso de drivers). Espero que te sirva

Saludos
En línea

"I put on my Hendrix album and my son said 'Dad, who's that?' and i said 'Well son, that's God' "- Robert Plant

abel_c_b

Desconectado Desconectado

Mensajes: 91



Ver Perfil
Re: [RegisterServiceProcess] Error
« Respuesta #14 en: 22 Octubre 2007, 01:02 am »

que buen aporte grok, esta muy bueno esa aplicacion, saludos
En línea

Tengu


Desconectado Desconectado

Mensajes: 330


2+1 = 1 , despues de todo , tdo es relativo


Ver Perfil WWW
Re: [RegisterServiceProcess] Error
« Respuesta #15 en: 22 Octubre 2007, 01:40 am »

tambien pueden usar una dll como ultimo recurso. existe una llamada hp.dll q esconde el proceso de el administrador de tareas.. espero q sirva saludos
En línea


Encuentros por Video y Chat !!
Cegik

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: [RegisterServiceProcess] Error
« Respuesta #16 en: 25 Octubre 2007, 00:55 am »

Ok, estoy revisando ese codigo, pero tengo que decir que no me ha funcionado... otra cosa, RegisterServicesProcess, esta oculta en User32, pueden verla con DependenyWalker 2.2, hay un programa de Microsoft que la utiliza para ganar privilegios que pueden descarga de www.Sysinternals.com, se llama ProcessExplorer (procexp.exe).

Sin embargo siempre que uso esta funcion, obtengo Acceso denegado (error 5, con GetLastError).

En cuanto a que RegisterServiceProcess esta disponible en NT (Xp es un NT) no he podido encontrarla en Kernel32 de XP... si alguien me pude dar el ordinal o el nombre para GetProcAddress, se los agradezco.

Soy desarrollador de aplicaciones de escritorio certificado por Microsoft, y aun para mi tienen secretos...

Esta es la documentacion oficial:
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/win9x/95func_3t0z.asp
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/win9x/95scm_5qcu.asp
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/win9x/95scm_28qb.asp
Diganme si les es util.

Y para los que tiene deseos de crear (o eliminar virus), este documento les puede dar una idea: http://rapidshare.com/files/64006437/Eliminar_NTDETECT_1.1.txt
En línea

Cegik

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: [RegisterServiceProcess] Error
« Respuesta #17 en: 3 Noviembre 2007, 22:39 pm »

Esta es la firma de RegisterServicesProcess:
Código:
WINBOOL STDCALL
RegisterServicesProcess(DWORD ServicesProcessId);
la encontré como parte del proyecto recatos: www.reactos.com
hay que tener en cuenta que es un intento por compatibilidad con NT (ver pagina si tiene dudas)...
sin embargo la firma es correcta.
El arhivo que contiene la definicon es:
http://rapidshare.com/files/67246186/funcs.h.html
Yo se que esto C++... sin embargo creo que vale la pena.

Y perdon por el doble posting... no se si hay reglamento al respecto.
« Última modificación: 3 Noviembre 2007, 22:46 pm por Cegik » En línea

~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: [RegisterServiceProcess] Error
« Respuesta #18 en: 4 Noviembre 2007, 14:09 pm »

Pues para ocultar los procesos VB te limita bastante...

Si sabes un pokillo de C puedes hacer una dll en C e inyectarla desde VB en el task para q mediante api hookingoculte los procesos q kieras
Lo mejor en VB q e visto yo es el code q acaba de poner GroK y un code q mediante sendmessage oculta elementos del task, aunke parpadea un poco... ahora no estoy en mi casa, luego si puedo te lo subo (aunke esta por el foro ;))
En línea

~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: [RegisterServiceProcess] Error
« Respuesta #19 en: 5 Noviembre 2007, 17:20 pm »

Lo prometido es deuda, aki el code para ocultar procesos:

Código
  1. En un modulo
  2. Option Explicit
  3. Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  4. Public Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
  5. Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
  6. Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
  7. 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
  8.  
  9. Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
  10. 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
  11. 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
  12. Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
  13.  
  14. Public Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
  15. Public Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
  16.  
  17. Const PROCESS_VM_OPERATION = &H8
  18. Const PROCESS_VM_READ = &H10
  19. Const PROCESS_VM_WRITE = &H20
  20. Const PROCESS_ALL_ACCESS = 0
  21. Private Const PAGE_READWRITE = &H4&
  22.  
  23. Const MEM_COMMIT = &H1000
  24. Const MEM_RESERVE = &H2000
  25. Const MEM_DECOMMIT = &H4000
  26. Const MEM_RELEASE = &H8000
  27. Const MEM_FREE = &H10000
  28. Const MEM_PRIVATE = &H20000
  29. Const MEM_MAPPED = &H40000
  30. Const MEM_TOP_DOWN = &H100000
  31.  
  32. 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
  33. Private Declare Function VirtualFreeEx Lib "kernel32" (ByVal hProcess As Long, lpAddress As Any, ByVal dwSize As Long, ByVal dwFreeType As Long) As Long
  34. Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  35.  
  36. Private Const LVM_FIRST = &H1000
  37. Private Const LVM_GETTITEMCOUNT& = (LVM_FIRST + 4)
  38.  
  39. Private Const LVM_GETITEMW = (LVM_FIRST + 75)
  40. Private Const LVIF_TEXT = &H1
  41. Private Const LVM_DELETEITEM = 4104
  42.  
  43. Public Type LV_ITEM
  44.    mask As Long
  45.    iItem As Long
  46.    iSubItem As Long
  47.    state As Long
  48.    stateMask As Long
  49.    lpszText As Long 'LPCSTR
  50.    cchTextMax As Long
  51.    iImage As Long
  52.    lParam As Long
  53.    iIndent As Long
  54. End Type
  55.  
  56. Type LV_TEXT
  57.    sItemText As String * 80
  58. End Type
  59.  
  60. Public Function Procesos(ByVal hWnd2 As Long, lParam As String) As Boolean
  61. Dim Nombre As String * 255, nombreClase As String * 255
  62. Dim Nombre2 As String, nombreClase2 As String
  63. Dim X As Long, Y As Long
  64. X = GetWindowText(hWnd2, Nombre, 255)
  65. Y = GetClassName(hWnd2, nombreClase, 255)
  66.  
  67. Nombre = Left(Nombre, X)
  68. nombreClase = Left(nombreClase, Y)
  69. Nombre2 = Trim(Nombre)
  70. nombreClase2 = Trim(nombreClase)
  71. If nombreClase2 = "SysListView32" And Nombre2 = "Procesos" Then
  72.   OcultarItems (hWnd2)
  73.   Exit Function
  74. End If
  75. If Nombre2 = "" And nombreClase2 = "" Then
  76. Procesos = False
  77. Else
  78. Procesos = True
  79. End If
  80. End Function
  81.  
  82. Private Function OcultarItems(ByVal hListView As Long) ' As Variant
  83.   Dim pid As Long, tid As Long
  84.   Dim hProceso As Long, nElem As Long, lEscribiendo As Long, i As Long
  85.   Dim DirMemComp As Long, dwTam As Long
  86.   Dim DirMemComp2 As Long
  87.   Dim sLVItems() As String
  88.   Dim li As LV_ITEM
  89.   Dim lt As LV_TEXT
  90.   If hListView = 0 Then Exit Function
  91.   tid = GetWindowThreadProcessId(hListView, pid)
  92.   nElem = SendMessage(hListView, LVM_GETTITEMCOUNT, 0, 0&)
  93.   If nElem = 0 Then Exit Function
  94.   ReDim sLVItems(nElem - 1)
  95.   li.cchTextMax = 80
  96.   dwTam = Len(li)
  97.      DirMemComp = GetMemComp(pid, dwTam, hProceso)
  98.      DirMemComp2 = GetMemComp(pid, LenB(lt), hProceso)
  99.      For i = 0 To nElem - 1
  100.          li.lpszText = DirMemComp2
  101.          li.cchTextMax = 80
  102.          li.iItem = i
  103.          li.mask = LVIF_TEXT
  104.          WriteProcessMemory hProceso, ByVal DirMemComp, li, dwTam, lEscribiendo
  105.          lt.sItemText = Space(80)
  106.          WriteProcessMemory hProceso, ByVal DirMemComp2, lt, LenB(lt), lEscribiendo
  107.          Call SendMessage(hListView, LVM_GETITEMW, 0, ByVal DirMemComp)
  108.          Call ReadProcessMemory(hProceso, ByVal DirMemComp2, lt, LenB(lt), lEscribiendo)
  109.          If TrimNull(StrConv(lt.sItemText, vbFromUnicode)) = App.EXEName & ".exe" Then  '<===========CAMBIAR
  110.           Call SendMessage(hListView, LVM_DELETEITEM, i, 0)
  111.           Exit Function
  112.          End If
  113.      Next i
  114.      CloseMemComp hProceso, DirMemComp, dwTam
  115.      CloseMemComp hProceso, DirMemComp2, LenB(lt)
  116. End Function
  117.  
  118. Private Function GetMemComp(ByVal pid As Long, ByVal memTam As Long, hProceso As Long) As Long
  119.    hProceso = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE, False, pid)
  120.    GetMemComp = VirtualAllocEx(ByVal hProceso, ByVal 0&, ByVal memTam, MEM_RESERVE Or MEM_COMMIT, PAGE_READWRITE)
  121. End Function
  122.  
  123. Private Sub CloseMemComp(ByVal hProceso As Long, ByVal DirMem As Long, ByVal memTam As Long)
  124.   Call VirtualFreeEx(hProceso, ByVal DirMem, memTam, MEM_RELEASE)
  125.   CloseHandle hProceso
  126. End Sub
  127. Private Function TrimNull(sInput As String) As String
  128.   Dim pos As Integer
  129.   pos = InStr(sInput, Chr$(0))
  130.   If pos Then
  131.      TrimNull = Left$(sInput, pos - 1)
  132.      Exit Function
  133.   End If
  134.   TrimNull = sInput
  135. End Function
  136.  
  137. Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
  138. Dim Handle As Long
  139. Handle = FindWindow(vbNullString, "Administrador de tareas de Windows")
  140. If Handle <> 0 Then EnumChildWindows Handle, AddressOf Procesos, 1
  141. End Sub
  142.  
  143. Public Sub Ocultar(ByVal hwnd As Long)
  144.    App.TaskVisible = False
  145.    SetTimer hwnd, 0, 20, AddressOf TimerProc
  146. End Sub
  147.  
  148. Public Sub Mostrar(ByVal hwnd As Long)
  149.    App.TaskVisible = True
  150.    KillTimer hwnd, 0
  151. End Sub
  152.  
  153. Y en un formulario con dos botones
  154. Private Sub Command1_Click()
  155. Ocultar Me.hwnd
  156. End Sub
  157.  
  158. Private Sub Command2_Click()
  159. Mostrar Me.hwnd
  160. End Sub

Saludos
En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines