User Tools

Site Tools


idis

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)
    • n-ární operace
    • modifies/sets, provázání s assumpcema
    • asumpce mezi basicblocky
  • GUI (todo)
  • 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())
idis.txt · Last modified: 2012/02/20 00:39 by krakonos