Если Вы хотите использовать компонент TIcqClient (обычно его имеют в виду, когда упоминают icq (в Delphi)), который, кстати, остался рабочим, после обновления протокола, то алгоритм написания брутфорса сразу представляется таким... Т.к. число потоков большое (должно быть для успешного брута) - создается массив в котором будут лежать компоненты PHP: var myarray:array [0..[COLOR=Red]X[/COLOR]] of Ticqclient; где x, кол-во потоков... Затем создаем необходимое кол-во "потоков", так скажем. PHP: for i := 0 to [B]high(myarray)[/B] do myarray[i]:=Ticqclient.create(nil); .... И далее присваиваем компонентам необходимые свойства (уин, пасс, прокси, из файла), обращаясь к ним, через их индекс, типа: PHP: myarray[i].UIN:=UIN; myarray[i].password:=sl.strings[i]; // sl тут стринглист, в которые загружен файл с паролями. А так как у Ticqclient легко обрабатываются все события, то очевидно, если пытаясь залогинится (тот же вызов процедуры, указывая индекс компонента), провоцируем OnLogin - запишем валидный пароль в <...куда угодно...>, если ConnectionFailed - вычеркиваем пароль из базы и присваиваем следующий, по порядку. Это к тому, что простенький брутфорс написать - одна банка пива. А поиск исходников брутфорса Icq на Delphi действительно, не дал результата. Но вот исходник брутфорса на си (в схожей теме выкладывали уже): http://zbrute.antichat.ru/wzbrute_sources/ Надеюсь, будет полезен... Но, думается, написать программу, которая будет лучше и быстрее готовых продуктов - очень и очень трудная, и, в добавок, не рентабельная задача... В любом случае - удачи =)