VisualStudio-Debugger frühstmöglich anhängen



  • Gibt es eine Möglichkeit, den Debugger direkt nach dem Mappen das PE-Images in den Speicher anzuhängen und den Prozess zu stoppen? Also direkt bei Aufruf des Einsprungspunktes. Es waren ja ursprünglich im PE-Format in den LoaderFlags zwei Bits dafür vorgesehen, die aber entweder reserviert oder obsolet sind und somit auch nicht funktionieren. 😕
    Die Funktion "Neu starten" hat zwar ähnlichen Effekt, aber das Programm, das ich "Debuggen" will ist recht schlüpfrig und beendet sich sofort wieder.



  • mach ne endlosschleife so früh wie möglich

    bool bla=true;
    while(bla);
    

    wenn du dich im debugger dranhängst, kannst du "bla" false setzen und durchsteppen.

    rapso->greets();

    ansonsten würd ich es gleich im debugger starten (mit f10)



  • Ja, bei eigenen Programmen hätte ich einfach einen DebugBreak-Aufruf an den Anfang gesetzt, aber es handelt sich um ein Fremdprogramm(Adware oder schlimmeres), dessen Absichten ich näher ergründen will. Wenn man es startet, macht es irgendwas, beendet sich aber nach etwa einer Sekunde wieder und so schnell kann ich nicht den Debugger anhängen 🙂



  • Kannst Du vielleicht ein Programm schreiben, das dieses Programm aufruft? Dann hängste Dich in Dein Programm rein und verfolgst das. Müßte doch gehen, oder?



  • Gute Idee, ich hab es mit CreateProcess und dem CreationFlag CREATE_SUSPENDED gemacht, konnte den Debugger dann einhängen und den Hauptthread des Programms weiterlaufen lassen.
    Das Programm hat versucht, den Code für einen RemoteThread in explorer.exe zu schreiben, konnte dies aber aufgrund der fehlenden Rechte nicht. Im Injectcode wurde in einer Schleife nach dem Prozess "FreePhone.exe" gesucht und gegebenenfalls gestartet. Es scheint also nur das Hilfsprogramm von irgendeinem anderen Mist zu sein. Die Datei FreePhone.exe oder sonstigen Unrat konnten Scanprogramme nicht finden. Naja, ich hab ja auch schon ein Telefon 😉

    Danke für die Hilfe 😉


Anmelden zum Antworten