Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2010, 13:35   #1
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию injfile & masm32

Есть ли в masm32 аналог директивы фасма- injfile, инжектирующей любой файл в код программы?

Если нет, как можно добавить другими путями? (добавление в секцию ресурсов не рассматривается)
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Старый 04.08.2010, 13:41   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Перекодировать в последовательность db

На любом языке программирования программа за несколько минут пишется
Black Fregat вне форума Ответить с цитированием
Старый 04.08.2010, 15:22   #3
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Перекодировать в последовательность db

На любом языке программирования программа за несколько минут пишется
А что, действительно Спасибо
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Старый 05.08.2010, 06:03   #4
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

В масме есть даже готовая. Bintodb зовется
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 05.08.2010, 13:17   #5
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

Цитата:
Сообщение от Goodwin98 Посмотреть сообщение
В масме есть даже готовая. Bintodb зовется
Ух ты, да, действительно странно бы было думать, что такой нет тоже спасибо Вам, но я уже успел написать свою..
Если вдруг кому пригодится можт, тут попроще чем в BinToDB:

Код:
;############резать здесь
		.386
	.model flat,stdcall
	option casemap:none
	include \masm32\include\windows.inc
	include \masm32\include\user32.inc
	include \masm32\include\kernel32.inc
	include \masm32\include\masm32.inc
	includelib \masm32\lib\user32.lib
	includelib \masm32\lib\kernel32.lib
	includelib \masm32\lib\masm32.lib
	include \masm32\include\comdlg32.inc
	includelib \masm32\lib\comdlg32.lib

.const
.data?
ofn   OPENFILENAME <>
buffer db 256 dup (?)
cWr dd ?
.data
FilterString db "All Files",0,"*.*",0
outfile db "out.inc",0

.code
start:
;invoke	GetCommandLine
;call FindAttribute
;test eax,eax
;jnz yesattributes

invoke	GetModuleHandle,NULL
mov ofn.lStructSize,SIZEOF ofn
mov  ofn.hInstance,eax
mov  ofn.lpstrFilter, OFFSET FilterString
mov  ofn.lpstrFile, OFFSET buffer
mov  ofn.nMaxFile,256
mov  ofn.Flags, OFN_FILEMUSTEXIST or \
OFN_PATHMUSTEXIST or OFN_LONGNAMES or\
OFN_EXPLORER or OFN_HIDEREADONLY
invoke GetOpenFileName, ADDR ofn

yesattributes:
invoke CreateFile,ADDR buffer,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_ARCHIVE,NULL
inc eax
test eax,eax
jz no_open
dec eax
push eax
	invoke GetFileSize,eax,0
	xchg eax,ebx
	invoke CreateFileMapping,[esp+14h],NULL,PAGE_READONLY,0,0,NULL
	push eax
		invoke MapViewOfFile,eax,FILE_MAP_READ,0,0,0   
		push eax
			xchg esi,eax
			mov eax,ebx
			call FindDBSize
			push eax 		; байт в файле db
				invoke VirtualAlloc,0,eax,MEM_COMMIT or MEM_RESERVE,PAGE_READWRITE;3000h,4h
				push eax
					xchg edi,eax
					mov ecx,ebx
					jmp _1
						;главный цикл преобразования
						next_str:
							dec edi
							dec edi
							dec edi
							mov ax,0a0dh
							stosw
						_1:	mov eax,030206264h
							stosd
							sub ebx,10h
						next_byte:	cmp ecx,ebx
									jz next_str
									xor eax,eax
									xor edx,edx
										lodsb
										push 10h
										pop ebp
										div ebp	
										call StosTetrad												
										xchg eax,edx
										call StosTetrad
									mov eax,030202c68h
									stosd
						loop next_byte	
						dec edi
						dec edi
						dec edi
						mov ax,");"
						stosd						
				pop edi	;начало
			pop ebx	;размер
			
		invoke CreateFile,ADDR outfile,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_ARCHIVE,0	
		push eax
				invoke 	WriteFile,eax,edi,ebx,addr cWr,0
		pop eax
		invoke CloseHandle,eax	
		invoke VirtualFree,edi,ebx,MEM_RELEASE	
			
		pop eax 
	invoke UnmapViewOfFile,eax
	pop eax
	invoke CloseHandle,eax
pop eax
invoke CloseHandle,eax
no_open:

invoke	ExitProcess,0

;####################################
;нахождение места для файла db
;вход: еах-размер файла

FindDBSize:
	push ebx
	push ecx
	push edx
		push eax
		mov ebx,eax
		push 10h
		pop ecx
		xor edx,edx
		div ecx
		.if edx != 0
			inc eax
		.endif	
		imul eax,eax,3
		add ebx,eax
		pop eax
		imul eax,eax,5
		add eax,ebx
	pop edx
	pop ecx
	pop ebx
ret	
	
StosTetrad: ; преобразует и записывает одну тетраду
	.if eax < 0ah
		add eax,30h
		stosb
	.else
		add eax,57h
		stosb
	.endif	
ret


end start
Нет, ну правда..

Последний раз редактировалось Stilet; 05.08.2010 в 13:29.
yuran666666 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MASM32, начало Delffinn Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 12 19.07.2012 19:09
Assembler, masm32 angel28 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 29.12.2009 16:50
TForm & TImage & PNG & Прозрачность delphi_beginner Общие вопросы Delphi 7 19.09.2009 08:46
Random на MASM32 Ulex Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 02.05.2008 16:00
DirectX на masm32 Ulex Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 10.03.2008 23:05