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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11
41  Programación / Programación C/C++ / Re: Ayuda convirtiendo puntero void a unsigned char y obtener su valor en: 5 Octubre 2014, 20:21 pm
Código
  1. //Intento 1: Al parecer no me da el valor que quiero
  2. void *ptr;
  3. unsigned char temp;
  4. temp = (unsigned char *) &ptr;
  5.  

hola, y si pruebas así..

Código
  1. void *ptr;
  2. unsigned char *temp;
  3. temp = (unsigned char *) ptr;
  4.  


Sobre el intento 2, yo hice algo así y me funciono :

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.  
  7.    int x=5;
  8.    void *ptr;
  9.    ptr=&x;
  10.    unsigned char temp;
  11.    temp = *(unsigned char*)ptr;
  12.    printf("Apunte a :%c \n",temp);
  13.  
  14. }
  15.  
  16.  


Gracias por ofrecerme tu ayuda, pero lo probé, y en mi caso particular no funciono. La funcion es la siguiente: (La postearé para que si alguna otra persona quiere ayudarme):

Código
  1. int callback(unsigned int event, void *ptr, void *ptr_additional, void *ptr_file){
  2.    unsigned char temp;
  3.  
  4.    switch (event){
  5.        case event_trash_byte_found_in_code:
  6.  
  7.            //Aqui hago lo que me dijiste
  8.            temp = (unsigned char *) ptr;
  9.            show_prefixe((FILE *) ptr_file, temp);
  10.            fprintf((FILE *) ptr_file, "(reported by callback!!)\n");
  11.            break;
  12.        case event_instruction_decoded:
  13.  
  14.            ///Aqui hago lo que me dijiste
  15.            temp = (unsigned char *) ptr_additional;
  16.            fprintf((FILE *) ptr_file, "A instruction found!! 0x%x\n", temp);
  17.  
  18.            switch(temp){
  19.                case general_opcode_push:
  20.                    fprintf((FILE *) ptr_file, "push exx \n");
  21.                    break;
  22.                case general_opcode_pop:
  23.                    fprintf((FILE *) ptr_file, "pop exx \n");
  24.                    break;
  25.                case general_opcode_inc:
  26.                    fprintf((FILE *) ptr_file, "inc exx \n");
  27.                    break;
  28.                case general_opcode_dec:
  29.                    fprintf((FILE *) ptr_file, "dec exx \n");
  30.                    break;
  31.            }
  32.  
  33.            break;
  34.        default:
  35.            break;
  36.    }
  37. }
  38.  

Básicamente es una funcion, que dependiendo según sea un caso u otro, toma una decision. Show_prefixe recibe el byte temp, y lo imprime en un fichero. Creo que sería algo demasiado tedioso leer todo mi codigo (el cual es bastante extenso)

Bueno, gracias por tu ayuda. Lo intentaré nuevamente a haber si fue que seguí mal algun paso de los que me has dado.
42  Programación / Programación C/C++ / Ayuda convirtiendo puntero void a unsigned char y obtener su valor en: 5 Octubre 2014, 19:52 pm
Hola, amigos. ¿Como les ha ido? Tengo solo algunos conocimientos sobre el lenguaje C (No conozco mucho sobre C++).

Debido a eso tengo el siguiente problema: Tengo un puntero void que quiero convertir a unsigned char y obtener su valor (todo en la misma linea). Sin embargo, no he podido. ¿Será que alguien me puede ayudar?

Este es el codigo que tratado de hacer (Ya sé que ptr no apunta a ningun lado, pero es solo explicativo):

Código
  1.  
  2. //Intento 1: Al parecer no me da el valor que quiero
  3. void *ptr;
  4. unsigned char temp;
  5. temp = (unsigned char *) &ptr;
  6.  
  7. //Intento 2: El compilador no lo acepta.
  8. void *ptr
  9. unsigned char temp;
  10. temp = (unsigned char) *ptr;
  11.  
  12.  

Ya he buscado por internet, pero no entiendo mucho sobre como hacer lo que expliqué antes. (El tema de los punteros se vuelve un poco enredado. XD).

Se supone que al aplicar * delante de un puntero, él debería devolver su valor. Entonces por qué el compilador no me acepta la segunda opcion???

Gracias a todos de antemano.
43  Programación / ASM / Re: ¿Como decodificar x86 opcodes apropiadamente? en: 4 Octubre 2014, 19:38 pm
Gracias cpu2 por tu ayuda. Bueno, si al parecer no hay otro método, seguiré por esa linea. Ah, en cuanto al byte Mod R/M ya he leído algo, específicamente he aprendido que puede estar embebido dentro del opcode en algunas ocasiones.

E incluso, (si no me equivoco), una parte del opcode, puede ir dentro del mod R/M. Bueno, seguiré leyendo más sobre x86 en los manuales de Intel.

Gracias por clarificarme de nuevo las cosas sobre Mod R/M.
44  Sistemas Operativos / GNU/Linux / Re: ¿Que sistema operativo basado en Linux recomendais? en: 3 Octubre 2014, 03:38 am
Y que tal Debian??? No soy un usuario muy asiduo de linux, pero he oído buenas criticas de él. E incluso si no me equivoco el mismismo Ubuntu derivó de Debian.

Bueno, uno que he probado es Tiny Core Linux, que es un linux para ordenadores viejos. XD. No sé si te será útil, tiene buena pinta, al menos para computadores viejos.

La opcion más fáctible que veo sería Ubuntu. O debian.
45  Programación / ASM / Re: ¿Como decodificar x86 opcodes apropiadamente? en: 3 Octubre 2014, 03:10 am
Hola gracias a todos por sus respuestas. Por favor, ¿será que me pueden decir un método que sea rápido y eficiente para reconocer opcodes de un byte? He estado tratando que saber si ciertos bits están activados, y en ese caso reconocer si es un opcode valido (en ese caso se podría generalizar la instrucción push, descartando e ignorando los tres últimos bits).

He estado intentando con hacer un AND entre una máscara de bits (que selecciona cuáles bits debe considerar) y el byte a verificar si es opcode, y luego comparar el resultado con el opcode general.

Por ahora me ha dado algunos resultados, pero seguiré probandolo. ¿Será que alguien me puede decir si estoy procediendo de la mejor forma? ¿O habrá otra mejor?

Ah, reconocer opcodes de 16 bits no me interesa mucho, estoy centrado en 32 bits. Realmente solo quiero hacer un desensamblador que me reconozca las instrucciones de 32 bits, al menos las más usadas.

Gracias a todos de antemano.
46  Programación / Programación C/C++ / Re: ¿¿¿Como saber si ciertos bits están activados?? en: 2 Octubre 2014, 04:22 am
Gracias por tu ayuda. Lo probaré luego y te comentaré los resultados. Supongo que si tengo algún problema puedo volver al foro, ¿o no.?

Ah, una duda, en la parte que dice

Código
  1. if((mascara & numeroMalo) != patron){
  2.  
  3. cout << "bueno 2 \n";
  4.  
  5. }else{
  6.  
  7. cout << "malo 2 \n";
  8.  
  9. }
  10.  
  11.  

No debería decir:

Código
  1.  
  2. if((mascara & numeroMalo) == patron){
  3.  
  4. cout << "bueno 2 \n";
  5.  
  6. }else{
  7.  
  8. cout << "malo 2 \n";
  9.  
  10. }
  11.  
  12.  
  13.  
  14.  

Creo que se te escapó un error. XD. O si no, explicame por favor porque el ultimo if-else no sigue la logica del primero.

Gracias por tu ayuda.
47  Seguridad Informática / Análisis y Diseño de Malware / Re: ¿Todavía un motor metamorfico en malware tiene sentido hoy? en: 2 Octubre 2014, 03:06 am
Bueno, iré haciendo mis avances para ver si logro conseguirlo. XD.
48  Programación / Programación C/C++ / Re: ¿¿¿Como saber si ciertos bits están activados?? en: 2 Octubre 2014, 02:48 am
Oye, ¿¿podrías explicarme con un ejemplo en C/C++?? Es que no tengo muy claro como podría colocar eso dentro de un if (en otras palabras, no entiendo como eso disparará el if solo cuando cierto patron de bits estén al comienzo del byte)

49  Programación / Programación C/C++ / ¿¿¿Como saber si ciertos bits están activados?? en: 2 Octubre 2014, 02:37 am
Hola, estoy creando un programa que necesita identificar un cierto patron de bits al inicio del byte. Por ejemplo: Si byte comienza con 10100xxx, ir al codigo tal.

Espero que haya explicado bien mi problema. La idea es saber si ciertos bits dentro de un byte están activados, e ignorar el resto. No sé como lograr eso. Quiero lograr comparar, por ejemplo, los primeros cinco bits contra un patron conocido. No quiero identificar solo un bit, quiero identificar un grupo de ellos.

Gracias por su ayuda.
50  Seguridad Informática / Análisis y Diseño de Malware / Re: ¿Todavía un motor metamorfico en malware tiene sentido hoy? en: 2 Octubre 2014, 01:54 am
Tienes razón Shout. Pero al menos debería existir algo introductorio para quienes se inician en el mundo del malware. Bueno, gracias por tu respuesta.

Páginas: 1 2 3 4 [5] 6 7 8 9 10 11
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines