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)
| | | | |-+  REG_BINARY
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: REG_BINARY  (Leído 7,994 veces)
Kizar


Desconectado Desconectado

Mensajes: 1.325


kizar_net


Ver Perfil
Re: REG_BINARY
« Respuesta #10 en: 2 Marzo 2006, 20:41 pm »

Pensé que usabas los espacios (01 00 14 80 90)

Ya no les uso porke el editor hexadecimal no me les pone.

EL codigo esta bastante correcto, solo hay un fallo:
Código:
For I = 1 To (Len(strData) \ 2) Step 2
      btData(I) = Val("&H" & Mid$(strData, I, 2))
Next

En ese codigo solo se va llenando la mitad de las partes de un array.
I = 1, I = 3, I = 5
Y los que quedan sin valor en el array les guarda como (00) y desfigura el code.

Salu2


En línea

.Slasher-K.

Desconectado Desconectado

Mensajes: 79


Ver Perfil
Re: REG_BINARY
« Respuesta #11 en: 2 Marzo 2006, 21:27 pm »

Cierto, es que fue copy paste del code anterior casi. Crea una variable iCnt y aumentala en 1 cada iteracción de bucle.

Código:
     Dim iCnt%

  ...

  For ... ....
    btData(iCnt)= ....
    iCnt=iCnt+1
  Next
  ...


En línea

Kizar


Desconectado Desconectado

Mensajes: 1.325


kizar_net


Ver Perfil
Re: REG_BINARY
« Respuesta #12 en: 4 Marzo 2006, 16:15 pm »

El codigo que estoy usando para guardar es este:
Citar
Const REG_SZ = 1 ' Unicode nul terminated string
Const REG_BINARY = 3 ' Free form binary
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private 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
Private 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

'Private Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long) As Long
Private Declare Function RegQueryValueExByte Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, szData As Byte, ByRef lpcbData As Long) As Long

Sub SaveStringLong(hKey As Long, strPath As String, strValue As String, strData As String)
    Dim Ret As Long, btData() As Byte, I As Long, B As Long
    RegCreateKey hKey, strPath, Ret
    ReDim btData(Len(strData) \ 2) As Byte
    For I = 1 To (Len(strData) \ 2) Step 2
      btData(B) = Val("&H" & Mid$(strData, I, 2))
      B = B + 1
    Next
    RegSetValueEx Ret, strValue, 0, REG_BINARY, btData(0), Len(strData) \ 2
    RegCloseKey Ret
End Sub

Private Sub Command1_Click()
        SaveStringLong HKEY_CURRENT_USER, "S", "Security", "01001480900000009C000000140000003000000002001C000100000002801400FF010F00010100000000000100000000020060000400000000001400FD01020001010000000000051200000000001800FF010F0001020000000000052000000020020000000014008D01020001010000000000050B00000000001800FD01020001020000000000052000000023020000010100000000000512000000010100000000000512000000"
End Sub

Pero me guarda la primera mitad de los valores, el resto me lo llena de 0´s no se donde puede estar el fallo...

Salu2
En línea

.Slasher-K.

Desconectado Desconectado

Mensajes: 79


Ver Perfil
Re: REG_BINARY
« Respuesta #13 en: 4 Marzo 2006, 20:03 pm »

Código:
    For I = 1 To Len(strData)  Step 2

    Next

Cambia Len(strData) \ 2 por Len(strData)
En línea

Kizar


Desconectado Desconectado

Mensajes: 1.325


kizar_net


Ver Perfil
Re: REG_BINARY
« Respuesta #14 en: 4 Marzo 2006, 22:57 pm »

Ya esta, ya funciona todo perfectamente, muchas gracias  Slasher Kepper ;D

Salu2 k1z4r
En línea

Kizar


Desconectado Desconectado

Mensajes: 1.325


kizar_net


Ver Perfil
Re: REG_BINARY
« Respuesta #15 en: 4 Marzo 2006, 23:47 pm »

Ya que estamos en este tema:
¿Porque no me deja el registro crear esta clave, ni desde el regedit ni desde mi programa?

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_KIZAR

Es que estoy creando un modulo que registra un servicio, pero sin escribir esa clave no puedo hacerlo y e visto que otros programas como el iunes o el kaspersky pueden hacerlo. ¿que permisos hay k tener, yo en mi equipo soy administrador....

Salu2
En línea

Gorky


Desconectado Desconectado

Mensajes: 770



Ver Perfil WWW
Re: REG_BINARY
« Respuesta #16 en: 5 Marzo 2006, 14:11 pm »

Juraria haber respondido esto antes pero no se donde ha ido a parar. Bueno el caso.

Esa clave solo puede ser modificada por SYSTEM. Sin embargo si te pones encima de

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root

y le das a permisos... puedes agregarte a ti mismo. Lo he conseguido a mano pero no se como se hara en VB.
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines