Сейчас на форуме: tyns777 (+5 невидимых)

 eXeL@B —› Программирование —› Windows Password filter (passfilt.dll)
Посл.ответ Сообщение

Ранг: 34.6 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 21 августа 2007 13:24 · Поправил: Alexus2006
· Личное сообщение · #1

как самому написать такую DLL ???
slil.ru/24762358 (~4.5 Kb)
экспортируется всего одна функция PasswordFilter() причем она как то интересно написана т.е. она является точкой входа DLL там где должна быть
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved) как это так я вообще не пойму... написал свой dll с экспортом такой же функции всё вроде нормально он блин не работает
Помогите плиз ...



Ранг: 34.6 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 21 августа 2007 13:27 · Поправил: Alexus2006
· Личное сообщение · #2

в архиве project1.dll - это моя DLL которая не работает



Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

Создано: 21 августа 2007 13:38
· Личное сообщение · #3

скажи линкеру /entry:PasswordFilter



Ранг: 38.0 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 21 августа 2007 13:38
· Личное сообщение · #4

Alexus2006 так и чего ты хочешь, чтобы все напрягли свои извилины и догадались
скинь файл на рапиду или слтл...



Ранг: 73.1 (постоянный), 130thx
Активность: 0.040.23
Статус: Участник

Создано: 21 августа 2007 16:57
· Личное сообщение · #5

Alexus2006
>>написал свой dll с экспортом такой же функции
хм... а ты смотрел в экспорте название своей функции?
"@PasswordFilter$qqsp19_LSA_UNICODE_STRINGt1t1i"
это вроде не совсем PasswordFilter

экспортируй через *.def



Ранг: 34.6 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 22 августа 2007 08:14
· Личное сообщение · #6

RamMerlabs это как?
функция экспортируется так:
__declspec(dllexport) BOOL NTAPI PasswordFilter(PUNICODE_STRING UserName,
PUNICODE_STRING FullName,
PUNICODE_STRING Password,
BOOL SetOperation);
То что функция не совсем такая при экспорте получается это я видел только вот как добиться такого же экспорта?




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 22 августа 2007 08:50
· Личное сообщение · #7

тебе же сказали def заюзай ну можешь еще хекс редактором поправить

-----
Yann Tiersen best and do not fuck




Ранг: 73.1 (постоянный), 130thx
Активность: 0.040.23
Статус: Участник

Создано: 22 августа 2007 09:26
· Личное сообщение · #8

пишешь файло такого содержания:
обзываешь для простоты passfilt.def

LIBRARY passfilt
EXPORTS
PasswordFilter

и линкеру сообщаешь:
/def:".\passfilt.def"



Ранг: 34.6 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 22 августа 2007 15:08 · Поправил: Alexus2006
· Личное сообщение · #9

всё получилось всем спасибо
Теперь ещё вопрос как из своей проги передать в эту функцию параметры:
typedef bool (__import * FType(PUNICODE_STRING UserName,
PUNICODE_STRING FullName,
PUNICODE_STRING Password,
BOOL SetOperation));
PUNICODE_STRING UserName;
PUNICODE_STRING FullName;
PUNICODE_STRING Password;
???
//Загрузил бибилиотеку
HINSTANCE dllinstance = LoadLibrary("My_Passfilt.dll");
//Нашел адрес функции
FType * TestFunc;
TestFunc = (FType *) GetProcAddress(dllinstance, "PasswordFilter");
//теперь по идее можно её вызвать
bool res = TestFunc(UserName, FullName, Password, true);

Передать параметры ни как не получается




Ранг: 58.1 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 24 августа 2007 00:02
· Личное сообщение · #10

Тип вызова какой? Для каждого типа вызова параметры передаються по своему (у fastcall в регистрах, stdcall в стэк и т.д.) Нужно знать какой тип вызова...
В С как его дописать не знаю, а вот в дельфе мона вот так:

var
FType: function(UserName: PUNICODE_STRING;
FullName: PUNICODE_STRING;
Password: PUNICODE_STRING;
SetOperation: BOOL): BOOL; stdcall {тип вызова stdcall} = nil;
//...
//А потом просто вот так:
FType := GetProcAddress(dllinstance,'PasswordFilter');
bool_res:=FType(UserName, FullName, Password, true);




Ранг: 34.6 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 13 сентября 2007 14:53
· Личное сообщение · #11

www.passfilt.tu1.ru/


 eXeL@B —› Программирование —› Windows Password filter (passfilt.dll)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати