ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #571  
Старый 23.08.2009, 10:47
Аватар для e4key
e4key
Новичок
Регистрация: 24.07.2009
Сообщений: 24
Провел на форуме:
71052

Репутация: 5
По умолчанию

спасибо сейчас получилось - изменил элементы sockaddr_in:

1. перед загрузкой элемента sin_port обработал его функцией htons
2. перед загрузкой элемента sin_addr обработал его функцией inet_addr

снифер пакеты отслеживает, но эффекта 0

вот код на асме:

Код:
format PE GUI 4.0
entry main

include 'win32a.inc'

section '.data' data readable writeable
        ip      db '127.0.0.1', 0
        wdata   WSADATA
        saddr   sockaddr_in
        sock    dd ?
        hello   db 'GET http://localhost/hello.php HTTP/1.0', 13, 10
                db 'Host: localhost', 13, 10, 13, 10, 0

section '.code' code readable executable
  main:
        invoke  WSAStartup, 0101h, wdata
        invoke  socket, AF_INET, SOCK_STREAM, 6
        mov     [sock], eax
        mov     [saddr.sin_family], AF_INET
        invoke  htons, 80
        mov     [saddr.sin_port], ax
        invoke  inet_addr, ip
        mov     [saddr.sin_addr], eax
        invoke  connect, [sock], saddr, sizeof.sockaddr_in
        invoke  lstrlen
        invoke  send, [sock], hello, eax, 0
        invoke  closesocket, [sock]
        invoke  ExitProcess, 0

section '.idata' import data readable
        library kernel32, 'kernel32.dll',\
                user32, 'user32.dll',\
                wsock32, 'wsock32.dll'

        include 'api\kernel32.inc'
        include 'api\user32.inc'
        include 'api\wsock32.inc'
вот скрипт hello.php (в php не шарю )
Код:
<?php
    $handle = fopen("hello.txt", "a+");
    $count = fread($handle, filesize("hello.txt"));
    fclose($handle);
    $count++;
    $handle = fopen("hello.txt", "w");
    fwrite($handle, $count);
    fclose($handle);
    echo $count;
?>
в итоге в файле hello.txt цифра должна при каждом обращении увеличиваться.
 
Ответить с цитированием

  #572  
Старый 23.08.2009, 11:22
Аватар для slesh
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

советую заюзать вот такой вот скрипт
PHP код:
<?
    $handle 
fopen('hello.txt''a+');
    
$count intval(fgets($handle));
    
fclose($handle);
    
$count++;
    
$handle fopen('hello.txt''w');
    
fputs($handle$count);
    
fclose($handle);
    echo 
$count;
?>
 
Ответить с цитированием

  #573  
Старый 23.08.2009, 11:57
Аватар для e4key
e4key
Новичок
Регистрация: 24.07.2009
Сообщений: 24
Провел на форуме:
71052

Репутация: 5
По умолчанию

thx, но тут вроде не совсем от скрипта зависит это что-то с самой программой.

можно легко сделать на wininet, но хотелось попрактиковаться в winsock.
 
Ответить с цитированием

  #574  
Старый 23.08.2009, 12:15
Аватар для slesh
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

1) у тебя скрипт почемуто выдавал ошибку.
2) invoke lstrlen
А где параметры? забыл указать строку длинну которой считать
 
Ответить с цитированием

  #575  
Старый 23.08.2009, 12:22
Аватар для slesh
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

вот рабочий код.
Я тут внес некоторую оптимизацию )
Теперь размер 1024 байта после компила )

Код:
format PE GUI 4.0
entry main

include 'win32a.inc'

section '.text' data readable writeable executable import
;--------------- IMPORT -------------------
        library kernel32, 'kernel32.dll',\
                wsock32, 'wsock32.dll'
        include 'api\kernel32.inc'
        include 'api\wsock32.inc'
;--------------- CODE -------------------
  main:
        invoke  WSAStartup, 0101h, wdata
        invoke  socket, AF_INET, SOCK_STREAM, 6
        mov     [sock], eax
        mov     [saddr.sin_family], AF_INET
        invoke  htons, 80
        mov     [saddr.sin_port], ax
        invoke  inet_addr, ip
        mov     [saddr.sin_addr], eax
        invoke  connect, [sock], saddr, sizeof.sockaddr_in
        invoke  lstrlen, hello
        invoke  send, [sock], hello, eax, 0
        invoke  closesocket, [sock]
        invoke  ExitProcess, 0
;--------------- DATA -------------------
        ip      db '127.0.0.1', 0
        hello   db 'GET http://localhost/hello.php HTTP/1.0', 13, 10
                db 'Host: localhost', 13, 10, 13, 10, 0
        wdata   WSADATA
        saddr   sockaddr_in
        sock    dd ?

Последний раз редактировалось slesh; 23.08.2009 в 12:25..
 
Ответить с цитированием

  #576  
Старый 23.08.2009, 12:45
Аватар для e4key
e4key
Новичок
Регистрация: 24.07.2009
Сообщений: 24
Провел на форуме:
71052

Репутация: 5
По умолчанию

1) хм у меня вроде норм все было.
2) действительно))

собственно туплю поставил обработку ошибок и нашел ошибку 10061 после вызова функции connect. посмотерл - на локалхост не заходит хотя сервер запущен. кароче сменил сервер на vertrigo (был easyphp). все норм работает.

а почему у тебя в пинге ReplySize = 92? ведь размер структуры = 24 а буфера 32,

Последний раз редактировалось e4key; 23.08.2009 в 12:50..
 
Ответить с цитированием

  #577  
Старый 23.08.2009, 12:50
Аватар для e4key
e4key
Новичок
Регистрация: 24.07.2009
Сообщений: 24
Провел на форуме:
71052

Репутация: 5
По умолчанию

ого 1 кб! -2 секции - 1 кб ушел читать твою статью про оптимизацию прог. на fasm спасибо!
 
Ответить с цитированием

  #578  
Старый 23.08.2009, 13:14
Аватар для slesh
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

насчет 92 - это просто ошибка. когда переписывал.
потому как включил буфер ответа в саму структуру, но забыл вычесть размер.
ICMP_ECHO_REPLY - 28 байт + 32 буфер = 60 байт
60 + точно я забыл удрать +32 какраз и вышло 92 )
Да и код писал очень давно и криво, так что могут быть косяки всякие )
 
Ответить с цитированием

  #579  
Старый 23.08.2009, 13:51
Аватар для e4key
e4key
Новичок
Регистрация: 24.07.2009
Сообщений: 24
Провел на форуме:
71052

Репутация: 5
По умолчанию

ну а в моем случае это будет размер ICMP_ECHO_REPLY + PingBuf = 24 + 32 = 56?
структуру IP_OPTION_INFORMATION я не использую.

но тогда после выполнения функции возвращается ошибка 11001.

может следует взять с запасом или я ошибся в расчетах?

Последний раз редактировалось e4key; 23.08.2009 в 13:58..
 
Ответить с цитированием

  #580  
Старый 23.08.2009, 22:44
Аватар для e4key
e4key
Новичок
Регистрация: 24.07.2009
Сообщений: 24
Провел на форуме:
71052

Репутация: 5
По умолчанию

ни у кого нет примера серверной программы с использованием winapi? хотелось бы простой примерчик, например, выводящий полученную от клиента команду в messagebox'e.

нашел немало такого, но не выходит перевести на асм

спасибо
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы для новичков! (faq) PEPSICOLA С/С++, C#, Delphi, .NET, Asm 92 14.05.2010 17:59
Обзор программ для очистки жёсткого диска v1ru$ Soft - Windows 21 17.01.2010 21:07
ОС с нуля z01b С/С++, C#, Delphi, .NET, Asm 36 03.07.2008 15:30
Лучший софт для Linux _-Ramos-_ Soft - *nix 11 15.01.2008 12:08
Взлом Unix а silveran *nix 4 21.12.2005 22:46



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ