Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Hendrix en 9 Marzo 2006, 16:56 pm



Título: [Programa] Desinstalador de parches de seguridad en Windows XP
Publicado por: Hendrix en 9 Marzo 2006, 16:56 pm
Weno, este programa lo que ahce es desinstalar los parches de seguridad de Windows. Les dejo el kode:

Código:
Const ERROR_NO_MORE_ITEMS = 259&
Const HKEY_CURRENT_CONFIG = &H80000005
Const HKEY_LOCAL_MACHINE = &H80000002
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) 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 RegEnumKeyEx Lib "advapi32.dll" Alias "RegEnumKeyExA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, lpcbName As Long, ByVal lpReserved As Long, ByVal lpClass As String, lpcbClass As Long, lpftLastWriteTime As Any) As Long
Private Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, lpcbValueName As Long, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long

Private Sub Wait(ByVal nSec As Integer)

    t1 = Second(Now)
    t2 = t1 + nSec
    Do
        DoEvents
    Loop While t2 > Second(Now)
End Sub


Sub matar()
For i = 0 To List1.ListCount - 1
Shell ("C:\WINDOWS\$NtUninstall" & List1.List(i) & "$\spuninst\spuninst.exe"), vbHide
Wait (5)
SendKeys ("{ENTER}")
Wait (90)
Next
End Sub


Private Sub Form_Load()
    'KPD-Team 2001
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    Dim hKey As Long, Cnt As Long, sName As String, sData As String, Ret As Long, RetData As Long
    Const BUFFER_SIZE As Long = 255
    'Set the forms graphics mode to persistent
    Ret = BUFFER_SIZE
    'Open the registry key
    If RegOpenKey(HKEY_LOCAL_MACHINE, "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP", hKey) = 0 Then
        'Create a buffer
        sName = Space(BUFFER_SIZE)
        'Enumerate the keys
        While RegEnumKeyEx(hKey, Cnt, sName, Ret, ByVal 0&, vbNullString, ByVal 0&, ByVal 0&) <> ERROR_NO_MORE_ITEMS
            'Show the enumerated key
           List2.AddItem Left$(sName, Ret)
            'prepare for the next key
            Cnt = Cnt + 1
            sName = Space(BUFFER_SIZE)
            Ret = BUFFER_SIZE
        Wend
        'close the registry key
        RegCloseKey hKey
    Else
        Me.Print "  Error while calling RegOpenKey"
    End If
   
    For i = 0 To List2.ListCount - 1
   
    If RegOpenKey(HKEY_LOCAL_MACHINE, "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2", hKey) = 0 Then
        'Create a buffer
        sName = Space(BUFFER_SIZE)
        'Enumerate the keys
        While RegEnumKeyEx(hKey, Cnt, sName, Ret, ByVal 0&, vbNullString, ByVal 0&, ByVal 0&) <> ERROR_NO_MORE_ITEMS
            'Show the enumerated key
           List1.AddItem Left$(sName, Ret)
            'prepare for the next key
            Cnt = Cnt + 1
            sName = Space(BUFFER_SIZE)
            Ret = BUFFER_SIZE
        Wend
        'close the registry key
        RegCloseKey hKey
    Else
        Me.Print "  Error while calling RegOpenKey"
    End If
    Wait (1)
    matar
    Wait (120)
    Next
    End
   
End Sub

Hay kode que no es mio, me lo paso kizar en otro post.

Weno, nota para los mas expertos, Si ven algun fallo diganlo porfa.... ;) ;) ;)

Salu2

Hendrix



Título: Re: [Programa] Desinstalador de parches de seguridad en Windows XP
Publicado por: NYlOn en 10 Marzo 2006, 04:29 am
Corriganme por favor si estoy equivocado, pero yo tengo entendido que las calves en el registro acerca de las actualizaiones son solo para mantener una cuenta. Es decir que aunque no figure la actualizacion en el registro, la actualizacion va a seguir estando ahi...

 :huh:


Título: Re: [Programa] Desinstalador de parches de seguridad en Windows XP
Publicado por: Gorky en 10 Marzo 2006, 12:44 pm
Corriganme por favor si estoy equivocado, pero yo tengo entendido que las calves en el registro acerca de las actualizaiones son solo para mantener una cuenta. Es decir que aunque no figure la actualizacion en el registro, la actualizacion va a seguir estando ahi...

 :huh:

No se si llevaras razon o no pero, ¿que mas dara que la actualizacion este o no? Lo importante es que no se le aplique al usuario.


Título: Re: [Programa] Desinstalador de parches de seguridad en Windows XP
Publicado por: Hendrix en 10 Marzo 2006, 15:06 pm
El programa lo que hace es buskar la ruta del programa de DESINSTALACION del parche y luego lo ejekuta....

Salu2

Hendrix