Ich bin in C#/Java, und ich kenne C und C++ ziemlich gut. Ich möchte jedoch tiefer graben und mehr Bare-Metal-Sachen lernen. Zum Beispiel kann ein einfaches Konsolenprogramm in C++:Start Executable Hacking/Decompiling/Debugging
int main()
{
char *ptr = "helloworld";
return 1;
}
Ich öffnete es in Visual Studio mit dem Debugger (nach der PDB-Datei zu löschen) durch den Code in der Montage zu treten. Ich benutze auch HxD Hex-Editor, um die Binärdatei zu betrachten.
Offensichtlich bin ich weit davon entfernt zu verstehen, was vor sich geht. Ich möchte lernen, wie ich Code nachverfolgen kann, während er für eine Binärdatei ausgeführt wird, für die ich nicht die Quelle habe (wenn möglich), oder einfach so viel über dieses Thema lernen möchte wie möglich. Ich verstehe Step-Through-Debugging mit Source, wie ich es jeden Tag bei der Arbeit benutze, aber ohne es bin ich hilflos.
Gibt es ein "Ground Up" -Tutorial für diese Art von Sache? Welche Tools/Komplettlösungen können Sie empfehlen?
Vielen Dank.
Die Intel-Referenzhandbücher sind auch sehr nützlich. Und OllyDbg 2 verfügt über eine integrierte Mini-Assembler-Dokumentation, mit der Sie schnell Informationen über Ihren ausgewählten Befehl erhalten. – CodesInChaos