Gibt es einen Disassembler (nicht nur einen Live-Debugger), der IDA in seinen Fähigkeiten überlegen ist? IDA ist wunderbar, und es ist erstaunlich, wie robust und nützlich es für das Reversing ist. Allerdings ist es ziemlich teuer, um es richtig zu lizenzieren. Gibt es irgendeine brauchbare Alternative, oder hat IDA das Monopol auf diesem Markt?
Ich erwarte nicht, dass eine Alternative so gut ist wie IDA, ich suche nur nach anderen Optionen, die vielleicht erschwinglicher und nützlich genug sind.
EDIT: Vorzugsweise sollte es Multiplattform-Unterstützung geben, obwohl das optional ist. MIPS, ARM, x86 und x86-64 wären schön, aber ein Disassembler, der jede dieser Plattformen unterstützt, ist eine gute Option, die man kennen sollte.
Wenn Sie nach einem Konkurrenten suchen, glaube ich, dass ImmunityDebugger und OllyDbg zum Teil für [tag:dynamic-analysis] und Hopper zum Teil für [tag:static-analysis] konkurrieren können.
Es gibt jedoch eine große Lücke zwischen den Möglichkeiten, die Sie mit der oben genannten Software und IDA erhalten.
IDA Pro ist mit seinen Fähigkeiten ziemlich einzigartig und wenn Sie das Hex-Rays Decompiler Plugin in die Gleichung einbeziehen, sieht es für die Möchtegern-Konkurrenten düster aus. Für gelegentliches Disassemblieren und sogar etwas Dekompilieren scheint Hopper jedoch eine gute Wahl für alle zu sein, die nicht bereit sind, Hunderte von Dollar für IDA Pro auszugeben. Wenn Sie einen Freiflug wollen, ist radare2 wahrscheinlich die nächste Wahl, aber es ist etwas gewöhnungsbedürftig.
Nachdem ich meine erste IDA Pro Standard Lizenz als Student bekommen habe, muss ich zugeben, dass der Preis sehr hoch ist, aber es ist jeden Cent wert. Als ich anfing, professionell mit RCE-bezogenen Dingen zu arbeiten, habe ich zuerst auf die normale Lizenz und später auf IDA Pro Advanced upgegradet, um die x64-Unterstützung zu erhalten.
Denken Sie auch daran, dass es eine Freeware-Version von IDA mit Lizenzbeschränkungen (aber geeignet für Hobbyisten oder Studenten) und Einschränkungen der Fähigkeiten gibt.
Ich habe vor kurzem [Hopper] (http://www.hopperapp.com/) verwendet, und während es nicht bis zu dem Niveau IDA ist, ist es wirklich überraschend anspruchsvoll, besonders wenn man bedenkt, was es kostet. Seine Hauptplattform ist OS X, aber es gibt auch Versionen für Linux und Windows. Die OS X-Version hat auch eine gdb-Integration, so dass Sie es als Debugger verwenden können.
Das erste Tool, das mir einfällt, ist Hopper, das nicht mehr an OSX gebunden ist. Es hat einige Debugging-Unterstützung (zumindest auf OSX), aber konzentriert sich auf statische Analyse, die wie das scheint, was Sie suchen.
Es bietet die Möglichkeit, grundlegende Blöcke in einen Kontrollflussgraphen zu zerlegen, rudimentäre Dekompilierungsunterstützung, und man kann Funktionen umbenennen, wenn man sie für sinnvoll erachtet. Vielleicht kann jemand, der es anstelle von IDA verwendet, einen besseren Vergleich anstellen, ich habe nur kurz herumgespielt.
Außerdem ist die kostenlose Version von IDA ziemlich leistungsfähig und einen Blick wert, wenn Sie es noch nicht ausprobiert haben.