Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: EAX_ en 13 Septiembre 2010, 03:06 am



Título: Agregar registro en C++ [Devcpp]
Publicado por: EAX_ en 13 Septiembre 2010, 03:06 am
 Hola, estoy un poco complicado tratando de agregar un registro de tipo REG_BINARY. No soy para nada experto en el lenguaje, pero creo que está agregandolo como ASCII, osea, lo que ponga lo convierte a HEX y el valor del registro queda mal.

 estoy agregandolo así:
Código:
         HKEY hkey;
         RegOpenKeyEx (HKEY_LOCAL_MACHINE,"System\\",0,KEY_SET_VALUE,&hkey);
         RegSetValueEx(hkey,"Value",0,REG_BINARY,VALORENHEX,sizeof(VALORENHEX));        
         RegCloseKey(hkey);

 Cómo hago para agregarlo como hex?
 Gracias de antemano..


Título: Re: Agregar registro en C++ [Devcpp]
Publicado por: Eternal Idol en 13 Septiembre 2010, 10:30 am
¿Que es lo que queres escribir EXACTAMENTE en ese valor (¿System\Value?)?

Nadie convierte nada en ningun momento RegSetValueEx recibe un BUFFER, despues como lo muestre un programa tipo el RegEdit es otra historia. Es dificil saber que estas escribiendo sin que nos dejes VALORENHEX.


Título: Re: Agregar registro en C++ [Devcpp]
Publicado por: EAX_ en 13 Septiembre 2010, 17:03 pm
 Necesito escribir "dc 05 00 00" y no sé como hacerlo.

 Saludos (:


Título: Re: Agregar registro en C++ [Devcpp]
Publicado por: Eternal Idol en 13 Septiembre 2010, 17:41 pm
Con el codigo que ya tenes:

Código
  1. BYTE VALORENHEX[] =
  2. {
  3.  0xDC, 0x05, 0x00, 0x00
  4. };



Haciendo el casting correspondiente y el ampersand (&) para obtener la direccion de la variable podrias usar esto:
Código
  1. DWORD VALORENHEX = 0X05DC;



Título: Re: Agregar registro en C++ [Devcpp]
Publicado por: EAX_ en 13 Septiembre 2010, 17:44 pm
 Funcionó! Ahora, podrías explicarme así de manera simple qué es:

Código
  1. DWORD VALORENHEX = 0X05DC;

 Gracias


Título: Re: Agregar registro en C++ [Devcpp]
Publicado por: Eternal Idol en 13 Septiembre 2010, 18:14 pm
Es lo mismo en realidad, en lugar de un array de 4 BYTES, un DWORD (que son 4 bytes justamente).