Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: zukwa en 14 Julio 2006, 14:04 pm



Título: Buscando Un Código...
Publicado por: zukwa en 14 Julio 2006, 14:04 pm
Hola,
Estoy buscando un código que se ponga en el VB, para que al reiniciar el PC, se autoejecute el programa donde s ele inserto el código..
Tb busco, otro que desabilite el regedit, y el administrador de tareas, y para rematar borrar la opción restaurar sistema.
Gracias.

ZuKKo


Título: Re: Buscando Un Código...
Publicado por: LaN en 14 Julio 2006, 14:30 pm
En un programa que tengo yo hecho para mantener segura la red lo tengo.

Arrancar con Windows:
Código:
Set PorDefecto = CreateObject("WScript.Shell")
PorDefecto.regWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\" & app.EXEname, App.Path & "\" & App.EXEName & ".exe"

Para deshabilitar apps: Basándote en su caption, obtienes su handle y con ello el proceso, si el caption coincide con por ejemplo "Administrador de tareas de Windows" lo cierras usando su handle:
En modAPIs
Código:
'DECLARACION DE APIS
Public Declare Function GetForegroundWindow Lib "user32" () As Long
Public Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

Yo lo hice así, añadiendo un list todas las ventanas activas...:
Código:
Private Sub timSeguridad_Timer()
'VARIABLES
Dim handle, Longitud, Retorno As Long
Dim Titulo As String
'IDENTIFICACION DE VENTANAS
handle = GetForegroundWindow()
Longitud = GetWindowTextLength(handle) + 1
Titulo = Space(Longitud)
Retorno = GetWindowText(handle, Titulo, Longitud)
Titulo = Left(Titulo, Longitud - 1)
If (Titulo <> UltimaVentana) And (Titulo <> "") Then
lstVentanas.AddItem (Titulo)
UltimaVentana = Titulo
    If Comprobar(Titulo) = True Then
    'SI CONTIENE PALABRAS PROHIBIDAS MANDAMOS LOS COMANDOS. CREA L FUNCION COMPROBAR QUE DIGA QUE SI EL TITULO ES "Administrador de tareas de Windows" QUE LA CIERRE
End If
End If
End Sub

¿Como cerrarla? Éste lo he sacao del www. EN un módulo
Código:
Private Declare Function OpenProcess Lib "kernel32" (ByVal _
dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" _
(ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" _
(ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject _
As Long) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" _
   (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function CloseWindow Lib "user32" (ByVal hwnd As Long) As Long
Const PROCESS_TERMINATE = &H1
Const PROCESS_QUERY_INFORMATION = &H400
Const STILL_ACTIVE = &H103
Public Sub CerrarProceso(CaptionVentana As String)
Dim hProceso As Long
Dim lEstado As Long
Dim idProc As Long
Dim winHwnd As Long
winHwnd = FindWindow(vbNullString, CaptionVentana)
If winHwnd = 0 Then
Exit Sub
End If
Call GetWindowThreadProcessId(winHwnd, idProc)
' Obtenemos el handle al proceso
hProceso = OpenProcess(PROCESS_TERMINATE Or _
PROCESS_QUERY_INFORMATION, 0, idProc)
If hProceso <> 0 Then
' Comprobamos estado del proceso
GetExitCodeProcess hProceso, lEstado
If lEstado = STILL_ACTIVE Then
' Cerramos el proceso
If TerminateProcess(hProceso, 9) <> 0 Then
Else
End If
End If
' Cerramos el handle asociado al proceso
CloseHandle hProceso
Else
    Debug.Print "No se pudo tener acceso al proceso"
End If
End Sub

En un form, el que reciba los comandos..
Código:
If comando(0) = "Cerrar" Then
    CerrarProceso (comando(1))
End if

Si tienes alguna duda...aki andaré


Título: Re: Buscando Un Código...
Publicado por: zukwa en 14 Julio 2006, 15:10 pm
Jojo, Gracias ;)
Pero habia otra forma, lade modificar los valore sdel registro o algo asi!


Título: Re: Buscando Un Código...
Publicado por: LaN en 14 Julio 2006, 19:47 pm
así modificas el registro:
Código:
Set PorDefecto = CreateObject("WScript.Shell")
PorDefecto.regWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\" & app.EXEname, App.Path & "\" & App.EXEName & ".exe"

la instrucción regWrite escribe en el registro, regRead lee, regDelete elimina...etc ;)


Título: Re: Buscando Un Código...
Publicado por: zukwa en 14 Julio 2006, 19:49 pm
Ok, ya entiendo!


Título: Re: Buscando Un Código...
Publicado por: la caca en 14 Julio 2006, 23:02 pm
sisi ta correcto pero acordate que utilizando objetos ("createobject") las heuristicas de los antivirus te detectan tu programa como un virus (excepto AV's tan malos como el AVG jaja si queres uno gratis pone AVAST! o algo asi :p)


Título: Re: Buscando Un Código...
Publicado por: LaN en 15 Julio 2006, 10:49 am
te refieres a VBScript ;)


Título: Re: Buscando Un Código...
Publicado por: zukwa en 15 Julio 2006, 11:41 am
así modificas el registro:
Código:
Set PorDefecto = CreateObject("WScript.Shell")
PorDefecto.regWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\" & app.EXEname, App.Path & "\" & App.EXEName & ".exe"

la instrucción regWrite escribe en el registro, regRead lee, regDelete elimina...etc ;)

estuve probando mi programa, y no se arranca con windows...
:S


Título: Re: Buscando Un Código...
Publicado por: LaN en 15 Julio 2006, 13:34 pm
debería, mira con el regedit a ver si se ha creado correctamente la clave ;)


Título: Re: Buscando Un Código...
Publicado por: zukwa en 15 Julio 2006, 14:15 pm
He mirado, y no se ha creado correctamente, pone:
Clave nueva #1, pincho dentro y no me pone nada :S

EDITADO: Hay copiado una cosa mal Jijii