Если Вы хотите использовать компонент 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 действительно, не дал результата.
Надеюсь, будет полезен... Но, думается, написать программу, которая будет лучше и быстрее готовых продуктов - очень и очень трудная, и, в добавок, не рентабельная задача... В любом случае - удачи =)