Сейчас на форуме: Rio, CDK123, zds, tyns777, tihiy_grom, morgot, rmn (+4 невидимых)

 eXeL@B —› Программирование —› .dll в .exe [MMASM]
Посл.ответ Сообщение


Ранг: 147.7 (ветеран), 50thx
Активность: 0.120
Статус: Участник
sv_cheats 1

Создано: 27 октября 2008 19:38 · Поправил: SER[G]ANT
· Личное сообщение · #1

Нужна подсказка или сырок на MASM по следующему вопросу:
есть .exe и .dll
Нужно поместить .dll в ресурсы этого .exe. При запуске .exe .dll извлекается из ресурсов и создается в одной директории с .exe. После закрытия .exe .dll удаляется.

З.Ы. Гугл и Яндекс мне не помогли.
З.З.Ы. Ничего вредоностного не компилю.

Буду благодарен всем откликнувшимся.

up
2 M в слове MASM в названии темы нечаянно написал, но отредактировать не могу =/




Ранг: 282.8 (наставник), 24thx
Активность: 0.260
Статус: Участник
win32.org.ru

Создано: 27 октября 2008 19:45 · Поправил: Guru_eXe
· Личное сообщение · #2

то есть тебе нужен сорц проги на масме, которая вставит длл в эгзе, и пропишет весь необходимы код в target-егзе? ужаснах)
Поправь если что не так, просто не уверен, что правильно всё понял.

-----
may all your PUSHes be POPed!





Ранг: 147.7 (ветеран), 50thx
Активность: 0.120
Статус: Участник
sv_cheats 1

Создано: 27 октября 2008 19:52 · Поправил: SER[G]ANT
· Личное сообщение · #3

не не не не не )

Вообщем, делаю трейнер на масме, нашел сырок In Game Menu (http://cyberdoomsystems.narod.ru/CDS/igm_031.rar). И мне нужно поместить эту длл в мой трейнер и, при его запуске, дллка вытаскивалась из ресурса и помещалась в эту же директорию. В трейнерах от Pizzadox делается именно так как я хочу сделать.

А ты, походу, подумал что мне нужно поместить .dll уже в скомпилинный .exe или как-то так. Хотя, я сам виноват, объяснил в первом посте не читабельно.
И мне не обязательно сырок (т.е. чтобы мне просто копи-пейст), мне хоть какую-нибудь инфу по данному вопросу, т.к. поисковики послали меня =/



Ранг: 17.3 (новичок), 1thx
Активность: 0.010
Статус: Участник

Создано: 27 октября 2008 21:02
· Личное сообщение · #4

М.б неправильно тебя понял, но если извлечь файл из ресурсов то попробуй так FindResource->LoadResource->SizeofResource+LockResource , получаешь размер и указатель на ресурс в памяти, и записываешь в файл.



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 октября 2008 22:15 · Поправил: CDW
· Личное сообщение · #5

X:\masm32\BINTODB.EXE - выдает include.asm наподобие
Code:
  1. ; C:\WINDOWS\system32\kernel32.dll is 1058304 bytes long
  2. db 77,90,144,0,3,0,0,0,4,0,0,0,255,255,0,0
  3. db 184,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0
  4. db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  5. db 0,0,0,0,0,0,0,0,0,0,0,0,232,0,0,0
  6. ...

подправляешь
Code:
  1. ; C:\WINDOWS\system32\kernel32.dll is 1058304 bytes long
  2. .data
  3. myDLL db 77,90,144,0,3,0,0,0,4,0,0,0,255,255,0,0
  4. db 184,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0
  5. db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  6. db 0,0,0,0,0,0,0,0,0,0,0,0,232,0,0,0

делешь include в своем сорце (к примеру:
Code:
  1. 386 
  2. .model flat,stdcall 
  3. option casemap:none 
  4. DlgProc proto :DWORD,:DWORD,:DWORD,:DWORD 
  5. include \masm32\include\windows.inc 
  6. include \masm32\include\user32.inc 
  7. include \masm32\include\kernel32.inc 
  8. include \masm32\include\gdi32.inc
  9. include \masm32\include\comdlg32.inc
  10. include \masm32\include\ws2_32.inc 
  11. include masm32.inc
  12. include myDLLinc.asm

и можешь юзать сразу в АСМе
Code:
  1. invoke CreateFile, offset "myDLL.dll" ...
  2. WriteFile,..., offset myDLL,SIZE

без заморочек с ресурсами



Ранг: 24.4 (новичок), 1thx
Активность: 0.010
Статус: Участник

Создано: 27 октября 2008 22:26
· Личное сообщение · #6

на фасме все куда как проще...
...
invoke WriteFile, ..., dll_data,dll_size, ...
...
dll_data:
file "dll.dll"
dll_size=$-dll_data




Ранг: 147.7 (ветеран), 50thx
Активность: 0.120
Статус: Участник
sv_cheats 1

Создано: 27 октября 2008 22:44
· Личное сообщение · #7

2 CDW

Большое спасибо. То что нужно.




Ранг: 340.0 (мудрец), 22thx
Активность: 0.120
Статус: Участник
THETA

Создано: 27 октября 2008 23:01
· Личное сообщение · #8

SER[G]ANT
Вот рабочий пример такого рода проги (на MASM)

9b13_27.10.2008_CRACKLAB.rU.tgz - Extractor.rar

-----
Программист SkyNet





Ранг: 147.7 (ветеран), 50thx
Активность: 0.120
Статус: Участник
sv_cheats 1

Создано: 27 октября 2008 23:18
· Личное сообщение · #9

2 FrenFolio
Спасибо.


Ответ получил. Тему можно закрывать




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 28 октября 2008 19:45
· Личное сообщение · #10

Да автор и сам закрыть может. Кнопка Закрыть тему под кнопкой Отправить сообщение.


 eXeL@B —› Программирование —› .dll в .exe [MMASM]
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати