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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  crear, modificar y eliminar registros de regedit
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: crear, modificar y eliminar registros de regedit  (Leído 3,221 veces)
Dark_Knight

Desconectado Desconectado

Mensajes: 97



Ver Perfil
crear, modificar y eliminar registros de regedit
« en: 13 Junio 2007, 22:52 pm »

hola

alguien me puede decir como consultar un registro de regedit..

kisiera que con un codigo.. analizar un registro y que el nombre del registro me aparezca en una caja de texto....

por ejemplo

si el registro es asi

hola reg_sz 1234

en la caja de texto kisiera que me apareciera esto...

1234

como le hago?

tambien alguien me puede decir como creo y modifico registros DWORD...

ya que me gustaria crear algun registro DWORD y darle algun valor... pero tambien buscar algun registro DWORD y cambiarle el valor...

por ejemplo, si un DWORD tiene 1.. y quiero cambiarle a 2.. como lo hago?... o si tiene alguna direccion como escribirle otra.. etc.

tambien como elimino registros...

una forma sencilla de crear registros " string" es

dim sys
dim reg
reg = ("WScript.Shell")
reg.write "hkey\***\***\***\" & "nombre",sys & "nombre2"

bueno no recuerdo bien pero era algo asi...

hay alguna forma sencilla como esta para crear registro como los que necesito y modificarlos tambien...

o necesito utilizar la api`s RegOpenKeyEx y otras

porque ya lo intente con esas pero no lo logre... me pueden ayudar diciendome como manejo registro desde esa api o con algun codigo que uds conozcan

espero su respuesta

gracias  ;D




« Última modificación: 13 Junio 2007, 23:26 pm por Dark_Knight » En línea

El hombre no puede crear nada sin antes dar algo a cambio... para crear... algo del mismo valor debe perderse.... esa es la ley de la equivalencia de intercambio... y el que desafie esa ley se convertira en un desafio de las creencias del ser humano y de la existencia de dios....
kabukiman

Desconectado Desconectado

Mensajes: 50


The Visual basic Scriptkiddie


Ver Perfil
Re: crear, modificar y eliminar registros de regedit
« Respuesta #1 en: 14 Junio 2007, 12:59 pm »

Te recomiendo que utilices el api de windows para tocar el registro las declaraciones basicas son

Código:
Public Declare Function RegQueryValue Lib "advapi32.dll" Alias "RegQueryValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As Long
Public Declare Function RegEnumKey Lib "advapi32" Alias "RegEnumKeyA" (ByVal hKey As Long, ByVal iSubKey As Long, ByVal lpszName As String, ByVal cchName As Long) As Long
Public Declare Function RegOpenKey Lib "advapi32" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpszSubKey As String, phkResult As Long) As Long
Public Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long

las consantes basicas
Código:
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_CLASSES_ROOT = &H80000000


y las operaciones basicas son


Código:
RegOpenKey HKEY_LOCAL_MACHINE, "llave que quieras abrir (SOFTWARE\Microsoft\Windows\CurrentVersion\Run)", h
valor = "c:\windows..."
RegSetValueEx h, "nombre del valor(prueba)", 0, 1, ByVal valor, Len(valor)
RegCloseKey h

y para borrar la clave anterior


Código:
RegOpenKey HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", h

RegDeleteValue h, "nombre del valor antrior"

RegCloseKey h


« Última modificación: 14 Junio 2007, 13:07 pm por kabukiman » En línea

Dark_Knight

Desconectado Desconectado

Mensajes: 97



Ver Perfil
Re: crear, modificar y eliminar registros de regedit
« Respuesta #2 en: 17 Junio 2007, 01:27 am »

hola

gracias por la respuesta.. pero ahora como le hago para revisal algun registro

se hace con RegQueryValue... pero como?..

cada vez que lo intento se cierra visual basic...

talvez lo hago mal.... pero lo que quiero es revisar un registro y que me aparezca en una caja de texto

por ejemplo si en un registro me aparece esto...

UIHost  REG_SZ logonui.exe

kisiera que en una caja de texto de visual me apareciera esto...

logonui.exe

pero como lo hago

espero su respuesta

gracias  ;D

En línea

El hombre no puede crear nada sin antes dar algo a cambio... para crear... algo del mismo valor debe perderse.... esa es la ley de la equivalencia de intercambio... y el que desafie esa ley se convertira en un desafio de las creencias del ser humano y de la existencia de dios....
kabukiman

Desconectado Desconectado

Mensajes: 50


The Visual basic Scriptkiddie


Ver Perfil
Re: crear, modificar y eliminar registros de regedit
« Respuesta #3 en: 20 Junio 2007, 12:55 pm »

a ver colega  ;D te explico como lo hago yo a continuación esto sería una función que te delvolvería si exisite la llave

Código:
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
public Const REG_SZ = 1& 'para saber si es alfanumerico

Código:

private function is_key_registered()as boolean

Dim buffer as string
Dim lngType as long
Dim lngBuff as long

buffer = Space$(256)

lngBuff = len(buffer)

RegOpenKey HKEY_LOCAL_MACHINE,"SOFTWARE\Microsoft\Windows\CurrentVersion\Run",h

ret = RegqueryValueEx (h,"nombredelvalor",0,lngType,ByVal buffer,lngBuff)

RegCloseKey h

if ret = 0 and lngType = REG_SZ and lngBuff>1 then
is_key_registered = true

else
is_key_registered = false
end if

'puedes acceder al valor haciendo por ejemplo
'un msgbox del buffer y te enseñará el valor

end function


espero que te sirva  :¬¬

si tienes algun problema dilo  :huh:

hasta luego
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
REGEDIT eliminar todos los registros posibles « 1 2 »
Seguridad
mateo777 10 11,309 Último mensaje 13 Junio 2011, 14:21 pm
por skapunky
CREAR UN EXPEDIENTE CLÍNICO EN C++ QUE SE PUEDA MODIFICAR , ELIMINAR Y ACTUALIZA
Programación C/C++
dedil jin 1 3,173 Último mensaje 22 Diciembre 2012, 12:34 pm
por Danyfirex
[BATCH] Modificar Registros Fichero por script
Scripting
xavima 5 6,756 Último mensaje 7 Mayo 2013, 09:38 am
por xavima
Eliminar registros repetidos dejando 1
Bases de Datos
Shell Root 2 3,511 Último mensaje 20 Septiembre 2013, 05:11 am
por Shell Root
Ayuda! Al modificar o eliminar registros no abre el archivo .dat
Programación C/C++
qwertyui 3 2,561 Último mensaje 23 Mayo 2016, 20:04 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines