Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите найти ошибку 
:(
    Опции темы
Pakshin A. S.
  Дата 19.2.2003, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 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 или что-либо в этом духе...

PM   Вверх
RA
Дата 19.2.2003, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



А какие пароли ты хотел получить?
И какая у тебя OC?
PM   Вверх
SmaLL
Дата 20.2.2003, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 557
Регистрация: 17.12.2002
Где: Voronezh

Репутация: 1
Всего: 2



1. Действительно, какая ОС ?
2. Почему функция NetUserGetInfo берЁтся из 'NetApi.dll' , а NetApiBufferFree из NetApi32.dll ? Если у тебя ОС на базе NT, то NetUserGetInfo должна браться из NetApi32.dll.
Вероятно - это просто опечатка.


--------------------
Что ни делается - всЁ к лучшему! SmallWeb
Мой адрес не дом и не улица, мой адрес родной пивзавод!
PM MAIL WWW ICQ   Вверх
Pakshin A. S.
Дата 20.2.2003, 03:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



У меня Windows 98, взломать надо Windows 2000(Вообщето я уже касался этой темы "Небольшой взлом. Admin и Windows 2000", но мне ничего толкового из функций не предложили, так что сам нашел). Что касается NetApi.dll и NetUserGetInfo, то эту функцию я нашел только там.
PM   Вверх
Pakshin A. S.
Дата 20.2.2003, 03:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Сейчас попробовал загрузить библиотеку NetApi.dll через LoadLibrary, не получилось, даже не понял из-за чего. А библиотека NetApi32.dll загружается без всяких проблем. Странно, но факт есть факт, ведь Windows не должен же охранять свои библиотеки от просмотра...
PM   Вверх
dim
Дата 20.2.2003, 03:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 24.12.2002

Репутация: нет
Всего: нет



Pakshin A. S.Могу сразу обрадовать, если ты не понял о чем тебе толковали раньше - NetUserGetInfo() не вернет тебе пароль ни под каким видом.
--------------------
that's all
PM MAIL   Вверх
Pakshin A. S.
Дата 20.2.2003, 03:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Ошибаешься, она вернёт мне всевозможную информацию о пользователе, среди которой есть и пароль. Посмотри в Windows SDK всё, что связано с этой функцией. Там всё просто...
PM   Вверх
dim
Дата 20.2.2003, 04:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 24.12.2002

Репутация: нет
Всего: нет



Pakshin A. S. Это ты ошибаенься - она вернет всевозможную информацию кроме пароля, RTFM.
--------------------
that's all
PM MAIL   Вверх
Song
Дата 20.2.2003, 07:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



Только w9x


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
dim
Дата 20.2.2003, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 24.12.2002

Репутация: нет
Всего: нет



Song NetUserGetInfo() нету в 9x.
--------------------
that's all
PM MAIL   Вверх
man2002ua
Дата 21.2.2003, 02:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 943
Регистрация: 12.11.2002
Где: Киев

Репутация: нет
Всего: 2



смех... dim - тебя никто не слушает, а зря.
p.s: если бы ф-я возвращала пароль, то ни о какой безопасности в windows и речи быть не могло

Это сообщение отредактировал(а) man2002ua - 21.2.2003, 02:30


--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0484 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.