Findes der en disassembler (ikke kun en live debugger), der er bedre end IDA med hensyn til muligheder? IDA er vidunderlig, og det er ret fantastisk, hvor robust og brugbart det er til reverseing. Det er dog ret dyrt at få en ordentlig licens til. Er der nogle levedygtige alternativer, eller har IDA monopol på dette marked?
Jeg forventer ikke, at et alternativ er lige så godt som IDA, jeg leder bare efter andre muligheder, som måske er mere overkommelige og nyttige nok.
EDIT: Der bør helst være understøttelse af flere platforme, men det er valgfrit. MIPS, ARM, x86 og x86-64 ville være rart, men en disassembler, der håndterer en hvilken som helst af disse, er en god mulighed at kende til.
Hvis du leder efter en konkurrent, tror jeg, at ImmunityDebugger og OllyDbg kan konkurrere delvist om [tag:dynamic-analysis] og Hopper delvist om [tag:static-analysis].
Når det er sagt, er der en stor forskel mellem de muligheder, man får med ovennævnte software og IDA.
IDA Pro er ret unik med sine muligheder, og hvis man tilføjer Hex-Rays Decompiler Plugin til ligningen, ser det sort ud for de wannabe-begærlige konkurrenter. Men til afslappet disassemblering og endda lidt dekompilering synes Hopper at være et godt valg for alle, der ikke er villige til at punge ud med flere hundrede kroner for IDA Pro. Hvis du vil have en gratis tur, er radare2 nok det næste i rækken, men det kræver lidt tilvænning.
Efter at have fået min første IDA Pro Standard-licens som studerende må jeg indrømme, at prisen er stejl, men det er hver en øre værd. Da jeg begyndte at arbejde professionelt med RCE-relaterede ting, opgraderede jeg først til "normal" licensen og senere opgraderede jeg til IDA Pro Advanced for at få x64-understøttelse.
Husk også på at der findes en freeware-version af IDA med licensbegrænsninger (men velegnet til hobbyfolk eller studerende) og begrænsninger af mulighederne.
Jeg har brugt Hopper for nylig, og selv om det ikke er på samme niveau som IDA, er det overraskende sofistikeret, især i betragtning af hvad det koster. Dens hovedplatform er OS X, men der findes også versioner til Linux og Windows. OS X-versionen har også en vis gdb-integration, så du kan bruge den som debugger.
Det første værktøj, jeg kommer til at tænke på, er Hopper, som ikke længere er bundet til OSX. Det har en vis debugging-understøttelse (i det mindste på OSX), men fokuserer på statisk analyse, hvilket virker som det, du leder efter.
Den har mulighed for at bryde grundlæggende blokke op i en kontrolflowgraf, rudimentær dekompileringsstøtte, og du kan omdøbe funktioner, efterhånden som du finder mening med dem. Måske vil nogen, der bruger det i stedet for IDA, komme med en bedre sammenligning, jeg har kun leget kortvarigt med det.
IDA's gratis version er også ret kompetent og et kig værd, hvis du ikke har prøvet den.