Глупый вопрос по Masm и Winapi

  • Автор темы FourtySeven
  • Дата начала
Статус
Закрыто для дальнейших ответов.
F

FourtySeven

Пишу программу которая будет пинговать определенный IP по расписанию
Проблема надо реализовать чтобы программа запускала "ping 127.0.0.1"
И получить в какой-нибудь переменной result текст выводимый текст. Например:
Обмен пакетами с 127.0.0.1 по 32 байт:

Ответ от 127.0.0.1: число байт=32 время<10мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<10мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<10мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<10мс TTL=128

Статистика Ping для 127.0.0.1:
Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
Приблизительное время передачи и приема:
наименьшее = 0мс, наибольшее = 0мс, среднее = 0мс

Хотя бы на уровне алгоритма, желательно с фрагментами кода.
Заранее благодарен.
 
M

morpheus



сори не глянул что Masm
 
F

FourtySeven

Я хотел бы посмотреть реалиацию через PING. Запуск процесса и получение его вывода. Можно на C.
Все равно спасибо.
 
M

morpheus

Для: FourtySeven
Не , ну я так просто не отстану... :) :p

опять же не на С, а на Delphi... НО! ИМХО это то что надо :(

 
F

FourtySeven

Пытаюсь переписать на ассмблере.
Вопрос 1:Что делает процедура FillChar
Вопрос в чем ошибка.
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\wininet.inc

includelib \masm32\lib\kernel32.lib
; includelib \masm32\lib\user32.lib
.data
ReadPipe dd ?
WritePipe dd ?
command db 'ping 127.0.0.1',0
wc STARTUPINFO <>
security SECURITY_ATTRIBUTES <>
.code
start:

MOV security.nLength,SIZEOF SECURITY_ATTRIBUTES
MOV security.bInheritHandle,TRUE
MOV security.lpSecurityDescriptor,NULL

INVOKE CreatePipe,ReadPipe,WritePipe,ADDR security,0

MOV wc.cb,SIZEOF wc
MOV wc.hStdOutput,WritePipe
MOV wc.hStdInput,ReadPipe
MOV wc.dwFlags,STARTF_USESTDHANDLES + STARTF_USESHOWWINDOW
MOV wc.wShowWindow,SW_HIDE
INVOKE CreateProcess,NULL,command,NULL,NULL,TRUE,NORMAL_PRIORITY_CLASS,NULL,NULL,ADDR wc,NULL
INVOKE ExitProcess,0
end start

Красным помечены ошибки.
 
M

morpheus

<!--QuoteBegin-FourtySeven+24:11:2006, 20:41 -->
<span class="vbquote">(FourtySeven @ 24:11:2006, 20:41 )</span><!--QuoteEBegin-->1:Что делает процедура FillChar
[snapback]48863" rel="nofollow" target="_blank[/snapback]​
[/quote]

Fills contiguous bytes with a specified value.
Delphi syntax:
procedure FillChar(var X; Count: Integer; Value: Byte);
Description
In Delphi, FillChar fills Count contiguous bytes (referenced by X) with the value specified by Value (Value can be type Byte or Char).
Warning: This function does not perform any range checking.

со вторым я не помошник... асма не знаю :(
 
F

FourtySeven

Насчет память-память понятно просто ступил. Что-то не получается переписать под MASM. Если не трудно помогите.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!