Странное поведение masm10.

Тема в разделе "WASM.BEGINNERS", создана пользователем _sheva740, 4 июн 2009.

  1. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    Пишу простой сниферок консольный. Ничего особенного.
    MASM v10.
    В какой-то момент вдруг линкер выдает ошибки ...
    Код (Text):
    1. Microsoft (R) Macro Assembler Version 6.14.8444
    2. Copyright (C) Microsoft Corp 1981-1997.  All rights reserved.
    3.  
    4.  Assembling: C:\_temp\sniff\!01\sniff01.asm
    5. Microsoft (R) Incremental Linker Version 5.12.8078
    6. Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
    7.  
    8. masm32.lib(line.obj) : error LNK2001: unresolved external symbol _CreatePen@12
    9. masm32.lib(line.obj) : error LNK2001: unresolved external symbol _DeleteObject@4
    10.  
    11. masm32.lib(line.obj) : error LNK2001: unresolved external symbol _LineTo@12
    12. masm32.lib(line.obj) : error LNK2001: unresolved external symbol _MoveToEx@16
    13. masm32.lib(line.obj) : error LNK2001: unresolved external symbol _SelectObject@8
    14.  
    15. masm32.lib(line.obj) : error LNK2001: unresolved external symbol _GetDC@4
    16. sniff01.exe : fatal error LNK1120: 6 unresolved externals
    Что делать. Ну функций этих у меня в листинге, естественно, и в помине нет.
    Но как-то ж дописать хочется.
    Не подскажите что делать?
    Может кто-то встречал,
     
  2. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    Причем из masm.lib использую только StdOut и GetCL.
    Убираю эти функции все работает.
    Странно.
     
  3. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    не работает вот эта строка ...
    Код (Text):
    1. .386
    2. .model flat,stdcall
    3. option casemap:none
    4. include \masm32\include\windows.inc
    5. include \masm32\include\kernel32.inc
    6. include \masm32\include\masm32.inc
    7.  
    8. includelib \masm32\lib\kernel32.lib
    9. includelib \masm32\lib\masm32.lib
    10. include \masm32\Macros\Strings.mac
    11.  
    12. Main PROTO
    13. .data
    14. _command        db 50 dup(0)  
    15. .code
    16. start:
    17.     invoke  Main
    18.     invoke  ExitProcess,0
    19. ;====================================================================
    20. ;====================================================================
    21.  
    22. Main proc
    23.     invoke GetCL,1,ADDR _command      
    24.     .if (eax!=1)              
    25.         invoke  StdOut,$CTA0('[-]missing of one of two of command line of parameters ...\n')
    26.  
    27.     .endif
    28.     ret
    29. Main endp
    30. end start
    Почему?
     
  4. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    дык написало же: line.obj. Модуль входит в masm32.lib. Почему оно вылезает? Потому что
    А в line.asm не что иное, как
    Код (Text):
    1.     invoke GetDC,hndl
    2.     mov hDC, eax
    3.     invoke CreatePen,0,1,colr
    4.     mov hPen, eax
    5.     invoke SelectObject,hDC,hPen
    6.     mov hPenOld, eax
    7.     invoke MoveToEx,hDC,x1,y1,NULL
    8.     invoke LineTo,hDC,x2,y2
    9.     invoke SelectObject,hDC,hPenOld
    10.     invoke DeleteObject,hPen
    Убери из строки слово "line". Или поставь двойные кавычки вместо одинарных.
     
  5. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    FatMoon
    Шайтан.
    Сам бы не догадался бы никогда.
    Бывает же.
    Спасибо.