ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

21.02.2009, 20:57
|
|
Участник форума
Регистрация: 01.09.2007
Сообщений: 203
Провел на форуме: 812964
Репутация:
302
|
|
Модераторы, если можно перенесите в раздел Кодинг Delphi ..
|
|
|

21.02.2009, 22:25
|
|
Участник форума
Регистрация: 25.11.2006
Сообщений: 291
Провел на форуме: 1537850
Репутация:
536
|
|
Идея интересная, но будущего нет (ИМХО). Было бы интереснее, если реализовать в виде online-сервиса, написав, скажем, на PHP. А то при расширении функционала возникнут проблемы:
1. Не у всех широкий канал. Если добавть определение ТИЦ, ПР, отправку сообщений, то будет тратиться неоправданно много трафика.
2. При обновлении программы (а они, я думаю, будут довольно часто на первых порах) каждый раз придется выкачивать новую версию, а если будет сервисом, то просто один раз изменить код на сервере.
3. А так функционал программы можно расширять практически бесконечно: добавить автоподбор полей/таблиц, брутер слепых инъекций и т.п. Ведь было бы куда полезнее, чем просто выкладывать голую ссылку с минимумом системной информации.
В общем, удачи в кодинге  .
|
|
|

21.02.2009, 23:36
|
|
Участник форума
Регистрация: 01.09.2007
Сообщений: 203
Провел на форуме: 812964
Репутация:
302
|
|
Вобщем, решил начать с интерфйса, так как дизайнер я не зе бест, то хочу посоветоваться с вами, как лучше оформить программу. Вот так сказать мой вариант, жду ваших предложений..
ЗЫЖ Хочу на делфях, а дальше посмотрим =)
Последний раз редактировалось Assembler; 21.02.2009 в 23:43..
|
|
|

21.02.2009, 23:40
|
|
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
Assembler, вот моя прога:
http://forum.antichat.ru/thread100240.html
там все в стиле ачата) +сорс и компонент TRegExpr в архиве
|
|
|

22.02.2009, 01:13
|
|
Участник форума
Регистрация: 01.09.2007
Сообщений: 203
Провел на форуме: 812964
Репутация:
302
|
|
eLWAux, не пугай меня так =) Я уж думал она именно то делает что я хочу =) а вот за TregExpr спасиб =)
И такс, первый вопрос, хочу сделать так чтобы прога перед началом работы при нажатии кнопки загружала антибоян 1(раз перед началом работы) И потом уже внутри себя по нему проверяла сайты на боян... Подскажите каким путем это можно сделать, желательно понятным для меня языком, то есть не слишком замудренно...
Последний раз редактировалось Assembler; 22.02.2009 в 01:16..
|
|
|

22.02.2009, 01:26
|
|
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
откуда загружать? из сайта или из файла?
--
загружаеш, например в listbox
и потом можно проверить:
if (listbox.items.indexof('сайт')>0) begin уже есть такой end;
|
|
|

22.02.2009, 01:31
|
|
Участник форума
Регистрация: 01.09.2007
Сообщений: 203
Провел на форуме: 812964
Репутация:
302
|
|
Да с сайта.. хочу чтобы загружал данные в прогу, записывал их допустим в файлик и из него уже чекал.
|
|
|

22.02.2009, 01:36
|
|
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
реализация через сокети:
Код:
uses ...,WinSock, ..;
const host = 'www.google.com'; //хост
....
var sock : TSocket;
....
function create_packet(url:string):string;
begin
result := 'GET '+url+' HTTP/1.0' + #13#10 +
'Host: ' + Host + #13#10 +
'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)' + #13#10 +
'Accept: text/html' + #13#10 +
'Keep-Alive: 300'+ #13#10 +
'Referer: '+url+ #13#10 +
'Connection: keep-alive' + #13#10#13#10;
end;
function GET(packet: string): string;
var
wData : WSADATA;
addr : sockaddr_in;
sock : integer;
error : integer;
buf : array [0..1023] of Char;
str : string;
phe : PHostEnt;
begin
Result := '';
WSAStartup($0101, wData);
phe := gethostbyname(PChar(string(host)));
if phe = nil then begin
WSACleanup;
exit;
end;
sock := socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if sock = INVALID_SOCKET then begin
WSACleanup;
exit;
end;
addr.sin_family := AF_INET;
addr.sin_port := htons(80);
addr.sin_addr := PInAddr(phe.h_addr_list^)^;
error := connect(sock, addr, sizeof(addr));
if error = SOCKET_ERROR then begin
closesocket(sock);
WSACleanup;
exit;
end;
//str := 'GET '+url + ' HTTP/1.0'#13#10#13#10;
str:=packet;
send(sock, str[1], Length(str), 0);
ZeroMemory(@buf, 1024);
error := recv(sock, buf, 1024, 0);
while error > 0 do begin
Result := Result + Copy(buf, 0, error);
error := recv(sock, buf, 1024, 0);
end;
closesocket(sock);
WSACleanup;
if Result <> '' then Result:=Copy(Result, pos(#13#10#13#10, Result)+4,Length(Result));
end;
var answ : string;
answ := get( create_packet('http://www.google.com/') );
сохранение в файл:
Код:
AssignFile(myFile, 'file.txt');
ReWrite(myFile);
WriteLn(myFile, answ);
CloseFile(myFile);
ну и прочитать в listbox стандартно:
Код:
listbox1.items.loadfromfile('file.txt');
|
|
|

22.02.2009, 12:16
|
|
Участник форума
Регистрация: 01.09.2007
Сообщений: 203
Провел на форуме: 812964
Репутация:
302
|
|
eLWAux, спасибо огромное. =)
Есть еще один вопрос, можно ли сделать так чтобы когда копаешься на сайте, выделив определнный элемент (название таблицы) и щелкнув правой кнопой мыхи, появлялось контекстное меню, в котором было бы подменю с названием sql, при нажатии которого данные отправлялись в прогу, переделывались в sql hex и после этого записывались в буфер?
|
|
|

22.02.2009, 20:28
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
Сообщение от eLWAux
реализация через сокети:
Код:
uses ...,WinSock, ..;
const host = 'www.google.com'; //хост
....
var sock : TSocket;
....
function create_packet(url:string):string;
begin
result := 'GET '+url+' HTTP/1.0' + #13#10 +
'Host: ' + Host + #13#10 +
'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)' + #13#10 +
'Accept: text/html' + #13#10 +
'Keep-Alive: 300'+ #13#10 +
'Referer: '+url+ #13#10 +
'Connection: keep-alive' + #13#10#13#10;
end;
function GET(packet: string): string;
var
wData : WSADATA;
addr : sockaddr_in;
sock : integer;
error : integer;
buf : array [0..1023] of Char;
str : string;
phe : PHostEnt;
begin
Result := '';
WSAStartup($0101, wData);
phe := gethostbyname(PChar(string(host)));
if phe = nil then begin
WSACleanup;
exit;
end;
sock := socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if sock = INVALID_SOCKET then begin
WSACleanup;
exit;
end;
addr.sin_family := AF_INET;
addr.sin_port := htons(80);
addr.sin_addr := PInAddr(phe.h_addr_list^)^;
error := connect(sock, addr, sizeof(addr));
if error = SOCKET_ERROR then begin
closesocket(sock);
WSACleanup;
exit;
end;
//str := 'GET '+url + ' HTTP/1.0'#13#10#13#10;
str:=packet;
send(sock, str[1], Length(str), 0);
ZeroMemory(@buf, 1024);
error := recv(sock, buf, 1024, 0);
while error > 0 do begin
Result := Result + Copy(buf, 0, error);
error := recv(sock, buf, 1024, 0);
end;
closesocket(sock);
WSACleanup;
if Result <> '' then Result:=Copy(Result, pos(#13#10#13#10, Result)+4,Length(Result));
end;
var answ : string;
answ := get( create_packet('http://www.google.com/') );
сохранение в файл:
Код:
AssignFile(myFile, 'file.txt');
ReWrite(myFile);
WriteLn(myFile, answ);
CloseFile(myFile);
ну и прочитать в listbox стандартно:
Код:
listbox1.items.loadfromfile('file.txt');
Ну да да да, что бы получить ОДНУ СТРАНИЦУ, мы используем сокеты... показуха какая то...
Получаем страницу с помощью TidHTTP и парсим регуляркой...
Пользоваться сокетами нужно там где они действительно нужны...
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|