В общем, захотелось мне написать программу для перебора паролей из текстового файла для определенного ICQ номера... Поставил компонент TICQ вроде версии 1.35.1, потратил пару часиков на код программы(всё, что мне нужно было оформил и закодил, интерфейс полностью рабочий и без багов), но тем не менее не работает, вот код "блока" проверки:
Code
for i:=1 to p do begin readln(s, f); ProgressBar1.Position:=i; IcqClient1.UIN:=nomer; IcqClient1.Password:=f; ICQClient1.Login(); Sleep(500); //вот тут я думаю нужно время ожидания подключения ставить какое то что-ли, не знаю... if ICQClient1.LoggedIn then begin Edit3.Enabled:=true; Edit3.Text:=f; //собственно, если залогинились, то пасс пишется в отдельный edit, но нифига не происходит. x:=true; break; end; end;
В общем, вот. Ставил время Sleep разное, вообще его убирал - всё равно - не получается. Проверял с одним паролем на аське с эти же паролем(проверял - войдет ли вообще), но нифига, не хочет логиниться даже.. Кто подскажет, в чём проблема может быть? C++ - попса :D
Дело в том что слип не поможет, потому что ты не можешь знать сколько времени понадобится на конект - 5 секунд или 30, яркий тому пример попробуй запустить свою аську несколько раз и каждый раз время подключения будет разным. Не так давно занимался подобны алгоритмом но для подключения в одной программе сразу с нескольких номеров. Алгоритм примерно такой - Ждёшь до тех пор пока либо пройёт 60 секунд либо ConnectionFailed либо LoggedIn и соответственно потом судишь о результате.
+upd Не забывай включать в юзес ICQWorks иначе не удешевишь при проверке свой номерок в онлайне. Рабочий компонент для д7 можно скачать тут Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
Сообщение отредактировал dolphin - Вторник, 31.01.2012, 20:32
UPD: Кхм, а как сделать-то такую проверку( пока не залогинится или пока серв не скажет "неправильный пароль" либо пройдёт 60 сек)? (мб можно таймером, но я не уверен)... C++ - попса :D
Сообщение отредактировал sk0rpi0n - Вторник, 31.01.2012, 20:50
Можно и через таймер наверно, но лично я делал в цикле.
Я использовал цикл repeat ... until ... , но там можно и while true do это уже как кому нравится, мне например первый). Кстати форма будет немного подвисать, но это можно исправить с помощью потока. Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
Я тоже думал, что можно и через цикл, щас даже пытался, но что-то туплю, не пойму как реализовать... А через таймер это муть вообще, лучше не буду к этому прибегать. C++ - попса :D
а не лучше реализовать поддержку протокола icq, исключить все, что не нужно для авторизации и максимально ускорить процесс брута? вот описание oskar-протокола. используются чаще всего для написания поддержки icq http://iserverd.khstu.ru/oscar/ + можено сделать поддержку socks5 - она за полчаса делается, т.к. протокол примитивный и будет твой брутер с поддержкой proxy ICQ 185-398
Да и зачем усложнять? Я так понял что человек не брутфорс пишет, а просто перебрать пароли хочет. Поправьте меня если не так.
Без основной части кода я думаю вряд ли смогу конкретно помочь, а сидеть додумывать что у вас там может быть или самому писать как то не хочется. Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
Сообщение отредактировал dolphin - Четверг, 02.02.2012, 11:09
Ну вот немного переработал, +изменил в соответствии со своей логикой работу с количеством попыток, дизайнчик , ну там если не понравится переделаешь, работать стало, но есть что доработать!
1. Если попыток больше 5 - 10 то нужно ставить таймаут иначе сервер асику забанит твой ип на несколько минут и пока бан не кончится бутет приходить результат попытки - фалед.
2. Нужно перебирать в потоке всётаки, тк форму нельзя закрыть пока идёт троллинг, нельзя остановить и тд и др проблемы отсюда.
Если хотябы эти 2 пункта реализовать получится довольно неплохая программка