SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: podrrido en Lunes 15 de Enero de 2007, 09:30

Título: Claves En El Registro De Windows Con Asm
Publicado por: podrrido en Lunes 15 de Enero de 2007, 09:30
Hace tiempo e querido programar  esto pero pues no se como ahí le va: como introducir claves en el registro de Windows con ASM para DOS si alguien sabe por favor díganme como, estoy desesperado, se los agradecería, saludos.  :(
Título: Re: Claves En El Registro De Windows Con Asm
Publicado por: Eternal Idol en Lunes 15 de Enero de 2007, 10:34
¿Que te hace pensar que MS-DOS puede modificar el registro del sistema de Windows? Cuando se desarrollo MS-DOS no existia Windows ... para hacer esto necesitas un programa que se ejecute bajo Windows (ejecutable tipo PE) y que use la API del mismo para acceder al registro. Una alternativa seria acceder al archivo que guarda el registro del sistema pero es una tarea demasiado ardua como para valer la pena hacerlo (obviamente que seria "offline" y no mientras Windows este en ejecucion).

¿Que es lo que queres/necesitas exactamente? Se puede hacer con bastante facilidad en asm para Windows ...
Título: Re: Claves En El Registro De Windows Con Asm
Publicado por: podrrido en Martes 16 de Enero de 2007, 06:16
OK entendido, bueno lo que quiero es hacer que en un programa que pueda modificar el registro de Windows o sea que si quiero meter una clave digamos en alfanumérico y obviamente un valor, como se le podría hacer para crear el valor y crear una ruta de un directorio, claro  bajo asm  para Windows  :D
Título: Re: Claves En El Registro De Windows Con Asm
Publicado por: Eternal Idol en Martes 16 de Enero de 2007, 10:18
Necesitas estas funciones de la API de Windows para las claves RegCreateKeyEx, RegOpenKeyEx, RegCloseKey y RegSetValueEx para los valores.

http://msdn2.microsoft.com/en-us/library/ms724875.aspx (http://msdn2.microsoft.com/en-us/library/ms724875.aspx)

Si usas MASM32 es mucho mas facil ya que tiene todas las funciones y constantes definidas. Abrimos una clave del registro y la cerramos:

Código: Text
  1.  
  2. .386
  3. .model flat, stdcall
  4. option casemap:none
  5.  
  6. includelib advapi32.lib
  7.  
  8. HKEY_LOCAL_MACHINE equ 80000002h
  9. KEY_ALL_ACCESS equ 0F003Fh
  10.  
  11. RegCreateKeyExA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
  12. RegCloseKey PROTO :DWORD
  13.  
  14. .data
  15.   KeyName db "Software\Microsoft"
  16.   hKey dd 0
  17. .code
  18.   main:
  19.      invoke RegCreateKeyExA, HKEY_LOCAL_MACHINE, offset KeyName, 0, 0, 0,
  20.  
  21. KEY_ALL_ACCESS, 0, offset hKey, 0
  22.      .if hKey
  23.        invoke RegCloseKey, hKey
  24.      .endif
  25.   ret
  26. end main
  27.  
  28.  
Título: Re: Claves En El Registro De Windows Con Asm
Publicado por: podrrido en Miércoles 17 de Enero de 2007, 20:30
Que bien :kicking: , creo que con eso entiendo como funciona la modificación de registro de Windows, claro con asm win32, garcías por todo Eternal Idol, saludos a todos los de el foro nos vemos luego  :D
Título: Re: Claves En El Registro De Windows Con Asm
Publicado por: Eternal Idol en Miércoles 17 de Enero de 2007, 21:34
Cita de: "podrrido"
Que bien :kicking: , creo que con eso entiendo como funciona la modificación de registro de Windows, claro con asm win32, garcías por todo Eternal Idol, saludos a todos los de el foro nos vemos luego  :D
De nadas  B)