Ich schreibe ein Skript für die IDA Pro Disassembler in Python mit dem idapython
Plugin. Damit kann ich die Lücken füllen, in denen IDAs Autoanalyse nicht funktioniert.C++ Name Mangling von Hand
Ein Bereich, der mich ratlos hat, ist die Benennung von Orten/Funktionen mit (aus Mangel an einem besseren Begriff) "hübsche Namen". Ein Beispiel dafür, was ich meine, ist unten dargestellt:
idapython
und IDA Pro selbst nur mir erlauben, grundlegende C-ish Funktionsnamen eingeben. Wenn ich unzulässige Symbole eingabe (z. B. den Scope-Auflösungsoperator), werden sie durch Unterstriche ersetzt. Allerdings, wenn ich einen entstellten Namen von Hand eingeben (z. B. __ZN9IOService15powerChangeDoneEm
), IDA Pro wird verschönern dies für mich.
Daher meine Frage: Wie kann ich mangelnde Namen generieren, um idapython
zu durchlaufen? Gibt es eine Namens-Mangling-Bibliothek? Ist eine in Python verfügbar? Ist meine einzige Hoffnung, die Mangling-Funktionalität aus g++
zu reißen und das zu umgehen?
Ich hoffe es einige doc um das heißt Sie in ... viel Glück aussehen könnte! –