Слышал я, что дизассемблирование кода I386 имеет какую-то скрытую :) логику, и есть очень маленькие дизассемблеры, эксплуатирующие эту логику.18.09.06 10:41 [HandleX] Автор: HandleX <Александр М.> Статус: The Elderman
> Subj. Что это за дизассемблер, есть ли исходные коды к > нему, или описание алгоритма дизассемблирования?
Ищи z0mbie (второй символ - ноль) advanced disassembler engine (ade32) и length disassembler engine (lde32). В зависимости от того, что тебе надо. Первый расковыривает инструкцию и отдает тебе всю необходимую инфу, а второй - только длину (для написания вирей и прочих эвристиков - предостаточно)
Стандартный -- нечто типа "табличного". Декодируется инструкция, парсятся таблицы, находится, что это за инструкция, и дальше генерится мнемокод.
Ещё I386 славится своими реликтовыми наслоениями всякого хлама, и ещё тем, что некоторые инструкции зависят от контекста.
Я слышал про какой-то хак при декодировании... На его основе и был создан некий очень маленький шустрый дизасм... Или это мне приснилось? :-)
Попроси у Хмельнова:19.09.06 04:25 Автор: Zef <Alloo Zef> Статус: Elderman
Это завлаб из нашего института. У него дисер - ExeExplorer - на мой взгляд самый крутой деассемблер, я тока его и юзаю. Там можно не только деассемблить, но и разбирать структуры, таблицы, вызова функций для С и Delphy. Он, правда, никому, кроме друзей и сотрудников его не дает, но мужик нормальный, договориться можно. Если спросит - Герман посоветовал обратиться.
Как оно по сравнению с IDA?01.01.07 18:43 Автор: AlexD <Alexander> Статус: Member
Тема дисера — «Язык FlexT для спецификации бинарных форматов данных», вроде как расширение для Паскаля. Ну и на его основе парсилка для PE32 + дизассемблер сделан. Для обучения прикольно.03.01.07 11:01 Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 03.01.07 11:04 Количество правок: 2
Может, как минимум, все, что IDA но имеет нормальный графический интерфейс + совершенно изумительная система преходов-гиперссылок.
Почему он не выкладывает его для ознакомления?10.02.07 08:51 Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 10.02.07 08:55 Количество правок: 1
Все сырцы даже я у него не прошу - совесть не позволяет, хотя и есть серьезные мысли по модернизации, и писан он на Дельфи, я бы на С его переписал... Но, насчет ядра с ним договориться можно. Только, какие проблемы? Это же просто, как 2 байта переслать. Я, помнится, вообще, ничего не читая за неделю сотворил кросс-деассемблер Z-80 для СМ-1800. (программатор у меня на ней стоял и внутрисхемный эмуль проца). Писал на PL/M.
Ок, попробую, Delphi это хорошо... -))22.09.06 06:20 Автор: HandleX <Александр М.> Статус: The Elderman