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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ocultar processos en task manager (w7)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Ocultar processos en task manager (w7)  (Leído 9,717 veces)
CniZoO

Desconectado Desconectado

Mensajes: 6


<iframe><iframe><iframeportodoslados><iframe>


Ver Perfil
Ocultar processos en task manager (w7)
« en: 10 Diciembre 2012, 14:49 pm »

alguien me puede ayudar?? no se xq la admin o no se xq motivo me borran mis preguntas en hilos que aun siguen abiertos....
Wenno a ver si este sistema funciona y alguien me da una solucion.
çNecessito ocultar un programa del administrador de tareas, mas concretamente del area de processos, alguien me puede hechar una mano? o decirme los passos a seguir? muchas gracias de antemano y un saludo.


En línea

CniZoO

Desconectado Desconectado

Mensajes: 6


<iframe><iframe><iframeportodoslados><iframe>


Ver Perfil
Re: Ocultar processos en task manager (w7)
« Respuesta #1 en: 11 Diciembre 2012, 20:32 pm »

cabe decir que me he mirado todos los post relacionados al tema, sobre hookear apis y demás, pero no he llegado  a hacerlo exactamente como dicen por falta de información o incluso mejor dicho de comprensión, si alguien sabe de algun post que salga la informacioón o unaminiguia para orientarme e investigar sobre tema se lo agradecere con crecess!! jejejjej muchas gracias nuevamente, espero sus respuestas, un saludo.



PD: las normativas del foro implikan que se postee en el hilo correspondiente, si alguien cree que este no es el sitio para este post , k me lo haga saber que, no se bien bien si estoy en el area correctaa  ;)


« Última modificación: 11 Diciembre 2012, 20:34 pm por CniZoO » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Ocultar processos en task manager (w7)
« Respuesta #2 en: 16 Diciembre 2012, 02:56 am »

Citar
no se xq la admin o no se xq motivo me borran mis preguntas en hilos que aun siguen abiertos....
Una razón podría ser porque nisiquiera... ESPECIFICAS EL LENGUAJE EN EL QUE TRABAJAS



Si tu Windows es de 32 Bit y VB.NET, entonces es tán fácil como esto:

TMListViewDelete V2.vb
Código:
'|-|  Task Manager Hack   |-|
'############################
'#  Coded by Scout/Thyonic  #
'#      Credits to:         #
'#   This guy named jo0l    #
'#--------------------------#
'#           Use:           #
'# TMListViewDelete.Running #
'# Set it to true to start  #
'# Set it to false to stop  #
'# Don't mess with anything #
'#     or it may break.     #
'############################
#Region " Imports "
Imports System.IO
Imports Microsoft.Win32.SafeHandles
Imports System.Runtime.InteropServices
Imports System.Text
Imports System.ComponentModel
#End Region
#Region " TMListViewDelete "

Module TMListViewDelete
#Region " Declarations/Functions/Consts "

    Private Const LVM_FIRST = &H1000
    Private Const LVM_DELETECOLUMN = LVM_FIRST + 28

    Private Const LVM_GETITEMCOUNT = (LVM_FIRST + 4)
    Private Const LVM_SORTITEMS = (LVM_FIRST + 48)
    Private Const LVM_DELETEITEM = (LVM_FIRST + 8)
    Private Const LVM_GETNEXTITEM = (LVM_FIRST + 12)
    Private Const LVM_GETITEM = (LVM_FIRST + 75)

    Private Delegate Function EnumDelegate(ByVal lngHwnd As IntPtr, ByVal lngLParam As Integer) As Integer
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal Hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
    Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
    Private Declare Function EnumChildWindows Lib "user32.dll" (ByVal hWndParent As IntPtr, ByVal lpEnumFunc As EnumDelegate, ByVal lParam As Integer) As Integer
    Declare Function GetClassName Lib "user32.dll" Alias "GetClassNameA" (ByVal hWnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
    Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hWnd As IntPtr, ByVal lpClassName As System.Text.StringBuilder, ByVal nMaxCount As Integer) As Integer
    Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As IntPtr, ByVal lpString As System.Text.StringBuilder, ByVal cch As Integer) As Integer
    Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hWnd As IntPtr) As Integer
    Dim t As New Timer

    Dim hwnd As IntPtr
    Dim controls As String
    Public MyProc As String

    Dim ProcLV As IntPtr = IntPtr.Zero
#End Region

#Region " Timer's Tick "
    Private Sub t_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If ProcLV = IntPtr.Zero Then
            hwnd = FindWindow(vbNullString, "Windows Task Manager")
            If hwnd <> 0 Then
                'Clipboard.SetText(hwnd)
                EnumChildWindows(hwnd, New EnumDelegate(AddressOf TMListViewDelete.EnumChildWindows), 0)
            End If
        Else
            GetListView(hwnd, ProcLV)
        End If
    End Sub
#End Region

#Region " Running Property "
    Public Property Running() As Boolean
        Get
            If t.Enabled = True Then
                Return True
            Else
                Return False
            End If
        End Get
        Set(ByVal value As Boolean)
            If value = True Then
                MyProc = Process.GetCurrentProcess.ProcessName
                If Not t.Interval = 50 Then
                    With t
                        AddHandler t.Tick, AddressOf t_Tick
                        .Interval = 50
                        .Enabled = True
                        .Start()
                    End With
                Else
                    t.Enabled = True
                    t.Start()
                End If
            Else
                t.Enabled = False
                t.Stop()
                ProcLV = IntPtr.Zero
            End If
        End Set
    End Property

#End Region

#Region " Getting ListViews"
    Private Function EnumChildWindows(ByVal lngHwnd As IntPtr, ByVal lngLParam As Integer) As Integer
        Dim strClassName As String = GetClass(lngHwnd)
        Dim strText As String = GetTitleText(lngHwnd)
        If InStr(strClassName.ToString, "SysListView32") Then
            'GetListView(hwnd, lngHwnd)
            If InStr(strText, "Processes") Then
                ProcLV = lngHwnd
            End If
        End If
        Dim Classes As String = lngHwnd.ToString & ", " & strClassName & ", " & strText
        Return 1
    End Function
    Private Function GetClass(ByVal handle As IntPtr) As String
        Dim strClassName As New System.Text.StringBuilder()
        strClassName.Length = 255
        GetClassName(handle, strClassName, strClassName.Length)
        Return strClassName.ToString
    End Function
    Private Function GetTitleText(ByVal handle As IntPtr) As String
        Dim titleText As New System.Text.StringBuilder()
        titleText.Length = GetWindowTextLength(handle) + 1
        GetWindowText(handle, titleText, titleText.Length)
        Return titleText.ToString
    End Function

#End Region
End Module

#End Region
#Region " Get Items "
Module GetItems
    Dim listViewHandle As IntPtr
#Region " Functions "
    <DllImport(kernel32, SetLastError:=True)> _
    Public Function OpenProcess( _
        ByVal dwDesiredAccess As UInteger, _
        ByVal bInheritHandle As Boolean, _
        ByVal dwProcessId As Integer) As SafeProcessHandle
    End Function


#Region " ReadProcessMemory "
    <DllImport(kernel32, EntryPoint:="ReadProcessMemory", SetLastError:=True, CharSet:=CharSet.Unicode)> _
    Public Function ReadProcessMemoryW( _
        ByVal hProcess As SafeProcessHandle, _
        ByVal lpBaseAddress As IntPtr, _
        ByVal lpBuffer As StringBuilder, _
        ByVal nSize As Integer, _
        ByRef bytesRead As Integer) As <MarshalAs(UnmanagedType.Bool)> Boolean
    End Function

    <DllImport(kernel32, SetLastError:=True, CharSet:=CharSet.Ansi)> _
    Public Function ReadProcessMemory( _
        ByVal hProcess As SafeProcessHandle, _
        ByVal lpBaseAddress As IntPtr, _
        ByVal lpBuffer As StringBuilder, _
        ByVal nSize As Integer, _
        ByRef bytesRead As Integer) As <MarshalAs(UnmanagedType.Bool)> Boolean
    End Function

    <DllImport(kernel32, SetLastError:=True)> _
    Public Function ReadProcessMemory( _
        ByVal hProcess As SafeProcessHandle, _
        ByVal lpBaseAddress As IntPtr, _
        ByRef lpBuffer As LV_ITEM, _
        ByVal nSize As Integer, _
        ByRef bytesRead As Integer) As <MarshalAs(UnmanagedType.Bool)> Boolean
    End Function

    <DllImport(kernel32, SetLastError:=True)> _
    Public Function ReadProcessMemory( _
        ByVal hProcess As SafeProcessHandle, _
        ByVal lpBaseAddress As IntPtr, _
        ByRef lpBuffer As HDITEM, _
        ByVal nSize As Integer, _
        ByRef bytesRead As Integer) As <MarshalAs(UnmanagedType.Bool)> Boolean
    End Function

    <DllImport(kernel32, SetLastError:=True)> _
    Public Function ReadProcessMemory( _
        ByVal hProcess As SafeProcessHandle, _
        ByVal lpBaseAddress As IntPtr, _
        ByVal lpBuffer As IntPtr, _
        ByVal nSize As Integer, _
        ByRef bytesRead As Integer) As <MarshalAs(UnmanagedType.Bool)> Boolean
    End Function
#End Region

#Region " SendMessage "
    <DllImport(user32, SetLastError:=True)> _
    Public Function SendMessage( _
        ByVal hWnd As IntPtr, _
        ByVal message As UInteger, _
        ByVal wParam As IntPtr, _
        ByVal lParam As IntPtr) As Integer
    End Function

    ' Has a different return type, so can't overload.
    <DllImport(user32, SetLastError:=True, EntryPoint:="SendMessageA")> _
    Public Function GetHeaderSendMessage( _
        ByVal hWnd As IntPtr, _
        ByVal message As UInteger, _
        ByVal wParam As IntPtr, _
        ByVal lParam As IntPtr) As IntPtr
    End Function

    <DllImport(user32, SetLastError:=True)> _
    Public Function SendMessage( _
        ByVal hWnd As IntPtr, _
        ByVal message As UInteger, _
        ByVal wParam As Integer, _
        ByVal lParam As StringBuilder) As Integer
    End Function

    <DllImport(user32, SetLastError:=True)> _
    Public Function SendMessage( _
        ByVal hWnd As IntPtr, _
        ByVal message As UInteger, _
        ByVal wParam As Integer, _
        ByVal lParam As IntPtr) As Integer
    End Function
#End Region

#Region " VirtualAllocEx "
    <DllImport(kernel32, SetLastError:=True)> _
    Public Function VirtualAllocEx( _
        ByVal hProcess As SafeProcessHandle, _
        ByVal lpAddress As IntPtr, _
        ByVal dwSize As Integer, _
        ByVal flAllocationType As UInteger, _
        ByVal flProtect As UInteger) As IntPtr
    End Function
#End Region

#Region " VirtualFreeEx "
    <DllImport(kernel32, SetLastError:=True)> _
    Public Function VirtualFreeEx( _
        ByVal hProcess As SafeProcessHandle, _
        ByVal lpAddress As IntPtr, _
        ByVal dwSize As Integer, _
        ByVal dwFreeType As UInteger) As <MarshalAs(UnmanagedType.Bool)> Boolean
    End Function
#End Region

#Region " WriteProcessMemory "
    <DllImport(kernel32, SetLastError:=True)> _
    Public Function WriteProcessMemory( _
        ByVal hProcess As SafeProcessHandle, _
        ByVal lpBaseAddress As IntPtr, _
        ByRef lpBuffer As LV_ITEM, _
        ByVal nSize As Integer, _
        ByRef lpNumberOfBytesWritten As Integer) As <MarshalAs(UnmanagedType.Bool)> Boolean
    End Function

    <DllImport(kernel32, SetLastError:=True)> _
    Public Function WriteProcessMemory( _
        ByVal hProcess As SafeProcessHandle, _
        ByVal lpBaseAddress As IntPtr, _
        ByRef lpBuffer As HDITEM, _
        ByVal nSize As Integer, _
        ByRef lpNumberOfBytesWritten As Integer) As <MarshalAs(UnmanagedType.Bool)> Boolean
    End Function
#End Region
#End Region
#Region " Consts "
    Public Const LVM_FIRST As UInteger = &H1000
    Public Const LVM_DELETEITEM As UInteger = (LVM_FIRST + 8)

    Public Const kernel32 As String = "kernel32"
    Public Const user32 As String = "user32"
    Public Const LVM_GETITEMCOUNT As UInteger = &H1004
    Public Const LVM_GETITEMTEXT As UInteger = &H102D
    Public Const LVM_GETHEADER As UInteger = &H101F
    Public Const HDM_GETIEMA As UInteger = &H1203
    Public Const HDM_GETITEMW As UInteger = &H120B
    Public Const HDM_GETITEMCOUNT As UInteger = &H1200
    Public Const HDM_GETUNICODEFORMAT As UInteger = &H2006
    Public Const HDI_TEXT As UInteger = 2
    Public Const MEM_COMMIT As UInteger = &H1000
    Public Const MEM_RELEASE As UInteger = &H8000
    Public Const PAGE_READWRITE As UInteger = 4
    Public Const PROCESS_VM_READ As UInteger = &H10
    Public Const PROCESS_VM_WRITE As UInteger = &H20
    Public Const PROCESS_VM_OPERATION As UInteger = &H8
    Public Const WM_GETTEXT As UInteger = &HD
    Public Const WM_GETTEXTLENGTH As UInteger = &HE
#End Region
#Region " Structures "
#Region " LV_ITEM "
    <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)> _
    Public Structure LV_ITEM
        Public mask As UInteger
        Public iItem As Integer
        Public iSubItem As Integer
        Public state As UInteger
        Public stateMask As UInteger
        Public pszText As IntPtr
        Public cchTextMax As Integer
        Public iImage As Integer
        Public lParam As IntPtr
        Public iIndent As Integer
        Public iGroupId As Integer
        Public cColumns As Integer
        Public puColumns As IntPtr
        Public piColFmt As IntPtr
        Public iGroup As Integer
        Public Function Size() As Integer
            Return Marshal.SizeOf(Me)
        End Function
    End Structure
#End Region

#Region " HDITEM "
    <StructLayout(LayoutKind.Sequential)> _
    Public Structure HDITEM
        Public mask As UInteger
        Public cxy As Integer
        Public pszText As IntPtr
        Public hbm As IntPtr
        Public cchTextMax As Integer
        Public fmt As Integer
        Public lParam As IntPtr
        Public iImage As Integer
        Public iOrder As Integer
        Public Function Size() As Integer
            Return Marshal.SizeOf(Me)
        End Function
    End Structure
#End Region
#End Region
#Region "Get List View Items "
    Public Function GetListView(ByVal handle As IntPtr, ByVal lvhandle As IntPtr) As Boolean
        listViewHandle = lvhandle
        Dim hParent As IntPtr = handle

        Dim id As Integer = -1
        Try
            For Each p In Process.GetProcessesByName("taskmgr")
                If p.MainWindowTitle = "Windows Task Manager" Then
                    id = p.Id
                End If
            Next
            If id = -1 Then
                Throw New ArgumentException("Could not find the process specified", "processName")
            End If
        Catch : Return False : End Try

        Dim hprocess As SafeProcessHandle = Nothing
        Try
            hprocess = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE, False, id)

            If hprocess Is Nothing Then
                If Marshal.GetLastWin32Error = 0 Then
                    Throw New System.ComponentModel.Win32Exception
                End If
            End If

            Dim itemCount As Integer = SendMessage(listViewHandle, LVM_GETITEMCOUNT, IntPtr.Zero, IntPtr.Zero)

            For row As Integer = 0 To itemCount - 1

                Dim lvi As New ListViewItem(GetItem(row, 0, hprocess))
                If lvi.Text.Contains(TMListViewDelete.MyProc) Then SendMessage(listViewHandle, LVM_DELETEITEM, row, IntPtr.Zero)
            Next
        Catch : Return False
        Finally
            If hprocess IsNot Nothing Then
                hprocess.Close()
                hprocess.Dispose()
            End If

        End Try
        Return True
    End Function
#End Region
#Region " SafeProcessHandle "
    Friend NotInheritable Class SafeProcessHandle
        Inherits SafeHandleZeroOrMinusOneIsInvalid
        Declare Auto Function CloseHandle Lib "kernel32.dll" (ByVal hObject As IntPtr) As Boolean

        Public Sub New()
            MyBase.New(True)
        End Sub

        Public Sub New(ByVal handle As IntPtr)
            MyBase.New(True)
            MyBase.SetHandle(handle)
        End Sub

        Protected Overrides Function ReleaseHandle() As Boolean
            Return CloseHandle(MyBase.handle)
        End Function

    End Class
#End Region
#Region " GetItem "
    Private Function GetItem(ByVal row As Integer, ByVal subitem As Integer, _
                                ByVal hProcess As SafeProcessHandle) As String

        Dim lvitem As New LV_ITEM
        lvitem.cchTextMax = 260
        lvitem.mask = 1
        lvitem.iItem = row
        lvitem.iSubItem = subitem
        Dim pString As IntPtr
        Dim s As New StringBuilder(260)
        Try

            pString = VirtualAllocEx(hProcess, IntPtr.Zero, 260, MEM_COMMIT, PAGE_READWRITE)
            lvitem.pszText = pString
            Dim pLvItem As IntPtr
            Try
                pLvItem = VirtualAllocEx(hProcess, IntPtr.Zero, lvitem.Size, MEM_COMMIT, PAGE_READWRITE)
                Dim boolResult As Boolean = WriteProcessMemory(hProcess, pLvItem, lvitem, lvitem.Size, 0)
                If boolResult = False Then Throw New Win32Exception

                SendMessage(listViewHandle, LVM_GETITEMTEXT, row, pLvItem)
                boolResult = ReadProcessMemory(hProcess, pString, s, 260, 0)
                If boolResult = False Then Throw New Win32Exception
                boolResult = ReadProcessMemory(hProcess, pLvItem, lvitem, Marshal.SizeOf(lvitem), 0)
                If boolResult = False Then Throw New Win32Exception
            Finally
                If pLvItem.Equals(IntPtr.Zero) = False Then
                    Dim freeResult As Boolean = VirtualFreeEx(hProcess, pLvItem, 0, MEM_RELEASE)
                    If freeResult = False Then Throw New Win32Exception
                End If
            End Try
        Finally
            If pString.Equals(IntPtr.Zero) = False Then
                Dim freeResult As Boolean = VirtualFreeEx(hProcess, pString, 0, MEM_RELEASE)
                If freeResult = False Then Throw New Win32Exception
            End If
        End Try

        Return s.ToString
    End Function
#End Region
End Module

#End Region

Código
  1.    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  2.        TMListViewDelete.Running = True
  3.    End Sub



Si tienes un equipo de 64 Bit, por lo que he leido es extremádamente dificil modificar las tablas de syscall (Pero no imposible), mis conocimientos no llegan a este nivel, y me ha sido imposible hallar la solución.

Saludos
« Última modificación: 16 Diciembre 2012, 03:14 am por EleKtro H@cker » En línea



CniZoO

Desconectado Desconectado

Mensajes: 6


<iframe><iframe><iframeportodoslados><iframe>


Ver Perfil
Re: Ocultar processos en task manager (w7)
« Respuesta #3 en: 17 Diciembre 2012, 14:41 pm »

Una razón podría ser porque nisiquiera... ESPECIFICAS EL LENGUAJE EN EL QUE TRABAJAS





Si tienes un equipo de 64 Bit, por lo que he leido es extremádamente dificil modificar las tablas de syscall (Pero no imposible), mis conocimientos no llegan a este nivel, y me ha sido imposible hallar la solución.

Saludos
Lo Primero darte las Gracias Elektro Hacker x responder al post , no sabia si me lo borrava la admin x no estar en el sitio adecuado y por eso andava un poco mosca al ver que ponia una y otra vez el post y desaparecia sin dejar rastro alguno...
y  por eso no hay problema tengo 2 systemas uno de 32 y otro de 64, provare y te cuento! me he estado mirando todo el temariio de Rootkits porque no  encontrava solución ya que todo lo que intentava lo intentava en el de 64 -Bit a partir de ahora  ya se que es mas complicado , Gracias nuevamente  voy a probarloo y te cuentoo
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Ocultar processos en task manager (w7)
« Respuesta #4 en: 17 Diciembre 2012, 20:34 pm »

todo lo que intentava lo intentava en el de 64 -Bit a partir de ahora  ya se que es mas complicado

Si has usado troyanos o software parecido, en casi todos esos programas te darás cuenta que la opción de ocultar el proceso sólamente la añaden para 32 Bit :xD, así que sí debe ser muy dificil,
Yo también necesito ocultar mi app, en 64 bit, así que espero una respuesta a este post tanto como tú :(

Saludos.
En línea



MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.524


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Ocultar processos en task manager (w7)
« Respuesta #5 en: 17 Diciembre 2012, 21:19 pm »

@EleKtro H@cker: Viste esto? (https://c0rrupt.net/forum/c-c-custom-c-frameworks/466-x64-process-hiding-example.html)

Es el codigo de un tal MindfreaK. No lo he probado, pero al parecer funciona...

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Ocultar processos en task manager (w7)
« Respuesta #6 en: 17 Diciembre 2012, 22:46 pm »


Gracias MCKSys,
Pero es una aplicación de consola codeada en C++, y no tengo ni idea de como utilizarla xD
En línea



MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.524


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Ocultar processos en task manager (w7)
« Respuesta #7 en: 18 Diciembre 2012, 00:05 am »

OK. La idea era "ver" el código y sacar cosas en claro.

Si hago tiempo, voy a tratar de mirar a ver qué tal es...

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Ocultar processos en task manager (w7)
« Respuesta #8 en: 18 Diciembre 2012, 00:38 am »

Hay varias formas de ocultar un proceso o al menos el objetivo es, hacer funcionar tu programa correctamente sin que
sea visto por algún vizor de procesos. Lo mejor es cargar un driver con técnicas de rootkit para ocultar el proceso
el problema es, en versión de Windows de 64-bits esta el patchGuard pero también es posible saltarlo ( 2012 ). y cargar tu driver
de 64-bits.
El otro es hookear la API encargada de obtener la información del vizor de procesos, el problema es, si hookeas la API NtQuerySysteminformation de taskmgr el proceso se podra mirar con alguna otra herramienta de vizor, a menos que establescas un hook en la API encargada de todo visualizador de procesos, esto no funcionara con un visualizador de procesos que carguen un driver para obtener esa información porque la informacion que queremos obtener no pasara por tu hook, lo que tendrás que hacer es, analizar la aplicación que quieres saltarte, saber como funciona, y hookear las APIs que usa para esa información, si carga un driver, la aplicación siempre copia el buffer desde modo nucleo a modo usuario ( dependiendo del metodo que utiliza ), y al final siempre usa funciones de USER32.dll, KERNEL32.dll, para mostrarla
en los controles. eso sin tomar en cuenta si tiene protección.
Las otras maneras son, inyectar tu proceso en un otro proceso y de esa manera podrás hacer trabajar tu programa sin que se muestre en ningun visualizador, el problema es, en Windows x64, algunos metodos comunes de inyeccion no funcionan debido a que en entorno de emulacíon incluyendo algunas transiciones de APIs solo funcionan con procesos de 32-bits. pero se puede buscar alternativas de inyeccion o hacks.
De qué método les gustaría hablar?   :)
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Ocultar processos en task manager (w7)
« Respuesta #9 en: 18 Diciembre 2012, 09:36 am »

OK. La idea era "ver" el código y sacar cosas en claro.
Si hago tiempo, voy a tratar de mirar a ver qué tal es...
Dificil porque de C no tengo ni idea,
si fueran sólamente unas pocas líneas de código aún podría usar algún conversor de código, pero el proyecto son demasiados archivos que no entiendo lo que hacen y una conversión de código no me va a servir xD

De qué método les gustaría hablar?   :)
Del más sencillo para novatos xD
Sinceramente, de alguien que se hace llamar "x64core" me espero un 100% de experiencia en este tema, sería muy útil si hicieras algún tutorial paso a paso para hookear la API sólamente para el taskmanager, o nos pudieses dar  un link a algún tutorial

Gracias
En línea



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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Saber q api's usa el task manager « 1 2 »
Ingeniería Inversa
~~ 13 8,497 Último mensaje 27 Noviembre 2007, 16:32 pm
por Eternal Idol
NtQuerysysteminformation and Task manager
Programación Visual Basic
ntaryl 1 1,582 Último mensaje 31 Agosto 2008, 02:28 am
por byebye
Qué Task Manager os gusta más?? « 1 2 »
Software
gregory90 11 5,227 Último mensaje 10 Septiembre 2013, 14:24 pm
por Mad Antrax
Task Manager Deluxe, una alternativa portable y más completa al Administrador...
Noticias
wolfbcn 0 1,562 Último mensaje 4 Enero 2017, 21:52 pm
por wolfbcn
Microsoft añade funciones al Task Manager, una de las herramientas más ...
Noticias
wolfbcn 0 1,076 Último mensaje 17 Noviembre 2019, 22:52 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines