![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Написял я следующий модуль:
unit MainUnit; interface uses Windows, Forms, Classes, StdCtrls, Controls; type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; function NetUserGetInfo(servername, username: LPWSTR; level: DWORD; bufptr: Pointer):DWord; stdcall; external 'NetApi.dll' name 'NetUserGetInfo'; function NetApiBufferFree(Buffer: Pointer{LPVOID}):DWORD; stdcall; external 'NetApi32.dll' Name 'NetApiBufferFree'; implementation {$R *.DFM} function GetPassword(UserName:string):string; type TUSER_INFO_1 = record useri1_name: Pchar; useri1_password: PChar; useri1_password_age: DWord; useri1_priv: DWord; useri1_home_dir: PChar; useri1_comment: PChar; useri1_flags: DWord; useri1_script_path: PChar; end; PUSER_INFO_1 = ^TUSER_INFO_1; var inf: PUSER_INFO_1; info: Pointer; res: DWord; p:PChar; begin Result:='-1'; info:=nil; res:=NetUserGetInfo(nil, PWideChar(username), 1, @info); if (res = 0) and (info <> nil) then begin p:=PChar(info); inf:=PUSER_INFO_1(p + SizeOf(TUSER_INFO_1)); Result:=WideCharToString(PWideChar((inf^).useri1_password)); end; NetApiBufferFree(info); end; procedure TForm1.Button1Click(Sender: TObject); var ps:string; begin ps:=GetPassword(Edit2.Text); if ps <> '-1' then Edit3.text:=ps else Application.MessageBox('Ошибка определения пароля.', 'Error:', mb_ok + mb_iconstop); end; end. Откомпилировав его я запускаю Exe-файл... Вылетает ошибка: "Файл C:\Windows\System\NetApi.dll по видимому повреждён..." и "...Присоединённое к системе устройство не работает", хотя NetApi.dll не повреждён, и функция NetUserGetInfo там есть. Помогите понять в чём дело, может быть я неправильно описал саму функцию NetUserGetInfo или что-либо в этом духе... |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
А какие пароли ты хотел получить?
И какая у тебя OC? |
|||
|
||||
| SmaLL |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 557 Регистрация: 17.12.2002 Где: Voronezh Репутация: 1 Всего: 2 |
1. Действительно, какая ОС ?
2. Почему функция NetUserGetInfo берЁтся из 'NetApi.dll' , а NetApiBufferFree из NetApi32.dll ? Если у тебя ОС на базе NT, то NetUserGetInfo должна браться из NetApi32.dll. Вероятно - это просто опечатка. -------------------- Что ни делается - всЁ к лучшему! SmallWeb Мой адрес не дом и не улица, мой адрес родной пивзавод! |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
У меня Windows 98, взломать надо Windows 2000(Вообщето я уже касался этой темы "Небольшой взлом. Admin и Windows 2000", но мне ничего толкового из функций не предложили, так что сам нашел). Что касается NetApi.dll и NetUserGetInfo, то эту функцию я нашел только там.
|
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Сейчас попробовал загрузить библиотеку NetApi.dll через LoadLibrary, не получилось, даже не понял из-за чего. А библиотека NetApi32.dll загружается без всяких проблем. Странно, но факт есть факт, ведь Windows не должен же охранять свои библиотеки от просмотра...
|
|||
|
||||
| dim |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 24.12.2002 Репутация: нет Всего: нет |
Pakshin A. S.Могу сразу обрадовать, если ты не понял о чем тебе толковали раньше - NetUserGetInfo() не вернет тебе пароль ни под каким видом.
--------------------
that's all |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Ошибаешься, она вернёт мне всевозможную информацию о пользователе, среди которой есть и пароль. Посмотри в Windows SDK всё, что связано с этой функцией. Там всё просто...
|
|||
|
||||
| dim |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 24.12.2002 Репутация: нет Всего: нет |
Pakshin A. S. Это ты ошибаенься - она вернет всевозможную информацию кроме пароля, RTFM.
--------------------
that's all |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
Только w9x
-------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| dim |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 24.12.2002 Репутация: нет Всего: нет |
Song NetUserGetInfo() нету в 9x.
--------------------
that's all |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
смех... dim - тебя никто не слушает, а зря.
p.s: если бы ф-я возвращала пароль, то ни о какой безопасности в windows и речи быть не могло Это сообщение отредактировал(а) man2002ua - 21.2.2003, 02:30 -------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |