[FASM] выполнение пинга в потоке

Тема в разделе "WASM.NETWORKS", создана пользователем miae, 10 июн 2009.

  1. miae

    miae Member

    Публикаций:
    0
    Регистрация:
    22 дек 2007
    Сообщения:
    44
    Код (Text):
    1. proc ICMP
    2.   invoke  WSAStartup,$101, WSData ; инициализация
    3.   cmp     eax, 0
    4.   jne     exit
    5.   mov     ecx, 128
    6.   stdcall Ping,IP_BUF,ecx
    7. exit:
    8. endp
    далее при выполнении
    Код (Text):
    1. invoke CreateThread, 0, 0, ICMP, 0, 0, handle
    на сниффере не единого исходящего пакета

    а при
    Код (Text):
    1. stdcall ICMP
    получаю ping-flood

    что, за хрень и где искать ошибку ...
     
  2. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    miae, работает всё и так и едак.
     
  3. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    litrovith
    > работает всё
    Но не долго (если учесть отсутствие ret в ICMP и т.д.).
     
  4. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    q_q, ну помоему тс не просил оценивать качество кода ). ессно, что если учесть и возможное отсутствие телодвижений между CreateThread и ExitProcess, то пинга ждать прийдётся долго )))
     
  5. miae

    miae Member

    Публикаций:
    0
    Регистрация:
    22 дек 2007
    Сообщения:
    44
    гы, ret в процедуря я явно забыл )))

    2 litrovith и q_q

    что вы там говорили про качество кода ... чего поправить ...
     
  6. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    miae, давайте я вам лучше напишу готового ring0 ддос бота + ещё подобные штуки и затем буду их криптовать регулярно.
     
  7. miae

    miae Member

    Публикаций:
    0
    Регистрация:
    22 дек 2007
    Сообщения:
    44
    уважаемый litrovith,

    если для вас трудоемок процесс детектирования и корректировки ошибок или недочетов в куске кода, то я не настаиваю. бросаться словами ring0, native, driver, ddos, bot, crypt и подобными грамотный специалист не будет.
    я с целью обучения FASM пишу примеры и задаю вопросы. что касается готового кода, то буду только рад.
     
  8. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    miae, начнём:
    вместо
    Код (Text):
    1.    cmp    eax,0
    2.    je     exitp
    3.   mov    eax,1
    4.    ret
    5. exitp:
    6.    xor    eax,eax
    7.    ret
    можно просто
    Код (Text):
    1.  ret
    т.к. IcmpSendEcho при хорошем раскладе возвращает ненулевое значение.

    handle IcmpCreateFile, PingBuf можно сохранять в стеке.
    Если вы создаёте поток, то вместо ExitProcess нужно делать ExitThread. 99% причина отсутствия исходящих пакетов
    была в том , что процесс завершался ранше чем отрабатывал поток ).
     
  9. miae

    miae Member

    Публикаций:
    0
    Регистрация:
    22 дек 2007
    Сообщения:
    44
    спасибо большое, буду более педантично вчитываться в матчасть ))))