| Посл.ответ |
Сообщение |
|
Создано: 11 мая 2006 08:29:05 Личное сообщение #1
Как создать на Асме (конкретно - на MASM) свою DLL и заюзать функции из неё в программе?
|
|
|
Создано: 11 мая 2006 08:35:17 Личное сообщение #2
killsniper пишет:
и заюзать функции
этого не помню, вспомнил, ток как компилить:
C:/masm32/bin/ml /c /coff /Cp mydll.asm
C:/masm32/bin/link /DLL /DEF:mydll.def /SUBSYSTEM:WINDOWS /LIBPATH:c:\masm32\lib mydll.obj
----- may all your PUSHes be POPed!
|
|
Создано: 11 мая 2006 08:38:21 Личное сообщение #3
killsniper пишет:
Как создать на Асме (конкретно - на MASM) свою DLL и заюзать функции из неё в программе?
Блин..... Неужели yandex.ru опять сдох????
|
|
Создано: 11 мая 2006 08:45:05 Личное сообщение #4
killsniper, у мня пример есть, кидай мыло в личку...
----- may all your PUSHes be POPed!
|
|
Создано: 11 мая 2006 14:22:14 Личное сообщение #5
В самом дистрибутиве masm'а имеются примеры DLL'ок и их прикрутка к проге!
|
|
Создано: 11 мая 2006 17:15:41 Личное сообщение #6
Пасибо всем.
Яндекс не сдох, а выдаёт какую-то бодягу.
|
|
Создано: 11 мая 2006 19:01:24 Личное сообщение #7
killsniper Скачай с wasm.ru masm32 там в папке Туториал дохрена примеров
----- Идите на...хотя постойте! |
|
Создано: 11 мая 2006 19:06:50 · Поправил: intty Личное сообщение #8
%include "c:\nasm\inc\win32n.inc"
global mySetText
export mySetText
global myGetText
export myGetText
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::
[segment code use32 class='CODE']
..start:
dllstart:
mov eax,1
ret 12
;with using stack frame
;One param - offset to stored string
mySetText:
push ebp
mov ebp,esp
mov esi,[ebp+08h]
mov edi,dword stText
mov ecx,[ebp+0Ch]
rep movsb
pop ebp
ret
;with using stack frame
;One param - offset to buffer recieved text
myGetText:
push ebp
mov ebp,esp
mov esi,dword stText
mov edi,dword [ebp+08h]
mov ecx,[ebp+0Ch]
rep movsb
pop ebp
ret
section .BSS
stText resb 020h
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
[added]
блин. кажется я масм с насмом попутал. ну может пригодится..
|
|
Создано: 11 мая 2006 21:53:24 Личное сообщение #9
Заюзай RadAsm там темплейт готовый. Ну и Iczelion'а почитай.
----- Blame the victim!
|
=TS= Ранг: 213.0 (наставник) Статус: Участник # Malware KilleR #
|
Создано: 11 мая 2006 22:36:23 Личное сообщение #10
killsniper
а можно поинтересоваться, почему именно на асме?
----- DREAMS CALL US
|
|
Создано: 18 мая 2006 15:06:35 Личное сообщение #11
Хм, раз уж подняли тему, то такой вопрос:
Есть на асме либа, у нее одна функция экспортируется.
Параметр один тоже - тип DWORD
Должен передаваться путь через этот параметр dllке.
Какой тип в делфях этот параметр будет иметь?
PChar пробовал - передает нормально только строку длиной в один символ, если длиннее передаешь, то лабуда приходит какая-то...
----- ... we have to give freedom its REVENGE! ...
|
|
Создано: 18 мая 2006 15:16:01 · Поправил: Hellspawn Личное сообщение #12
я не знаю конено =) но должно быть норм..
пробовал "stdcall" и т.п. приписать к вызову?
----- [nice coder and reverser]
|
|
Создано: 18 мая 2006 15:18:31 Личное сообщение #13
4kusNick
Параметр один тоже - тип DWORD
Такой же будет и в Делфях
Если юзать PChar - то только как масив, тогда все будет ок.
----- Don_t hate the cracker - hate the code. |
|
Создано: 18 мая 2006 15:39:43 Личное сообщение #14
Как массив?
А можно поподробней?
Спасибо.
----- ... we have to give freedom its REVENGE! ...
|
|
Создано: 18 мая 2006 16:34:06 Личное сообщение #15
4kusNick
Ф-ия получает строку или указатель на неё?
|
|
Создано: 18 мая 2006 16:40:14 Личное сообщение #16
4kusNick
Точно не помню, но вроде так:
Var Переменная : PChar[1024];
или
Var Переменная : array [0..255] of PChar;
----- Don_t hate the cracker - hate the code.
|
|
Создано: 18 мая 2006 20:40:06 Личное сообщение #17
А что должна выполнять эта функция? Может ей обычный dword просто передать
|
|
Создано: 19 мая 2006 08:15:22 Личное сообщение #18
Попробуй Integer(PChar('Строка'))
|
|
Создано: 19 мая 2006 11:27:12 Личное сообщение #19
Функция, ну, скажем, вызов обычного мессажбокса (параметр - строка самого сообщения).
Спасибо всем, попробую...
----- ... we have to give freedom its REVENGE! ...
|