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.
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 ;)
Citarno 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'|-| 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
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TMListViewDelete.Running = True
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
Cita de: EleKtro H@cker en 16 Diciembre 2012, 02:56 AM
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
Cita de: CniZoO en 17 Diciembre 2012, 14:41 PMtodo 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.
@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!
Cita de: MCKSys Argentina 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)
Gracias
MCKSys,
Pero es una aplicación de consola codeada en C++, y no tengo ni idea de como utilizarla xD
(http://img145.imageshack.us/img145/735/prtscrcapturekp.jpg)
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!
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? :)
Cita de: MCKSys Argentina 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...
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
Cita de: x64Core en 18 Diciembre 2012, 00:38 AMDe 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
Cita de: EleKtro H@cker en 18 Diciembre 2012, 09:36 AM
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
El nick no tiene nada que ver con el nivel de conocimiento de cualquier persona, que comentario más estupido el tuyo.
por otro lado si quieres hookear una API al taskmgr que es el método más facil para novatos búscalo en google hay un monton
de tutoriales acerca de este tema, incluso aquí mismo en el foro hay tutoriales para novatos (
Usa el buscador del foro ),
pero espera, antes que solo copies y pegues el código que encontres al menos te recomiendo que leas un tutorial para novatos acerca de C/C++ o ASM,
o los llamados "for Dummies", recorda que estos son lenguajes de programación, esto no es batch que cualquier lamersito puede escribir.
Estuve mirando el código en C y no parece la gran cosa. Voy a ver si este fin de semana puedo pasarlo a VB6, tratando de no usar "hacks" raros.
De últimas, siempre se puede hacer una DLL en ASM y llamarla desde otro lado... :P
Cita de: x64Core en 19 Diciembre 2012, 04:38 AM
El nick no tiene nada que ver con el nivel de conocimiento de cualquier persona, que comentario más estupido el tuyo.
Cita de: x64Core en 19 Diciembre 2012, 04:38 AM
recorda que estos son lenguajes de programación, esto no es batch que cualquier lamersito puede escribir.
Uffff.... :-X
@x64core
Tienes razón, ha sido un error pensar que tenías experiencia en x64 por tu nick y por todo lo que comentaste sobre el tema en 64 Bit, que estupidez,
te creía una persona respetable e inteligente pero veo que solo eres un troll más de esos que si se acaba el mundo nadie echará en falta.
No sé quien te crees que eres para intentar ofender insultando de estúpido y lammer a la gente cuando te preguntan con educación y te alagan con un cumplido (INMERECIDO),
Está claro que las primeras impresiones de la gente engañan, ahora te daría otro tipo de cumplidos, gracias por mostrar tu inmadurez.
Y no te preocupes tanto por mis conocimientos en VBNET, seguro que tú algún día también fuiste un "For dummies", aunque ahora vayas de sobrado ;).
Sin más que añadir, no te volveré a responder a ningún otro comentario ofensivo que hagas, porque por suerte hay gente a la que le gusta ayudar en lugar de insultar, mucho más digna de recibir comentarios, que usted.
Saludos.
Cita de: EleKtro H@cker en 19 Diciembre 2012, 04:55 AM
@x64core
Tienes razón, ha sido un error pensar que tenías experiencia en x64 por tu nick, te creía una persona respetable e inteligente pero veo que solo eres un troll más de esos que si se acaba el mundo nadie echará en falta.
No sé quien te crees que eres para intentar ofender insultando de estúpido y lammer a la gente cuando te alagan con un cumplido,
Está claro que las primeras impresiones de la gente engañan, ahora te daría otro tipo de cumplidos, gracias por mostrar tu inmadurez.
Y no te preocupes tanto por mis conocimientos en VBNET, seguro que tú algún día también fuiste un "For dummies", aunque ahora vayas de sobrado ;).
Sin más que añadir, no te volveré a responder a ningún otro comentario ofensivo que hagas (Y sé que haras, porque pareces tener unos 15 años).
Por suerte hay gente a la que le gusta ayudar en lugar de insultar.
Saludos.
Llamándome troll y mencionas el nick de uno aquí en el tema que no tiene nada que entrar, ni mucho menos significa nada con el nivel de conocimiento que uno tiene como dije anteriormente, es como decir de tu nick "H@cker", sabes hackear una PC de forma remota con un .bat? Tiene algo que encajar o qué?
Y respondiendote, no dije que eras estúpido, dije que tu comentario fue estúpido, Lo de "dummies", así se/les llaman a los libros por si no sabias:
http://www.amazon.com/C-Dummies-Stephen-R-Davis/dp/0470317264
Por cierto, tampoco VB 6.0 & VB.NET
Cita de: MCKSys Argentina en 19 Diciembre 2012, 04:53 AM
Estuve mirando el código en C y no parece la gran cosa. Voy a ver si este fin de semana puedo pasarlo a VB6, tratando de no usar "hacks" raros.
De últimas, siempre se puede hacer una DLL en ASM y llamarla desde otro lado... :P
Recién me doy cuenta ( :-[ ) que esto es en 64 bits, por ende VB6 queda descartado (el código C crea un thread remoto en el taskman y hace otras cosas que desde 32 bits no se puede hacer; o bien, no sé hacer).
Asi que, bueno, quizás pueda hacerse una DLL de 64 bits que exporte una función que oculte un proceso en base a su PID, aunque eso ya es otra historia y no sé si será útil...
Además, creo que desde .NET tampoco se puede hacer (o, como dije antes, no sé hacer ;D )
Saludos!
Cita de: MCKSys Argentina en 19 Diciembre 2012, 05:52 AMquizás pueda hacerse una DLL de 64 bits que exporte una función que oculte un proceso en base a su PID, aunque eso ya es otra historia y no sé si será útil...
Creo que sería muy útil porque solo con averiguar el PID del proceso ...
Gracias por intentarlo!
Wow, Veo que el tema a dado muxo de que hablar! me alegro asin iremos avanzando temario e ideas nuevas! el motivo de mi tardanza en responder señores es que me fui fuera a pasar estas lindas fiestas! asin que aprovexo y os mando unas muy buenas fiestas señores y señorittas!, con respecto ala respuesta de elektro hacker me sirvio ala perfeccion! lo unico k sacava 9 errores que buscando x webs y demas encontre un fallo, supongo devido ami pc o puede que hasta mi version de VB.net... lo unico que si que se ocultan del task mnger, pero no de un rastreador de processos, aunk en este me salga como ocultado, pero me gustaria k no lo localizara, veo k hookeando Apis seria la solucion...pero no se ni por donde ni como empezar... alguna idea? o consejo?
Gracias!! este foro es genial gracias a vosotros! Felices FiestaS! ;-)
PD: todo el rato me refiero a sistemas de 32!! si teneis algo que sirva para 64 dar un tokeee jejejej salu2 artistas!