![]() |
Re: Datei im Ram entschlüsseln
:( Also ich habe nun die entschlüsselte Datei als TMemoryStream vorliegen ... und jetzt?
|
Re: Datei im Ram entschlüsseln
Etwas aus dem Speicher ausführen? Nun da gibt es schon gewisse Probleme. Wenn das eine normale .exe sein soll, musst du das tun, was auch ein Starten aus dem System heraus machen würde: einen Prozess erzeugen, Umgebungsvariablen bereitstellen und dann die main() des Programmes ausführen. Man muss also irgendwie den Code direkt im ram vorliegen haben (oder eben nur den Einsprungpunkt für die main() finden). Am einfachsten müsste das mit einem prozeduralen Aufruf funktionieren, dazu erstellst du eine Variable eines prozeduralen Typs, setzt diesem die richtige Adresse ( Stream.Memory + Offset ) und rufst das ganze auf
( oder mit Assembler PUSH EAX MOV EAX, <address> CALL EAX POP EAX ) Bei 64bit-Systemen gibt es meines Wissens nach das NX-Flag "no execute", welches Codeausführung im Variablenspeicher verbietet, da musst du dann wirklich eine dll mitspeichern, aus dem Stream extrahieren, auf die Platte speichern und mit LoadLibrary zugänglich machen. Viel Spaß ;) |
Re: Datei im Ram entschlüsseln
Habe zwar kein Wort verstanden à la :wiejetzt: aber Danke :D
|
Re: Datei im Ram entschlüsseln
Einfach mit CreateProcess (CREATE_SUSPENDED), GetThreadContext arbeiten, dann alle Sections der EXE im RAM auslesen, diese mittels WriteProcessMemory in den Zielprozess bringen und mittels ProtectMemory ausführbar machen. Dann nurnoch mit SetThreadContext den alten Context wieder setzen und den Mainthread des Prozesses mit ResumeThread wieder fortsetzen.
Gruß Zacherl |
Re: Datei im Ram entschlüsseln
@Zacherl du bringst es ja schon wieder auf den Punkt *g*
|
Re: Datei im Ram entschlüsseln
Könnte meinen letzen Beitrag einfach duplizieren und anstelle von diesem hier benutzen :D
Ich suche mich einfach mal durch |
Re: Datei im Ram entschlüsseln
Warum nur lese ich in letzter Zeit immer häufiger Beiträge in denen Anfänger unbedingt Unternehmungen starten wollen, die weit jenseits ihrer Fähigkeiten und Kenntnisse liegen? Ich geh ja auch nicht hin und sag "heute besteig ich den Mount Everest, nächste Woche flieg ich dann auf den Mond". Na gut, sagen könnte ich das schon, aber realistisch wärs halt nicht :)
Wo sind nur meine Pillen... |
Re: Datei im Ram entschlüsseln
Diese Überschätzung wollte ich mit meinem Beitrag andeuten. Nichtsdesto trotz stimmen die Anweisungen, zu denen man auch bei einer Google Suche entsprechenden Code findet ..
|
Re: Datei im Ram entschlüsseln
Anfänger ist relativ.
Es kommt doch immer darauf an mit was man sich schon beschäftigt hat und was nicht. Ich habe mit solchen Dingen noch nie zu tun gehabt, und das will ich ändern. Zudem will ich eigentlich keinen Code sondern es wirklich verstehen. Ich weis nicht für was dieses ganzen Fnktionen sein sollen. Zudem finde ich in der MSDN nur Beschreibungen was die einzelnen Parameter sind, aber irgendwie nicht wozu genau und was genau diese Funktion macht. |
Re: Datei im Ram entschlüsseln
Vielleicht wäre dann ein Beispielcode genau das richtige für dich, um die Funktionsweise zu verstehen. Die Funktionen der einzelnen APIs lassen sich ja eigentlich schon am Namen erkennen.
Such mal nach Nicos InMemExe! Gruß Zacherl |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz