Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > Извлечь ресурс ( dll ) и подключение.


Автор: ConstantinXXX 26.5.2008, 16:05
Я в асме неочень силен т.е. вообше =( на делфи это как 1,2,3 =) мне надо :
Есть прога в ней лежит ресурс dll , после запуск программа вытаскивает из себя dll и потом её подключает.
P.S. Очень буду благодарен за исходничек =)
С меня +... 

Автор: anwe 26.5.2008, 20:33
ConstantinXXX, ну есть уже подобно, только в исходной файле лежит exe. И еще не понятен "ресурс". У меня exe лежит в секции данных, а надо именно в секции ресурсов?

Автор: ConstantinXXX 26.5.2008, 23:00
anwe впринципе безразницы.smile Только вот можиш ( если нетрудно... ) набросать примерно такой исходничек: программа извлекает dll из себя, а потом подключает её? smile
В Delphi это заумет примерно 8 - 15 стор.smile к сажелению в асме я только новичек. =(

Автор: anwe 27.5.2008, 01:56
Код

.386
.model flat,stdcall
option casemap:none

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib\masm32\lib\kernel32.lib

    .data
dll    db    'Dllname.dll',0
code_dll    db    65,32,45,9,5,63,12,8         ;машинный код длл (здесь - произвольный)
..........
..........
..........
len    equ    $-code_dll
Written db  0

    .code
start:
invoke    CreateFile,offset dll,GENERIC_READ or GENERIC_WRITE,\            ;создать файл длл
    FILE_SHARE_READ or FILE_SHARE_WRITE,0,CREATE_ALWAYS,\
    FILE_ATTRIBUTE_NORMAL,0
push    eax
lea    ecx,offset code_dll                                                     ;адрес начала кода длл
invoke    WriteFile,eax,ecx,len,addr Written,0                                  ;записать в файл
call    CloseHandle                                                                    ;закрыть его
invoke  LoadLibrary,offset dll                                                            ;и загрузить
ret
end    start

На словах, думаю, все итак понятно

Автор: ConstantinXXX 5.6.2008, 00:21
Скомпельти кто нить пожалуста smile 
если можно напеши как его компелили. =(
Бился, бился с асмой корочеу асм победил. =(
Некак немогу вьехать как работать с этим асмом. =(
Пипец просто.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)