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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2012, 19:33   #1
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию запись кода в конец секции

Я хочу записать код в конец секции PE-файла.

Вот код файла, содержимое которого я хочу поменять
Код:
.data

DB_strOutput DB "Dosen't infected",0
.code
_start:
invoke MessageBox, 0, offset DB_strOutput, offset DB_strOutput, MB_OK
push 0
call ExitProcess
end _start
А вот код файла, который будет производить внедрение кода
http://zalil.ru/32849945

Я хочу вставить в "подопытный" файл следующий код
Код:
Label_forInfect_start:
invoke MessageBox,0, offset DB_string_forInfect, offset DB_string_forInfect, 1
push 0
push offset DB_string_forInfect
push offset DB_string_forInfect
push 1
call MessageBox
jmp DD_addressToJump
Label_forInfect_end:
Но есть проблема. Программа не работает=(
Я открыл отладчик и обнаружил несколько странных вещей:
1. В "подопытном" файле (который я модифицирую, только 3 секции
2. условие не выполняется:
Код:
.if EDX >= EBX
Может быть я что-то до этого неправильно написал?
Я думаю, что как-то не так работаю с IMAGE_SECTION_HEADER.
Код:
mov EDX, [EAX].Misc.VirtualSize
sub EDX, [EAX].SizeOfRawData;EBX contains free size in the section
Я заметил под отладчиком что EDX содержит отрицательное значение:
FFFFFF92
И последний вопрос. Может быть я здесь что-то неправильно сделал?
Код:
;get to know whrere we should implant new code
mov ECX, [EAX].PointerToRawData
add ECX, [EAX].SizeOfRawData
mov DD_addressBeginOfNewCode, ECX
Dimarik вне форума Ответить с цитированием
Старый 25.04.2012, 19:05   #2
All_Ex
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 22
По умолчанию

У всех EXE, что я видел SizeOfRawData секции кода больше VirtualSize, отсюда и отрицательное число в EDX. Посмотри сам любой EXE в PE анализаторе.
Чем могу.
All_Ex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хэши MD5 и хэш секции кода С++ Чёрный ветер Помощь студентам 1 20.11.2011 01:12
Запись в конец столбца systemmind Microsoft Office Excel 13 07.05.2011 23:23
Запись структуры в конец файла Ozerich Общие вопросы C/C++ 0 03.05.2010 23:10
запись в конец файла kate158 Общие вопросы Delphi 2 28.09.2009 19:17