Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: oskoa en 27 Diciembre 2010, 20:54 pm



Título: Escribir valor binario en registro
Publicado por: oskoa en 27 Diciembre 2010, 20:54 pm
Estuve viendo algo, antes de publicar:

http://foro.elhacker.net/programacion_vb/introducir_valor_binario_en_registro_usando_vb_script-t196741.0.html;msg934974

Aunque de todas formas lo que quiero es parecido (puede incluso que sea eso, y de necio que soy no me doy cuenta), no es exactamente lo que me falta.

Quiero escribir un valor REG_BINARY en VB 6.0, precisamente este valor:

(http://www.picture.cl/images/kik.jpg)

Lo único que sé es que tengo que usar esto: SetBinaryValue

Alguna ayuda?  :huh: Gracias.

NOTA: hace 6 meses que no toco VB y me olvide de todo :S



Título: Re: Escribir valor binario en registro
Publicado por: BlackZeroX en 27 Diciembre 2010, 21:14 pm
Debes de pasar el puntero del indice menor de un array byte ( Lbound() ) con el API.

Código
  1.  
  2. Declare Function RegSetValueExA Lib "advapi32.dll" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByRef lpData As Long, ByVal cbData As Long) As Long
  3.  
  4.  
Código
  1.  
  2. rtn = RegSetValueExA(hKey, Entry, 0, REG_BINARY, byval varptr(ByteArray(lbound(ByteArray))), TamañoArray)
  3.  
  4.  

Ejemplo:

Código
  1.  
  2. Dim ByteArray() As Byte
  3.    ByteArray = Strings.StrConv("", vbFromUnicode)
  4.    rtn = RegSetValueExB(hKey, Entry, 0, REG_BINARY, byval varptr(ByteArray(LBound(ByteArray))), IIf(LBound(ByteArray) = 0, 1, 0) + UBound(ByteArray))
  5.    '   //  Aun que al usar StrConv() se puede obvia el Indice menor de esta manera
  6.    rtn = RegSetValueExB(hKey, Entry, 0, REG_BINARY, byval varptr(ByteArray(0)), UBound(ByteArray) + 1)
  7.    MsgBox "La longirud es de: " & IIf(LBound(ByteArray) = 0, 1, 0) + UBound(ByteArray)
  8.  
  9.  

Obviamente hayq ue abrir el registro con las apis RegOpenKeyEx y cerralo despues con RegCloseKey

P.D.: No puese el ejemplo completo ya que lo demas es una jalada que encuentras en la MSDN.

Temibles Lunas!¡.


Título: Re: Escribir valor binario en registro
Publicado por: oskoa en 27 Diciembre 2010, 23:18 pm
Muchas gracias, ahoira lo pruebo.