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


 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección.


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderadores: Karcrack, [Zero])
| | |-+  Insertar .jar en el registro para auto-ejecución al inicio de Windows!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Insertar .jar en el registro para auto-ejecución al inicio de Windows!  (Leído 3,433 veces)
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Insertar .jar en el registro para auto-ejecución al inicio de Windows!
« en: 31 Enero 2013, 04:22 »

Hola compañeros, hace tiempo que no me paso por esta sección del foro y ahora os traigo una duda relativa a un proyecto que estoy desarrollando.

Estoy desarrollando una herramienta de control remoto de la cual requiero que se ejecute al iniciar Windows. Esta herramienta esta desarrollada en Java, por lo que es un archivo con extensión .jar una vez compilado el código (ya me entendéis con "compilador" :P).

Yo lo hago de la siguiente forma:

-Accedo al registro de Windows mediante la herramienta de sistema regedit.exe
-Busco el directorio de claves "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run"
-Añado una nueva clave de registro, como por ejemplo:
Código:
java -jar "C:\Midirectorio\nombreArchivo.jar"

La idea es hacerlo desde la propia aplicación, que en principio no es mi gran problema ahora mismo, pues existe una API para poder realizar dicha tarea.

Entonces ocurre algo que no esperaba, me lanza mi aplicación, que en principio no tiene GUI, pero sin embargo es visible porque se ejecuta en una ventana de consola de sistema tipo DOS.
Hay alguna manera de ejecutarlo en quiet-mode u ocultar dicha ventana?
Este tema me trae de cabeza.
A resumidas cuentas, mi pregunta es:
-Como podría ejecutar un jar al iniciar windows, de forma invisible? (al menos en el escritorio, ya que, se que se vería en la lista de procesos y la máquina virtual, levantaría sospechas)

Además se me ocurre otro problema, una vez alguien haya descargado mi aplicación, deseo que esta se mueva a otro directorio, menos accesible para el usuario. Técnicamente, como puedo lograr esto? No puedo mover mi aplicación si esta se está ejecutando, además de que no tengo nada con que moverlo, porque, no es técnicamente imposible que se mueva a si misma?

Muchísimas gracias por vuestro tiempo :)

Un cordial saludo!
En línea

Elemental Code


Desconectado Desconectado

Mensajes: 622


Im beyond the system


Ver Perfil
Re: Insertar .jar en el registro para auto-ejecución al inicio de Windows!
« Respuesta #1 en: 31 Enero 2013, 06:00 »

mmm hace que tu programa la esconda, osea no se como funcionara en java, pero tenes que tener apis para manejar ventanas :P
En línea

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Insertar .jar en el registro para auto-ejecución al inicio de Windows!
« Respuesta #2 en: 31 Enero 2013, 11:14 »

No se si esto es del todo posible, porque la ventana en sí no pertenece a la instancia de Java, osea que es la consola la que instancía a Java!

Gracias por tu tiempo :)
En línea

0xDani


Desconectado Desconectado

Mensajes: 1.078



Ver Perfil
Re: Insertar .jar en el registro para auto-ejecución al inicio de Windows!
« Respuesta #3 en: 31 Enero 2013, 15:33 »

En cuanto a lo de moverte a otro directorio, es perfectamente posible. Abres el archivo de tu programa, lo metes en un buffer, lo borras, abres otro archivo en el directorio que quieras, metes el contenido del buffer en el archivo que has creado y voila!

Y en cuanto a iniciar la ventana en modo oculto, seguramente tendras alguna API, o alguna opcion en el registro o en la propia VM de Java. Y si no en Linux se usa un truco, que es crear un proceso hijo, y que el proceso hijo mate al padre, haciendo que se cierre la ventana, y despues ya operar con el proceso hijo.

Saludos.
En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Insertar .jar en el registro para auto-ejecución al inicio de Windows!
« Respuesta #4 en: 1 Febrero 2013, 12:15 »

Muchas gracias, me informaré pues :)

Respecto a lo de moverse a otro directorio, si guardo el programa en un buffer, al cerrarlo lo perdería, no? Sugieres que lo haga con dos ejecutables?

Saludos
En línea

0xDani


Desconectado Desconectado

Mensajes: 1.078



Ver Perfil
Re: Insertar .jar en el registro para auto-ejecución al inicio de Windows!
« Respuesta #5 en: 1 Febrero 2013, 15:25 »

Muchas gracias, me informaré pues :)

Respecto a lo de moverse a otro directorio, si guardo el programa en un buffer, al cerrarlo lo perdería, no? Sugieres que lo haga con dos ejecutables?

Saludos

No, guardas el programa en un buffer y luego lo vuelcas a otro archivo. Si es necesario coambias la clave del registro para que ejecute ese otro archivo.

Ejemplo en C:

Código
  1. #include <stdio.h>
  2.  
  3. int main(int argc, char **argv)
  4. {
  5. FILE *f = fopen(argv[0], "rb");    /* Abrirte a ti mismo*/
  6. fseek(f, 0, SEEK_END);             /* Obtener el tamaño del archivo*/
  7. long long fileSize = ftell(f);
  8. fseek(f, 0, SEEK_SET);
  9.  
  10. char *buffer = malloc(fileSize); /* Reservar memoria para el buffer*/
  11.  
  12. fread(buffer, 1, fileSize, f);       /* Leer el archivo y meterlo al buffer*/
  13. fclose(f);
  14.  
  15. f = fopen("/Ruta/a/la/que/quieres/moverte", "wb"); /* Escribir el contenido del buffer en el
  16.                                                             nuevo archivo*/
  17. fwrite(buffer, 1, fileSize, f);
  18. fclose(f);
  19.  
  20. remove(argv[0]);    /* Borrar el antiguo archivo*/
  21. return 0;
  22. }
  23.  
  24.  
« Última modificación: 1 Febrero 2013, 16:05 por 0xDani » En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
burbu_1

Desconectado Desconectado

Mensajes: 156


hamen gaoz


Ver Perfil
Re: Insertar .jar en el registro para auto-ejecución al inicio de Windows!
« Respuesta #6 en: 1 Febrero 2013, 17:23 »

no sé de java.... pero por hablar que no quede  :laugh: :laugh:
igual te sirve para ocultar la consola

Citar

lo que comenta 0xDani, si no entiendo mal, es copiarse en vez de mover el archivo en ejecución. Y una vez copiado, puedes iniciar el nuevo proceso con parámetros para terminar el original, o usar algún melt desde el original...
Citar
, o con shellexecute, inyección....

saludos
En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Insertar .jar en el registro para auto-ejecución al inicio de Windows!
« Respuesta #7 en: 3 Febrero 2013, 03:27 »

Vuestras respuestas han sido excelentes!
Han desvelado mis ideas!
Confirmo, el comando:
Código:
START /B java.exe -jar aplicacion.jar
Consigue ejecutar en segundo plano la aplicación!

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines