написание дизассемблера

Тема в разделе "WASM.RESEARCH", создана пользователем Temir, 6 июл 2005.

  1. Temir

    Temir New Member

    Публикаций:
    0
    Регистрация:
    6 июл 2005
    Сообщения:
    14
    Подскажите пожалуйста.

    Где можно посмотреть информацию:

    1. про написание дизассемблера.

    2. о том как работать на IDA. От самых азов. Я конечно так понимаю очень многое, но вот описание, думаю, не помешало бы.



    Заранее спасибо.
     
  2. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    Начать в любом случае следует с дизассемблирования опкодов, главное не наделать при этом ошибок (IDA их немало имеет). Для этого беруться интеловские талмуды и читаються до посинения (пока не придет просветление).



    Потом придется решить самую сложную задачу - разделение кода и данных. А это уже будет гораздо сложнее.

    Сначала реши, для чего тебе нужен дизассемблер. Если собираешся создать конкурент IDA, то подумай - а реально ли это сделать одному человеку вообще? Если дизассемблер нужен для анализа кода, создания метаморфа или полиморфа, вывода дизасм листинга в какой-нибудь проге и.т.д. то можно найти готовый дизасм удовлетворяюший таким требованиям.



    И еще посмотри ветки форума:

    http://www.wasm.ru/forum/index.php?action=vthread&forum=5&topic=10299



    http://www.wasm.ru/forum/index.php?action=vthread&forum=5&topic=6916



    и может еще поможет вот это:

    http://ms-rem.dot-link.net/files/cadt.rar
     
  3. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
  4. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia


    главное что-бы посинение не наступило раньше просветления :)
     
  5. SteelRat

    SteelRat New Member

    Публикаций:
    0
    Регистрация:
    26 авг 2004
    Сообщения:
    409
  6. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    для простых опкодов можно потренироваться в debug.

    этот отладчик входит в любую мелкомягкую ось. обычно

    просветление приходит после изучения команд вроде

    push ax/cx/dx/bx... или inc ax/cx.... как правило

    более сложные команды имеют отличия, если набраны в

    отладчике, а не скомпилированы из исходника.



    полезные линки:



    hxxp://exmortis.narod.ru

    hxxp://protools.cjb.net
     
  7. zzzyab

    zzzyab New Member

    Публикаций:
    0
    Регистрация:
    13 май 2004
    Сообщения:
    115
    реально ли это сделать одному человеку вообще



    а скольким чеовекам реально ? Сколко нужно чукчей чтоб вкрутить лампу ?



    У меня уже пройден этап талдундов. Подскажите дальнейшее направление ? Мне нужно чтоб можно было редактировать и собрирать из того что получилось после дизасемблера. Чужие дизасмы мне не нравятся.
     
  8. Jupiter

    Jupiter Jupiter

    Публикаций:
    0
    Регистрация:
    12 авг 2004
    Сообщения:
    532
    Адрес:
    Russia
    zzzyab



    увеличение кол-ва разработчиков отнюдь не ведёт к пропорциональному росту скорости и эффективности разработки







    т.е дизасм исполняемых файлов с получением компилируемого листинга? или только участка кода? в любом случае разобрать файл так, чтобы его можно было безболезненно собрать - задача не тривиальная, оч. много подводных камней, типа структур и т.д.

    или тебе не важна удобочитаемость полученного кода?

    ведь при дизасме сколь нибудь навороченной проги ты столкнёшься с тем, что большую часть кода проще переписать заново, ориентируясь на полученный дизасм, а не в тупую копипастить в свой код. одно дело процедура - другое дело модуль целиком.

    к тому же достаточно многие дизассемблеры генерируют вполне удобоваримый листинг (та же IDA, к примеру)







    чужие в принципе (если не своё собственное - значит не подходит) или же чужие из рассмотренных?

    смотрел http://wasm.ru/forum/index.php?action=vthread&forum=5&topic=10355&page=1

    ?
     
  9. zzzyab

    zzzyab New Member

    Публикаций:
    0
    Регистрация:
    13 май 2004
    Сообщения:
    115
    Удобочитаемость не важана.



    При перепечатке с листингов делаються ошибки. Поэтому я хочу чтоб у меня создавались именно асм файлы. Я уже могу дизасмить участки кода в асм файлы, интересно сделать чтобы дизасмилась вся программа целиком.



    Посмотрел пример по ссылке - с или паскаль (таких куча в инете), я такое не воспринимаю - програмлю только на асме.