Для чего нужен polink и poasm?

Тема в разделе "WASM.ASSEMBLER", создана пользователем K10, 3 дек 2008.

  1. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Сабж.
    Чем отличаются от link.exe и ml.exe?
     
  2. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    link.exe и ml.exe - код от Microsoft, для Windows
     
  3. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    s0larian
    Я в курсе, а polink и poasm не для Windows, чтоли?
     
  4. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    Это что, вопрос в стиле "для чего нужен gcc"? ;)
     
  5. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    s0larian
    И link и polink идут в пакете масм. Оба собирают PE файлы. Если бы они были одинаковы, то не было бы смысла иметь их оба. Стало быть в чем-то их функциональность отличается. Вот и я хотел бы узнать в чем...
     
  6. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    Ёлки, poasm и polink не имеют никакого отношения к Microsoft и "идти вместе" могут только если ты слил чей-то левый архив.
     
  7. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    s0larian
    Скачай MASM32 и загляни в папку bin. Узнаешь много нового...
    Кроме poasm.exe и polink.exe там еще есть polib.exe и porc.exe
     
  8. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Пока что, нашел только
     
  9. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    s0larian прав, MASM32 не имеет никакого отношения к Microsoft (кроме того, что в нем используются некотрые проги от MS).
     
  10. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.787
    K10
    Могу прислать для коллекции GoAsm, GoLink и GoRC от Jeremy Gordon, а так же wasm, wlink и wlib от Open Watcom -- побольше ассемблеров хороших и разных :) А чем вам ассемблер от Pelle Orinius не понравился?
     
  11. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    reverser
    "Некоторые проги" - это непостредсвенно компилятор и линкер?
    И вобще, причем здесь Майкрософт, речь идет о polink и poasm...

    Mikl___
    Он мне не "не понравился", я хотел бы узнать, чем он отличается от ml.exe !
     
  12. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.787
    небольшие отличия синтаксиса, иногда более компактная кодировка, poasm отличается от masm примерно так же, как tasm отличается от masm'а если хочешь смотреть отличия несколько аналогичных программ в аттаче (сорцы и ехе)
     
  13. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Mikl___
    Спасибо, счас помотрю :)
    А чем лучше polink? Пока что я заметил только что он не включает в бинарник "печать Баала", как link.exe...
     
  14. Osen

    Osen Рие

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    283
    Адрес:
    Париж
    Кстати хороший вопрос, самому интересно, руки все не дошли это раскопать. Пока же детишки флудят, а никто точного и конкретного ответа не дал.
     
  15. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.787
    K10
    Я пользуюсь переделанным polink и 4-х байтным стаббом (смотрите в аттаче)
    Код (Text):
    1. set masm_path=c:\masm32
    2. set filename=%1
    3. if exist %filename%.rc (
    4. %masm_path%\bin\rc /v %1.rc
    5. %masm_path%\bin\cvtres /machine:ix86 %1.res
    6. %masm_path%\bin\ml /c /Cp /Gz /I%masm_path%\include /coff /nologo %filename%.asm  || exit
    7. %masm_path%\bin\PoLink1 /SUBSYSTEM:WINDOWS /ALIGN:4 /MERGE:.data=.text ^
    8. /LIBPATH:%masm_path%\lib /NOLOGO /STUB:%masm_path%\bin\stubby.exe %filename%.obj ^
    9. %filename%.res || exit
    10. del %filename%.res
    11. ) else (
    12. %masm_path%\bin\ml /c /Cp /Gz /I%masm_path%\include /coff /nologo %filename%.asm  || exit
    13. %masm_path%\bin\PoLink1 /SUBSYSTEM:WINDOWS /ALIGN:4 /MERGE:.data=.text ^
    14. /LIBPATH:%masm_path%\lib /NOLOGO /STUB:%masm_path%\bin\stubby.exe %filename%.obj
    15. )
    Osen "Кстати хороший вопрос" я не понял о чем вопрос?
     
  16. Osen

    Osen Рие

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    283
    Адрес:
    Париж
    Mikl___
    Вопрос в том зачем афффтарам masm32, размещять в комплекте 2 линкера????????????
     
  17. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Mikl___
    Но с таким стабом файл может не заработать в Win98, или я не прав?
    Может разумнее все-таки использовать 64-х битный стаб, который законно содержит весь IMAGE_DOS_HEADER ? У меня сейчас (с polink) получается так:
    Код (Text):
    1. Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
    2. 00000000   4D 5A 00 00 00 00 00 00  00 00 00 00 00 00 00 00   MZ        
    3. 00000010   00 00 00 00 00 00 00 00  40 00 00 00 00 00 00 00           @  
    4. 00000020   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00                
    5. 00000030   00 00 00 00 00 00 00 00  00 00 00 00 40 00 00 00               @  
    6. 00000040   50 45 00 00 4C 01 02 00  B0 B1 38 49 00 00 00 00   PE  L   °±8I
    Переделка polink, заключается в поддержке 4-х байтного выравнивания? А как ты его переделывал, дизассемблировал или есть где-то исходники?
     
  18. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.787
    K10
    align=4 точно не будет работать в Vista и Win95/98, зато в WinXP экзешник минимального размера :)
    PoLink переделывался методом снятия блокировок, даже Ida не понадобилась, достаточно было hiew, а вообще можно найти исходники на сайте автора. Можно использовать 12-байтный стаб старая статья есть на wasm.ru Svet(R)off - Минимальная stub-программа вот такие exe под Win95/98 будут работать :)
     
  19. Osen

    Osen Рие

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    283
    Адрес:
    Париж
    Так и никто не ответил, все самому придется как всегда(
     
  20. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.787
    А зачем это сделал hutch, наверное, проще спросить у него самого hutch's home page (Freeware Tools and Toys)