Inteligentní DISassembler
Cíle
Hlavní
schopný disassembler zejména pro AMD64 a možností snadné rozšiřitelnosti pro jiné platformy
možnost snadného scriptování pluginů v pythonu pro rychlé docílení požadované operace
GUI pro jednoduchou orientaci v kódu a snadný přístup k datům
automatické zpracování kódu – detekce a analýza aritmetiky, zpracování běžných konstruktů generovaných vyššími jazyky (podmínky, smyčky, volání funkcí ABI)
interaktivní disassemblování – možnost označit začátek kódu, data atp.
detekce obfuskování
Nice-to-have
možnosti debuggingu
načítání corefilu a propagace hodnot z doby smrti kódem zpět pro zefektivnění zjistování root-cause
asumpce na kód (přiřazení hodnoty, výsledku podmínky)
Stav
Stav jednotlivých částí projektu – “funkční” znamená, že část funguje, “hotový” že je hotová a “todo” že není vůbec, nebo nemá ani základní funkčnost.
Generátor syntaxe (funkční)
Dekodér instrukcí (funkční)
Pluginovací systém (funkční)
Abstrakce instrukcí a aritmetiky (funkční, chybí definice)
-
Generátor assembleru (todo)
IAS (todo)
Intel (funkční) – generuje v zásadě validní assembler, ale není to úplně jisté
AT&T (funkční) – generuje něco, co se mu zanačně podobá, ale není to validní (příklad: 0x8()
)