Хочется изучить работу некоторых программ (таргет i686), а именно, хотелось бы:
1) выбирать диапазоны кода/ip для анализа
2) логировать все обращения к памяти (минимум - база/смещение + итоговый адрес)
3) логирование типа инструкций, операндов, состояние процессора для каждой инструкции
4) возможность замены участка кода на лету c возможностью прикручивания внешних функций через C-FFI
5) поддержка self modified кода
6) поддержка разных форматов файлов (ELF/PE)
Недолгий поиск в гугле ничего не дал. Пока есть варианты:
1) gdb + scripts + патченье gdb для прикручивания логирования в какую-нибудь DB
2) ковыряние qemu-user
3) ковыряние gxemul + прикручивание FFI
Есть ли у кого-нибудь какие-либо предложения, идеи, ссылки на живые проекты?