Underc0de - Hacking y seguridad informática

Programación General => Visual Basic => Códigos Fuentes => Mensaje iniciado por: ANTRAX en Julio 26, 2010, 02:01:01 pm

Título: Registar extension con todas las de la Ley
Publicado por: ANTRAX en Julio 26, 2010, 02:01:01 pm
Código: Visual Basic
  1. 'LLamada a las Api de Windows (advapi32)
  2. Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
  3. Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
  4. 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
  5. 'Constantes
  6. Const HKEY_CLASSES_ROOT = &H80000000
  7. Const REG_SZ = 1 'Valor de cadena
  8. Public Res As Long
  9.  
  10. 'IconFile -Dirección del icono que va a tener la extensión.
  11. 'ExeFile -Dirección del programa con que se va abrir la extensión.
  12. 'ProgramName -Nombre con que se idectifica el programa.
  13. 'Extension - Extension que se va a registrar Ejemp Jpg (sin el pto)
  14. 'ExtensionDescripcion -La descripción del extension que se mostrara
  15. 'en el explorador Ejem "Winrar Archive" (Este es el caso de *.rar extesion del Winrar)
  16. Public Sub registrarExtension(ByVal IconFile As String, ByVal ExeFile As String, ByVal ProgramName As String, ByVal Extension As String, ByVal ExtensionDescripcion As String)
  17. On Error GoTo Fin
  18. Dim SubKey As String, I As String, E As String
  19. SubKey = Extension
  20. 'Crea la primera clave en el registro,por ejemplo .jpg con valor jpgPaint
  21. I = IconFile
  22. RegCreateKey HKEY_CLASSES_ROOT, "." & SubKey, Res
  23. RegOpenKey HKEY_CLASSES_ROOT, "." & SubKey, Res
  24. RegSetValueEx Res, "", 0, REG_SZ, ByVal SubKey & ProgramName, Len(SubKey & ProgramName)
  25.  
  26. 'Crea la segunda clave en el registro,por ejemplo jpgPaint con valor jpgPaint
  27. RegCreateKey HKEY_CLASSES_ROOT, SubKey & ProgramName, Res
  28. RegOpenKey HKEY_CLASSES_ROOT, SubKey & ProgramName, Res
  29. RegSetValueEx Res, "", 0, REG_SZ, ByVal ExtensionDescripcion, Len(ExtensionDescripcion)
  30.  
  31. 'Crea la primera subclave en el registro llamada DefaultIcon,con la ruta del icono seleccionado D:\RegExt\Cube 2.ico O C:\AS.EXE,1
  32. RegCreateKey HKEY_CLASSES_ROOT, SubKey & ProgramName & "\DefaultIcon", Res
  33. RegOpenKey HKEY_CLASSES_ROOT, SubKey & ProgramName & "\DefaultIcon", Res
  34. RegSetValueEx Res, "", 0, REG_SZ, ByVal I, Len(I)
  35.  
  36. 'Crea la segunda y tercera subclaves en el registro llamadas open\command,con la ruta del programa seleccionado. Ejem: C:\AS.EXE,1
  37. E = ExeFile & " %1"
  38. RegCreateKey HKEY_CLASSES_ROOT, SubKey & ProgramName & "\shell\open\command", Res
  39. RegOpenKey HKEY_CLASSES_ROOT, SubKey & ProgramName & "\shell\open\command", Res
  40. RegSetValueEx Res, "", 0, REG_SZ, ByVal E, Len(E)
  41. Fin:
  42. End Sub