а можно пример,а то я с длл-ми еще мало очень работал.(на асме) вот сама функция Code: CryptXor proc src:DWORD,sz:DWORD,xkey:DWORD pusha mov esi,src mov edi,src mov ecx,sz xor eax,eax CryptXor_m1: lodsb xor eax,xkey stosb loop CryptXor_m1 popa ret CryptXor endp файл def: EXPORTS CryptXor а сама dll как должна выглядеть.и как допустим в проге вызвать ету функцию чтобы шифровать скажем строку и выдать в messagebox? я пробовал не получилось...
нет, Code: LIBRARY <имя dll> EXPORTS CryptXor Сама DLL Code: .386 .model flat, stdcall .code CryptXor proc src:DWORD,sz:DWORD,xkey:DWORD pusha mov esi,src mov edi,src mov ecx,sz xor eax,eax CryptXor_m1: lodsb xor eax,xkey stosb loop CryptXor_m1 popa ret CryptXor endp end Компиляция Code: \masm32\bin\ml.exe /c /coff <имя длл.asm> \masm32\bin\link.exe /DLL /NOENTRY /DEF:<файл ДЕФ.def> <имя длл>.obj Вызывать функцию либо через include <имя длл>.lib Затем прописать прототип этой функции, и просто использоваться CryptXor. Либо второй вариант, используя WinAPI LoadLibraryA и GetProcAdress. С функциями разбирайся сам - это элементарно.
Обязательно или нет, а по правилам должно быть. А зачем здесь точка входа? Ты просто экспортируешь одну функцию. Для этого я при линковке указал, что точки входа быть не должно, ключом /NOENTRY.
Зачем? Полный исходник я дал. Файл .def тоже дал. Ключи компиляции - и об этом позаботился. Что бы сделать такую ДЛЛ, достаточно пару раз клацнуть ctrl+c, ctrl+v. Тем более не имеет абсолютно никакого смысла ради такой мелкой функции делать отдельную ДЛЛ. Её проще поместить в код программы.
я сделал с entry point и в дэф писал только экспорт+ еще как ее юзать( loadlibrary и getprocaddress).ну хз,а вдруг...