Нужна помощь с masm32 - компиляция чистого бинарника

Тема в разделе "WASM.BEGINNERS", создана пользователем vovchic12, 11 апр 2008.

  1. vovchic12

    vovchic12 New Member

    Публикаций:
    0
    Регистрация:
    11 апр 2008
    Сообщения:
    5
    Добрый день!
    У меня стоит masm32 - написал код, он компилится в *.obj все честно. ехе собирается тоже норм, как собрать чистый бинарник? Если кто знает ответ то буду оч благодарен. Заранее спасибо за ответ
     
  2. Noble Ghost

    Noble Ghost New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2004
    Сообщения:
    204
    Адрес:
    Russia
    проще на fasm перейти
     
  3. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    vovchic12
    посмтри FAQ
    и если всёравно не понятно, то сформулируй конкретней про "чистый бинарник"
     
  4. vovchic12

    vovchic12 New Member

    Публикаций:
    0
    Регистрация:
    11 апр 2008
    Сообщения:
    5
    На примере NASM - с опцией -fbin - компилит *.bin файл
    Если не тяжело расскажите плиз как нада задавать командную строку что бы его скомпилировать?
     
  5. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    vovchic12
    если ты имел ввиду просто BIN без всей PE фигни:) (типа шеллкод)
    я делал так:
    при условии что код базонезависим
    обворачиваеш свой код так
    Код (Text):
    1. .386
    2. .model flat, stdcall
    3. option casemap:none
    4. include windows.inc
    5. include kernel32.inc
    6. includelib kernel32.lib
    7. .code
    8. start_code:
    9.  
    10. ...........
    11. твой код
    12. ...........
    13. size_code=$-start_code
    14.  
    15. start:
    16. здесь открываеш файл и пишещЪ в него участок, начиная со
    17. смещения start_code и длинной size_code
    18. закрываеш и выходиш
    19. end start
    и эта поделка его выплёвывает
     
  6. vovchic12

    vovchic12 New Member

    Публикаций:
    0
    Регистрация:
    11 апр 2008
    Сообщения:
    5
    именно это я и имел ввиду) мне нада бинрни для создания шела в дальнейшем.
    Спс за ответ) правда пока смутно представляю но ща посижу подумаю.
    start_code:

    ...........
    твой код
    ...........
    size_code=$-start_code


    мой код - имеется ввиду исходный код?(асм)
     
  7. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    vovchic12
    да
    заведи шаблонный проект такой струтуры и пользуй
    не забывай что он должен быть базонезависим(никаких релоков ), а то глюк будет
     
  8. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    можно линковать объектники openwatcom-овским линкером во что хотите.
     
  9. vovchic12

    vovchic12 New Member

    Публикаций:
    0
    Регистрация:
    11 апр 2008
    Сообщения:
    5
    хм..... интерестно но нельзя ли чуток подробнее?
     
  10. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    если это мне, то качаете openwatcom бинарную дистрибуцию и читаете хелп - там все есть. Если совсем непонятно или охота чего-то такого, этакого. Качаете сорцы. Собираете. Когда соберете, правите wlink-овые сорцы в нужную вам сторону (достаточно понятный код).
     
  11. TerraIncognita

    TerraIncognita New Member

    Публикаций:
    0
    Регистрация:
    30 апр 2008
    Сообщения:
    22
    а UNILINK Не подойдет?
     
  12. Jupiter

    Jupiter Jupiter

    Публикаций:
    0
    Регистрация:
    12 авг 2004
    Сообщения:
    530
    Адрес:
    Russia
    JWasm
    внизу страницы есть ссыль на компилятор и линкер
    помимает MASM-синтаксис
     
  13. d51

    d51 New Member

    Публикаций:
    0
    Регистрация:
    4 ноя 2007
    Сообщения:
    17
    Если не в тему то сори. Я делаю так в любой среде разработки поддерживаюший
    ассемблер или асм вставки пишу процедуру где и реализую нужный функционал
    потом компилирую и читаю в памяти эту процедуру другой процедурой этого же проекта
    в буфер а буфер в файл или поток как надо. я задавал подобный вопрос и из всего
    это проше всего. да докуда читать нахожу по адреу читаюшей процедуры
    ее пишу сразу за первой. нашисать шаблон и все
    d51