пинг на fasm

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

  1. e4key

    e4key New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2009
    Сообщения:
    101
    привет всем. может кто ни будь дать пример пинга на фасме?

    ps. еще может кто поможет ссылкой на хорошие уроки. сейчас учусь по урокам на sa-sec.org но увы много не понятно и хотелось бы источник, где можно почитать еще.

    спасибо!
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Эх, фасм. С сей перевести не можем, прискорбно.
     
  3. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    Код (Text):
    1. call [WinExec], ping_str, 0
    2. ...
    3. ping_str  db 'ping 127.0.0.1 -t -l 32000 -f -w 1',0
    максимум что могу предложить забесплатно.
     
  4. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    ах ты ж скоммерсант детектед эдакий! .D

    человек жеж молодой и учится, а ты ему так вот..

    по-моему на статьях васма оно есть забесплатно.
     
  5. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    e4key
    сделай в гугле запрос по
    Код (Text):
    1. invoke IcmpSendEcho
    отбери который fasm - это и будет твой пингер.
     
  6. e4key

    e4key New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2009
    Сообщения:
    101
    Спасибо всем огромное!
     
  7. e4key

    e4key New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2009
    Сообщения:
    101
    Собственно нашел по 1 ссылке :) Но ничего не получилось (не судите строго, я асм сегодня 2 день учу)

    Код (Text):
    1. format PE GUI 4.0
    2. entry start
    3.  
    4. include 'win32ax.inc'
    5.  
    6. section '.data' data readable writeable
    7.     struct IP_OPTION_INFORMATION
    8.         Ttl db 0
    9.         Tos db 0
    10.         Flags db 0
    11.         OptionsSize db 0
    12.         OptionsData dd 0
    13.     ends
    14.  
    15.     struct ICMP_ECHO_REPLY
    16.         Address dd 0
    17.         Status dd 0
    18.         RoundTripTime dd 0
    19.         DataSize dw 0
    20.         Reserved dw 0
    21.         Data dd 0
    22.         Options IP_OPTION_INFORMATION
    23.         PingBuf db 32 dup (0)
    24.     ends
    25.  
    26.     struct TInAddr
    27.         b1 db 0
    28.         b2 db 0
    29.         b3 db 0
    30.         b4 db 0
    31.     ends
    32.  
    33.     Optionss IP_OPTION_INFORMATION
    34.     InAddr TInAddr
    35.     Reply ICMP_ECHO_REPLY
    36.  
    37.     PingBuf db 32 dup (0)
    38.     handle dd 0
    39.     ip db '127.0.0.1'
    40.  
    41. section '.code' code readable executable
    42. start:
    43.     stdcall Ping, ip
    44.     invoke ExitProcess, 0
    45.  
    46. proc Ping InetAddress, ttl
    47.     invoke IcmpCreateFile
    48.     mov [handle], eax
    49.     mov eax, [eax + 0ch]
    50.     mov eax, [eax]
    51.     mov cl, [eax]
    52.     mov [InAddr.b1], cl
    53.     mov cl, [eax + 1]
    54.     mov [InAddr.b2], cl
    55.     mov cl, [eax + 2]
    56.     mov [InAddr.b3], cl
    57.     mov cl, [eax + 3]
    58.     mov [InAddr.b4], cl
    59.  
    60.     mov eax, PingBuf
    61.     mov [Reply.Data], eax
    62.     mov [Reply.DataSize], 32
    63.     mov al, byte [ttl]
    64.     mov [Optionss.Ttl], al
    65.     mov eax, [InAddr]
    66.     invoke IcmpSendEcho, [handle], eax, ip, 32, Optionss, Reply, 92, 3000
    67.  
    68.     ret
    69. endp
    70.  
    71. section '.idata' import data readable writeable
    72.     library kernel32, 'KERNEL32.DLL',\
    73.         user32, 'USER32.DLL',\
    74.         wsock32, 'WSOCK32.DLL',\
    75.         icmp, 'icmp.dll'
    76.  
    77.     include 'api/kernel32.inc'
    78.     include 'api/user32.inc'
    79.     include 'api/WSOCK32.inc'
    80.  
    81.     import icmp, IcmpCreateFile, 'IcmpCreateFile',\
    82.         IcmpSendEcho, 'IcmpSendEcho'
    Вот что получилось выковырнуть из файла. Но при запуске просто вылетает окно с предложением отправить отчет.
     
  8. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    e4key
    h ttp://rapidshare.com/files/261025275/ping.rar.html
     
  9. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Я то думал, а тут это IcmpSendEcho. ^)
    ТС-у просто нужен msdn.
     
  10. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    а это нормально, что у Ping 2 параметра, а вызывается она только с одним. это не падает только потому, что некогда.
     
  11. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    вот. вот оно использование макросов. макросы - зло. бросайте это дело!