-1

Ich lerne über Reverse Engineering auf Windows. Ich folgte Reverse Engineering and Function Calling by Address. Ich habe diese Quelldemo nicht heruntergeladen. Ich schreibe einfach eine kleine C++ Konsole auf und debugge sie selbst mit Ollydbg oder xdbg64. Nur um zu wissen, wie der Windows Stack funktioniert.Assembly & Symbol der EXE-Datei von Visual Studio wurden nach dem Build für Debug-Zwecke entfernt

Ich habe enable /DEBUG and choose Debug on Configuration auf App-Eigenschaften Seite.

Ich lief App.exe und es funktioniert gut. Ich debugge mit Ollydbg, es kann normal laufen, aber both disassembly and symbol of the exe are gone or missing. Also kann ich es nicht debuggen.

Also was muss ich in Visual Studio 2017 tun/konfigurieren, damit ich meine einfache C++ - Konsole mit externen Debugger wie Ollydbg oder x64dbg debuggen kann?

+0

Was ich weiß ist, dass x64dbg ein Debug-Tool für Windows war, finde ich keine Möglichkeit, es in Visual Studio zu verwenden, es sei denn, Sie möchten x64dbg Plugin in VS erstellen: https://github.com/mrfearless/x64dbg -plugin-template-for-Visual-Studio oder kompilieren Sie es wie dieses Video: https://vimeo.com/213004417.Wenn Sie nur eine VC++ - App in VS debuggen, wäre es besser, wenn Sie detaillierte Informationen über das eigentliche Problem bereitstellen könnten, vielleicht wäre ein Screenshot besser. Wenn Sie ein Symbol für VS ++ erhalten möchten, können Sie das Debug-Modul-Fenster oder hier: https: //msdn.microsoft.com/en-us/library/ms241613.aspx in VS. –

+0

Ya, eigentlich folge ich diesem https://www.codeproject.com/Articles/29527/Reverse-Engineering-and-Function-Calling-by-Addres. Aber ich lade die Quelldemo nicht herunter. Also schreibe ich die kleine C++ - Konsole auf und mache das von mir selbst rückgängig. Aber Danke @ JackZhai-MSFT. Das über x64dbg Plugin scheint für mich interessant, und ich werde versuchen, zuerst Debug-Modul von VS zu sehen. Danke Jack. –

+0

Das Debug-Modul Fenster würde Sie teilen, wo/ob der Debugger die Symbole in VS IDE während der Debugging-Zeit geladen hat. Wie auch immer, wenn Sie die neuesten Informationen erhalten, können Sie es hier teilen. –

Antwort

0

Die folgenden Schritte arbeitete für mich mit Visual Studio 2017:

  1. Erstellen Sie ein leeres C++ Projekt.
  2. Fügen Sie den von Ihnen bereitgestellten Quellcode hinzu.
  3. Gehen Sie zu Ihren Projekteigenschaften, wählen Sie Debugging.
  4. ändern Befehl-c:\x64dbg\release\x96dbg.exe (man beachte die), das beginnt x32dbg.exe oder x64dbg.exe auf Ihrer ausführbaren Architektur abhängig.
  5. ändern Command Arguments-"$(ProjectPath)" arg1 arg2 wo $(ProjectPath) der vorherige Inhalt von Befehl und arg1 arg2 ist der bisherige Inhalt Befehlsargumente.
  6. Debuggen Sie die ausführbare Datei, indem Sie das Programm ohne Debugging starten (Ctrl+F5). Wenn Sie den Debugger wie gewohnt starten, werden Sie x64dbg selbst debuggen, was wahrscheinlich nicht das ist, was Sie wollen.

Es gibt keine wirkliche Integration mit x64dbg und Visual Studio, das beginnt einfach mit den richtigen Argumenten x64dbg Ihre Anwendung von Visual Studio zu debuggen und Sie würden viel besser durch das Laden der Anwendung in x64dbg einmal und dann manuell bedient werden geladen es für Low-Level-Debugging.

0

Aktivieren Sie den Debug-Modus nicht, wenn Sie in olly-DBG debuggen möchten. Der Debug-Modus dient zum Debuggen im Visual Studio. In diesem Modus können Sie den Namen der Variablen sehen und das Programm Zeile für Zeile ausführen. Der Name der Linie und der Rebsorten haben in olly-DBG keine Bedeutung. Es ist besser, dass Sie nicht im Debug-Modus kompilieren.

Sie können Ihren Code nicht sehen, weil Sie Ihr Programm bei winmain nicht pausieren.

Zum option>Debugging option>Events und wählen Make first pause at:>WinMain (if location is known)

hoffen, dass es Ihnen helfen.

Verwandte Themen