DLL/REG Cleaner

  • Moin Moin und Hallo,
    ein kollege fragte mich heute ob und wie man unnötige dlls endtarnen kann, kurz Dr. Google gefragt und auch gleich was gefunden...
    Ich dachte mir nun das ganze sollte man doch mit dem Script locker lösen können, aber leider verweigert mir das Script seine Funktion :D
    DIe Datei wird nicht gelöscht und dem entsprechend auch der Registryeintrag auch nicht...
    und selbst die MsgBox die mich über einen Fehler informieren sollte wird nicht ausgelöst ?(
    Ich hoffe mir kann da jemand Helfen ;)

    [autoit]


    ;~ DLLCleaner
    #RequireAdmin

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    For $i = 1 To 2000
    Local $RegEntry = RegEnumVal("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs", $i)
    Local $RegData = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs", $RegEntry)
    If @error <> 0 Then ExitLoop
    If $RegData == "0" And FileExists ( $RegEntry ) Then
    $Success = FileDelete ( $RegEntry )
    $attrib = StringSplit(FileGetAttrib($RegEntry), '')
    $stringSet = '-'
    For $i = 1 To UBound($attrib) -1
    Switch $attrib[$i]
    Case 'R'
    $stringSet &= 'R'
    Case 'H'
    $stringSet &= 'H'
    Case 'S'
    $stringSet &= 'S'
    EndSwitch
    Next
    FileSetAttrib($RegEntry, $stringSet)
    FileDelete($RegEntry)
    If $Success == "0" Then
    MsgBox(0,"Fehler","Datei ("& $RegEntry &")konnte nicht gelöscht werden!")
    ElseIf $Success == "1" Then
    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs",$RegEntry)

    [/autoit][autoit][/autoit][autoit]

    EndIf
    EndIf

    [/autoit][autoit][/autoit][autoit]

    Next

    [/autoit][autoit][/autoit][autoit][/autoit]
  • Ähm du weißt schon was für DLLs unter "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs" angegeben werden oder?

    Wenn diese DLLs löschst wirst du lediglich bewirken das einige Programme nichtmehr laufen.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Dafür ist ja die abfrage ob sie genutzt werden. bei wert 0 haben sie keine funktion mehr und können weg.... zumindest hab ich mir diese information so aus m netzt gezogen ^^

    ich lass mich aber gern eines besseren belehren!

  • Alles klar ;)

    aber das problem hätte ich trozdem gern gelöst ;) einfach um zu wissen woran es liegt... haste da evt auch ne idee?

  • Ich weiß nicht ganz genau, wo die DLLs liegen, aber vermutlich musst du auch der Dateibesitzer sein; wichtige Systemdateien kann auch ein Admin nicht löschen, er muss sich erst die Rechte von "TrustedInstaller" beschaffen.
    Auch wenn Windows potentiell unsicher ist, wag ich mal arg zu bezweifeln, dass du das per Script lösen kannst.

    Dieses Sicherheitsfeature wurde ja extra eingefügt, damit auch Programme die mit Admin-Rechten laufen (wie ja z. B. fast jeder Installer), nicht einfach irgendwelchen Scheiß bauen können.

    Widerstand ist Zwecklos!

    Meine Projekte: Kizzys Controller, 2nd Desktop und Versteckte Dateien Assistent
    Meine Downloadwebsite .