Что не так ? [FASM]

Тема в разделе "WASM.BEGINNERS", создана пользователем eua, 20 авг 2010.

  1. eua

    eua New Member

    Публикаций:
    0
    Регистрация:
    25 июл 2010
    Сообщения:
    42
    Всем доброго. Подскажите Что не так?При компиляции происходит ошибка.
    (Код должен убить notepad.exe)

    Код (Text):
    1.   format PE GUI 4.0
    2.  include 'win32a.inc'
    3.  entry start
    4.  
    5.  
    6.  TOKEN_QUERY_TOKEN_ADJUST_PRIVILEGES =28h
    7.  TH32CS_SNAPPROCESS = 2
    8.  
    9.  struct PROCESSENTRY32
    10.  dwSize dd ?
    11.  cntUsage dd ?
    12.  th32ProcessID dd ?
    13.  th32DefaultHeapID dd ?
    14.  th32ModuleID dd ?
    15.  cntThreads dd ?
    16.  th32ParentProcessID dd ?
    17.  pcPriClassBase dd ?
    18.  dwFlags dd ?
    19.  szExeFile db 260 dup(?)
    20.  ends
    21.  
    22. PrivilegeCount dd ?
    23. pLocalId dd ?
    24. Attributes dd ?
    25. phToken dd ?
    26. hSnapshot dd ?
    27. prcs PROCESSENTRY32
    28.  
    29. PrcList db 'notepad.exe',0
    30. Privilege db 'SeDebugPrivilege',0
    31.  
    32.  start:
    33.  invoke GetCurrentProcess
    34.  invoke OpenProcessToken,eax,TOKEN_QUERY_TOKEN_ADJUST_PRIVILEGES,phToken
    35.  invoke LookupPrivilegeValue,0,Privilege ,pLocalId
    36.  mov [PrivilegeCount],1
    37.  mov [Attributes],2
    38.  invoke AdjustTokenPrivileges,[phToken],0,PrivilegeCount ,0,0,0
    39.  
    40.  mov [prcs.dwSize],sizeof.PROCESSENTRY32
    41.  invoke CreateToolhelp32Snapshot, TH32CS_SNAPPROCESS, 0
    42.  mov [hSnapshot], eax
    43.  invoke Process32First,[hSnapshot],prcs
    44.  f: mov edi,PrcList
    45.  invoke StrStrI,prcs.szExeFile, edi
    46.  cmp eax,0
    47.  je _NextProc
    48.  call kill
    49.  
    50.  _NextProc:
    51.  invoke Process32Next,[hSnapshot],prcs
    52.  cmp eax,0
    53.  jne f
    54.  invoke ExitProcess,0
    55.  kill: invoke OpenProcess,PROCESS_TERMINATE,0,[prcs.th32ProcessID]
    56.  invoke TerminateProcess,eax,0
    57.  retn
    58.  
    59.  data import
    60.  library kernel32,'KERNEL32.DLL',\
    61.  advapi32,'ADVAPI32.DLL',\
    62.  shell32,'SHELL32.DLL'
    63.  
    64.  include 'API\kernel32.inc'
    65.  include 'API\advapi32.inc'
    66.  include 'API\shell32.inc'
    67.  end data
     
  2. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    Бага в инклудах фасма. Добавь в include/api/shell32.inc в строку ~115 после StrRStrIW,'StrRStrIW',\ строки:
    Код (Text):
    1.        StrStrA,'StrStrA',\
    2.        StrStrW,'StrStrW',\
    3.        StrStrIA,'StrStrIA',\
    4.        StrStrIW,'StrStrIW',\
    И отпишись в разделе багрепортов на форуме фасмы, если хочешь, чтобы пофиксили в дистрибутиве.
     
  3. eua

    eua New Member

    Публикаций:
    0
    Регистрация:
    25 июл 2010
    Сообщения:
    42
    Ага, Cуть зрима .Усё заработало.Спасибо IZzz32 за внимание.
     
  4. common_up

    common_up New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2010
    Сообщения:
    85
    в инклюдах штатной поставки есть пробелы типа:
    отсуствует CommandLineToArgvW,'CommandLineToArgvW',\
    в shell32.inc
    Я честно говоря уж не знаю что делать. Или компейрить новые версии инклюдов со старыми, либо выносить отсутствующие апи в отдельный инк, либо добавлять имена апи прямо в проект не используя инклюды с обьявлениями имен.