Преобразование asm-листинга в пригодную для VS форму

Тема в разделе "WASM.ASSEMBLER", создана пользователем Broken Sword, 26 сен 2006.

  1. Broken Sword

    Broken Sword Robert

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    433
    Имеется листинг, сгенеренный IDA-ой. Необходимо преобразовать в понятный для VS формат (т.е. повставлять void __declspec(naked) и какие-то еще нюансы, о которых я не знаю). Имел ли кто-то с этим дело? Может, скриптик какой готовый есть?
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    В общем случае - Perl.
    А в IDA 5.0 есть возможность генерить свой формат листинга (или править еёшний при генерации): "processor_t::gen_asm_or_lst to customize asm or lst file generation".
     
  3. Jupiter

    Jupiter Jupiter

    Публикаций:
    0
    Регистрация:
    12 авг 2004
    Сообщения:
    532
    Адрес:
    Russia
    в принципе, в VS можно подключать .asm
     
  4. Broken Sword

    Broken Sword Robert

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    433
    Jupiter, подключать то можно (кстати, как?), только вот формат будет не тот что нужно. Или в случае подключения формат уже другой?
     
  5. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Это почему? Суть проста - не использовать инлайн-асм, а подключать внешние объектники, которые компилируются при Custom action.
     
  6. gazlan

    gazlan Member

    Публикаций:
    0
    Регистрация:
    22 май 2005
    Сообщения:
    414
    А какие проблемы ? Copy/Paste from IDA, убрать левую колонку смещений/опкодов и приписать именно void __declspec(naked). Примеры, кстати, были в [solme] :)
     
  7. Broken Sword

    Broken Sword Robert

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    433
    gazlan
    можно примеры в студию?) и насчет copy/paste - не проще ли Produce -> asm file (уже без смещений)
     
  8. Jupiter

    Jupiter Jupiter

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

    Broken Sword Robert

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    433
    Jupiter, все отлично работает до тех пор, пока в asm-коде не начинаешь вызывать crt-функции (типа - crt_malloc, crt_free). Тут начинается паника с ошибками типа error LNK2005: _free already defined in msvcrt.lib(msvcrt.dll).
     
  10. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    nodefaultlib?
     
  11. Broken Sword

    Broken Sword Robert

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    433
    censored, не помогло. После танцев с бубном в настройках проекта удалось скомпилить, но пришлось заменять все win API на crt аналоги. Не нашлось аналога только для SetEndOfFile. У кого-нить есть идеи как реализовать этот самый SetEndOfFile в crt?
     
  12. gilg

    gilg New Member

    Публикаций:
    0
    Регистрация:
    19 май 2005
    Сообщения:
    527
    _chsize()
     
  13. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Странно. Обычно всё проще :)