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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6 7 8 9 10
11  Programación / Programación C/C++ / Problema Función "OpenProcess" en: 2 Febrero 2013, 19:06 pm
Al llamar a la función OpenProcess(PROCESS_ALL_ACCESS, 0, pid) esta me devuelve NULL es decir no es capaz de abrir el proceso. Utilizando la función getLastError() esta me devuelve 5, es decir, problemas Administrativos por lo que tengo entendido (Lectura, Escritura). La cosa esta en como puedo solucionar esto para que si me sea posible obenter el proceso??

Nota: Estoy utilizando Microsoft Visual Studio C++ y Windows 8.

Para que se hagan una mejor idea aqui les dejo mi codigo:

Código
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <Windows.h>
  4.  
  5. using namespace std;
  6.  
  7. int _tmain(int argc, _TCHAR* argv[])
  8. {
  9.  
  10. HWND hwnd = FindWindow(0, _T("NOMBRE_VENTANA"));
  11.  
  12. HANDLE hProcess;
  13.  
  14. DWORD pid;
  15.  
  16. if (!hwnd) {
  17. cout << "ERROR 1\n\n";
  18. } else {
  19. GetWindowThreadProcessId(hwnd, &pid);
  20.  
  21. cout << "PID = " << pid << "\n\n";
  22.  
  23. hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, pid); //PROBLEMA AQUI!!!
  24.  
  25. if (!hProcess) {
  26.                        cout << "ERROR = " << GetLastError() << "\n\n"; //OBTENEMOS ERROR = 5 (PRIVILEGIOS)
  27. } else {
  28. cout << "PROCESS OPENED\n\n";
  29.  
  30.                        //GESTIONAR...
  31. }
  32.  
  33. CloseHandle(hProcess);
  34.  
  35. }
  36.  
  37. cin.get();
  38. return 0;
  39. }
  40.  

A ver si alguien puede echarme una mano pues no se como salir adelante...
Saludos y gracias de antemano!!
12  Programación / Java / Re: Can't load IA 32-bit en: 30 Enero 2013, 17:13 pm
Logre solucionar el problema modificando el java SDK de NetBeans a 32 bits.
Para los que les suceda lo mismo lo que hice fue modificar el valor de la variable: "netbeans_jdkhome"  del archivo "DIRECTORIO_NETBEANS\etc\netbeans.conf" por su correspondiente por el JDK que deseo utilizar, en mi caso : "C:\Program Files (x86)\Java\jdk1.7.0_11"
13  Programación / Java / Can't load IA 32-bit en: 30 Enero 2013, 15:31 pm
Buenas! Veran, estaba siguiendo el tutorial del usuario Leyer para crear un Keylogger mediante JNI una vez tengo todo preparado y listo ejecuto el codigo y me manda el siguiente mensaje de Error:

Código:
Exception in thread "main" java.lang.UnsatisfiedLinkError: D:\RAT\Keylogger.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
at java.lang.Runtime.loadLibrary0(Runtime.java:845)
at java.lang.System.loadLibrary(System.java:1084)
at extras.Keylogger.<clinit>(Keylogger.java:8)
at extras.Main.main(Main.java:14)

La verdad no tengo ni idea de como solucionarlo y despues de haber googleado bastante sigo sin encontrar la solucion, el problema esta en intentar cargar la libreria y estoy usando la que Leyer ofrece en su ejemplo y una que yo mismo he compilado siguiendo sus instrucciones y obtengo el mismo problema...
14  Programación / Java / Re: sencilla duda con .NullPointerException , en: 16 Enero 2013, 03:21 am
Tu error esta en la Clase B, tu problema es que claramente estas haciendo un print de un objeto de Clase A al cual en tu codigo tu llamas p y no lo estas inicializando, la solucion seria esta:

ClaseA:
Código
  1. public class ClaseA {
  2.  
  3.    public int x[];        
  4.    public ClaseB c;
  5.  
  6.    public ClaseA (){        
  7.        x = new int[2];        
  8.        for (int i=0; i<x.length; ++i){
  9.            x[i]= i;
  10.        }            
  11.        c= new ClaseB(x[1], this);  
  12.        mostrar();    
  13.    }    
  14.  
  15.    public void mostrar(){        
  16.        c.calcu();
  17.       c.mostrarenClase();              
  18.       System.out.println(c.a );    
  19.  
  20.    }
  21.  
  22.    public static void main (String args[]){      
  23.        ClaseA p = new ClaseA();
  24.  
  25.    }    
  26. }

Clase B:
Código
  1. public class ClaseB {
  2.    public int a;
  3.    public ClaseA p ;
  4.  
  5.    public ClaseB(int x, ClaseA p){
  6.        this.a= x;          
  7.        this.p = p;
  8.    }
  9.  
  10.    public void calcu(){
  11.        a++;        
  12.    }
  13.  
  14.    public void mostrarenClase(){        
  15.        System.out.println(p.x[1]);
  16.    }          
  17. }

Es decir, en el momento en que tu mandas que se muestre p.x[1] estando dentro de la Clase B estas haciendo referencia a un atributo de la Clase A por tanto para poder mostrar ese atributo debes antes haber inicializado la variable cosa que haces en las lineas 7, 8, 9 tu problema esta en que para poder mostrar este atributo la Clase A debes poder acceder a la Clase A, la forma de hacerlo es pasando la Clase A en el momento en que creas la Clase B (linea 11) y la forma de pasarla es pasandose a ella misma, por eso el "this", con esto todo el contenido "public" de la Clase A sera accesible por tu Clase B.

Espero haberme explicado...  :xD
15  Programación / Java / Re: Ayuda con código (aprendiendo java) en: 14 Enero 2013, 00:45 am
Suponiendo que el metodo setAtr4(); debas pasarle como parametro un short lo que debes hacer es:

Código
  1. dos.setAtr4((short)(dos.getAtr4()+dos.getAtr4()*x/100f));

La f es para que la division la efectue como un float y no pierdas precision y despues de hacer toda la operacion castear a short tal y como digo... No se si funcionara...  ;D
16  Programación / Java / Re: Evitar bloqueo del metodo read() de un objeto Socket en java/j2me en: 12 Enero 2013, 01:31 am
Fijate en que al aplicar el metodo readInt() lo que hago es leer un numero entero. Aqui te dejo la parte del codigo del servidor para que se envien los bytes:

Código
  1.    public void sendBytes (byte[] bytes) {
  2.        try {            
  3.            synchronized (dos) {
  4.                int start = 0, len = bytes.length;
  5.                if (len < 0) {
  6.                    throw new IllegalArgumentException("Negative length not allowed");
  7.                } if (start < 0 || start >= bytes.length) {
  8.                    throw new IndexOutOfBoundsException("Out of bounds: " + start);
  9.                }
  10.                dos.writeInt(len);
  11.                if (len > 0) { dos.write(bytes, start, len); }                    
  12.            }
  13.        } catch (IOException ex) { System.out.println("Error sending bytes"); }
  14.    }

Lo que hago es primero mandar el tamaño del array de bytes al cliente (numero entero), luego el cliente lee el tamaño del array y crea por tanto un array de ese tamaño (lineas 7 y 8 codigo 1) luego el servidor manda todo el array de bytes para que el cliente pueda leerlo mediante el metodo readFully(). El error que tu me comentabas se debe a que supongo no entendiste el funcionamiento del codigo que te puse y le mandaste directamente los bytes sin especificar antes el tamaño. Espero que ahora si lo hayas entendido  ;)
17  Programación / Java / Re: Tablas avanzadas en JTable de swing en Java en: 5 Enero 2013, 02:02 am
me robaron el correo hace mucho tiempo tal vez por que puse mi correo publico en internet ; y alguna herramienta ,de alguien que es amigo de las cosas ajenas, decido que  seria divertido robarme el correo tal vez estén spaneando con mi correo vendiendo artículos porno y biagara

Que mentalidad tan positiva tienes sapito, estoy sorprendido  :-X.
18  Programación / Java / Re: Evitar bloqueo del metodo read() de un objeto Socket en java/j2me en: 5 Enero 2013, 01:58 am
Si lo que quieres es comprobar si tu objeto Socket o bien InputStream o OutputStream estan disponibles me temo que lo que deberias utilizar es synchronized.  Y por lo que respecta al boqueo tengo el mismo problema pero creo que se puede solucionar estableciendo un tiempo limite a la transmision, algo como en caso de que no recibas datos en 1000 ms entonces seguir ejeutando codigo pero esto no lo he probado...

Un ejemplo de synchronized de un codigo mio...

Código
  1.    public byte[] readBytes (Socket socket) {
  2.        byte[] data = null;
  3.  
  4.        try {
  5.            DataInputStream dis = new DataInputStream(socket.getConnection().getInputStream());
  6.            synchronized (dis) {
  7.                int len = dis.readInt();
  8.                data = new byte[len];        
  9.                if (len > 0) dis.readFully(data);            
  10.            }
  11.        } catch (IOException ex) { System.out.println("Error reading input bytes"); }
  12.        return data;
  13.    }

No se si es esto lo que buscabas exactamente, ya me diras... Un saludo y felices fiestas!
19  Sistemas Operativos / Windows / Re: Que es un .EXE exactamente?? en: 29 Diciembre 2012, 20:34 pm
Hmm, gracias me informare al respecto, se puede entonces crear un archivo .EXE que sea una especie de archivo comprimido que contenga el contenido de una aplicacion mediante esas herramientas? Si no me equivoco, este es el caso de los Software de controladores no ?? (He abierto algunos con WinRAR y de ahi esta pregunta).

Gracias por vuestras respuestas!
20  Sistemas Operativos / Windows / Que es un .EXE exactamente?? en: 29 Diciembre 2012, 19:21 pm
Pues eso, he hecho alguna aplicacion en C y VB y he visto que se crean los tipicos ejecutables .EXE de windows. Por otro lado con la programacion en java he hecho alguna aplicacion y compilado en formato .JAR. Pues bien, resulta que un .JAR como muchos ya sabran no es mas que un .ZIP la pregunta es entonces, un .EXE tiene alguna relación con .ZIP o .RAR ?? He visto que es posible abrir un .EXE con WinRAR... quiere decir eso que puedo crear un .EXE indicando que incluya un archive que indique las acciones que debe realizar al ejecutar el archive y listo como si fuera un .JAR con un archivo MANIFEST.MF??

Corrijanme si me equivoco y en caso de estar en lo cierto, como se haria esto??
PD: FELIZ NAVIDAD!!
Páginas: 1 [2] 3 4 5 6 7 8 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines