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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Cuando se ejecute, que se copie a system32
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: Cuando se ejecute, que se copie a system32  (Leído 6,682 veces)
‭lipman


Desconectado Desconectado

Mensajes: 3.062



Ver Perfil WWW
Cuando se ejecute, que se copie a system32
« en: 8 Diciembre 2006, 14:14 pm »

He estado buscando y los codigos que aparecen no me funcionan.

Lo que busco es que cuando se ejecute mi programa, se copie a system32 (el paso ese de que cada vez que se inicie el ordenador se ejecute ya sé hacerlo, solo me falta copiarlo a system32)

Gracias Saludos


En línea

~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: Cuando se ejecute, que se copie a system32
« Respuesta #1 en: 8 Diciembre 2006, 15:31 pm »

Vamos a ver, lo primero q necesitas es obtener la ruta de system32. Puedes hacerlo asi:

En un módulo copiar estas líneas:
Código:
Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Y para obtener la ruta al iniciar el programa y copiarlo:

Código:
Private Sub Form_Load()
Dim Car As String * 128
Dim Longitud, Es As Integer
Dim Ruta As String
   
Longitud = 128
   
    Es = GetSystemDirectory(Car, Longitud)
    Ruta = RTrim$(LCase$(Left$(Car, Es)))

FileCopy App.Path & "\" & App.EXEName & ".exe", Ruta & "\troyano.exe"
End Sub

1S4ludo


En línea

‭lipman


Desconectado Desconectado

Mensajes: 3.062



Ver Perfil WWW
Re: Cuando se ejecute, que se copie a system32
« Respuesta #2 en: 8 Diciembre 2006, 17:22 pm »

No me sale eso  :-(

Me sale el típico error  de ejecución 53 y para colmo todavia no he llegado a la parte del manual que habla de los módulos ^^.

Alguna otra idea?

Gracias

Lo que más me jiode es que el mensaje que me dijiste como hacerlo lo borré =(!!!
En línea

~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: Cuando se ejecute, que se copie a system32
« Respuesta #3 en: 8 Diciembre 2006, 19:59 pm »

Te saldra ese mensaje por q no lo habras compilado, dale a compilar y una vez tienes creado el ejecutable lo ejecutas y veras como se copia...

Un modulo no es mas q un sitio donde puedes escribir funciones q se puedan usar desde todo el proyecto, para añadir uno solo tienes q darle a la flecha del segundo icono de la barra de arriba (el de la izq del selector de menus) y seleccionar modulo  ;)

Veras como ahora si que te funciona  :P
1S4ludo
En línea

WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Cuando se ejecute, que se copie a system32
« Respuesta #4 en: 8 Diciembre 2006, 20:26 pm »

para q pones esta api:
Código:
Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

solo con esta valdria:
Código:
Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Es mejor poner todo en un modolo asi:

Código:
Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Public Function System32() As String
    Dim buf As String
    Dim ret As Long
    buf = String$(260, Chr$(0))
    ret = GetSystemDirectory(buf, Len(buf))
    System32 = Left$(buf, ret)
End Function

y luego llamarla así de fácil:

Código:
Private Sub Form_Load()
FileCopy App.Path & "\" & App.EXEName & ".exe", System32 & "\trojan.exe"
End Sub
En línea

‭lipman


Desconectado Desconectado

Mensajes: 3.062



Ver Perfil WWW
Re: Cuando se ejecute, que se copie a system32
« Respuesta #5 en: 8 Diciembre 2006, 23:37 pm »

Bueno, si si le doy directamente a lo de compilar me funciona pero... bueno ahora voy con el codigo que me dices warghost.

Pongo 100% exactamente eso que me dices, bueno, le doy a iniciar y de primeras me da el error de antes, ese 53..., nada me lo paso por el forro y le doy a compilar, me genera bien el exe..., pero cuando ejecuto el exe...

Bien, me lo copia a system32 pero si me voy a system32 y lo ejecuto allí, me dice, error 70 en tiempo de ejecucion, permiso denegado.

¿Que será eso?

¿Como solucionarlo?

Gracias y saludos
En línea

‭lipman


Desconectado Desconectado

Mensajes: 3.062



Ver Perfil WWW
Re: Cuando se ejecute, que se copie a system32
« Respuesta #6 en: 9 Diciembre 2006, 13:09 pm »

Bueno, tambien acabo de probar el código que me dices E0N y me dice el mismo problema ese 70 de tiempo de ejecucion acceso denegado.

 :-( :-(

Saludos
En línea

~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: Cuando se ejecute, que se copie a system32
« Respuesta #7 en: 9 Diciembre 2006, 13:52 pm »

Citar
para q pones esta api:
Código:
Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Si tienes razon eske lo sake de un proyecto q estaba haciendo en ese momento, q obtenia las dos carpetas y no me di cuenta de borrarlas....

Bueno, tambien acabo de probar el código que me dices E0N y me dice el mismo problema ese 70 de tiempo de ejecucion acceso denegado.

 :-( :-(

Saludos

Ponlo en un timer a ver si es q te lo detecta el AV por euristica... a mi es lo unico q se me ocurre  :huh:

1S4ludo
En línea

WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Cuando se ejecute, que se copie a system32
« Respuesta #8 en: 9 Diciembre 2006, 14:48 pm »

te tiene q dar error esta linea:
Código:
FileCopy App.Path & "\" & App.EXEName & ".exe", System32 & "\trojan.exe"

si lo ejecutas desde vb6 pero si lo compilas no tira error.
En línea

‭lipman


Desconectado Desconectado

Mensajes: 3.062



Ver Perfil WWW
Re: Cuando se ejecute, que se copie a system32
« Respuesta #9 en: 9 Diciembre 2006, 17:11 pm »

Bueno haber que me estoy liando :S, aquí está todo lo que tengo que me habeis dicho..

Modulo:
Código:
Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Public Function System32() As String
    Dim buf As String
    Dim ret As Long
    buf = String$(260, Chr$(0))
    ret = GetSystemDirectory(buf, Len(buf))
    System32 = Left$(buf, ret)
End Function
El formulario:
Código:
Private Sub Form_load()
FileCopy App.Path & "\" & App.EXEName & ".exe", System32 & "\trojan.exe"
End Sub

Si lo dejo así, y le doy a ejecutar, no rula, y si le doy al boton que me aparece de depurar, me indica que el error, es la linea del filecopy...

Si lo compilo se compila..., pero cuando tengo el ***.exe, lo ejecuto con normalidad, bien, pero lo que pasa es que se copia mal.

Porque cuando ejecuto el que se ha copiado a system32, me dice que hay un error 70... ese que os he dicho... bien.

Ahora cambio, el private form load, por lo de private timer1_timer..., hago lo mismo que en el anterior..

Y cuando llego a la parte de ir a system32 a ver si se me ha copiado bien noto una minúscula diferencia, y es que me abre el form, pero me sigue tirando el error y me lo cierra.

=S

De hecho, me acuerdo que hace tiempo lo conseguí, y no tube que crear módulo ni nada, pero eso si, el maldito kav me lo detectaba porque añadia una clave al registro.

Bueno sigo necesitando ayuda Saludos y gracias
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