![]() |
eXeL@B —› Вопросы новичков —› Увеличение размера DOS заголовка. |
Посл.ответ | Сообщение |
|
Создано: 16 марта 2017 20:33 · Личное сообщение · #1 Экспериментирую со своим тестовым файлом. После увеличения, пересчитываем размер e_lfanew. Этого естественно мало, файл становится не рабочим. Пересчитываю PointerToRawData для всех секций. Вроде все они сдвигаются на нужное место, но этого тоже мало. Подскажите какие значения мне нужно пересчитать для восстановления работоспособности файла. ![]() |
|
Создано: 16 марта 2017 23:09 · Личное сообщение · #2 |
|
Создано: 16 марта 2017 23:14 · Личное сообщение · #3 |
|
Создано: 16 марта 2017 23:21 · Личное сообщение · #4 |
|
Создано: 16 марта 2017 23:25 · Личное сообщение · #5 |
|
Создано: 16 марта 2017 23:28 · Поправил: DenCoder · Личное сообщение · #6 zombi-vadim Во-первых, Вы неправильно выразились! Размер DOS-заголовка всегда 0x40 байт! Во-вторых, e_lfanew(по смещению 0x3C) - не размер заголовка, а смещение следующего заголовка, который в основном всегда PE! По сему, просто подозрения, что неправильно меняете значение поля e_lfanew... Добавлено спустя -58 минут Ну, а в-третьих, раз нельзя глянуть файл, то, упражняясь в телепатии, вангую, что Вы вдобавок забыли про ALIGNMENT )) ----- IZ.RU ![]() |
|
Создано: 16 марта 2017 23:37 · Поправил: dosprog · Личное сообщение · #7 Есть такая программка - DEXEM (Dual-EXE Manipulator (с)Suslikov) - замените целиком DOS-stub с её помощью на другой, убедитесь в работоспособности файла-результата и посмотрите, что там поменялось по сравнению с исходным. ![]() |
|
Создано: 16 марта 2017 23:38 · Личное сообщение · #8 |
|
Создано: 16 марта 2017 23:44 · Поправил: DenCoder · Личное сообщение · #9 |
|
Создано: 16 марта 2017 23:53 · Личное сообщение · #10 |
|
Создано: 17 марта 2017 00:00 · Поправил: dosprog · Личное сообщение · #11 ) Э. повежливей. DenCoder прав. DOS-MZ заголовок имеет размер 0х40, такой у него формат. Всё остальное, до PE- заголовка, - это собственно DOS'овский исполняемый EXE. Там может быть вообще что угодно, разного размера. А может не быть вообще ничего - сразу по смещению 40h и будет PE-заголовок. Такое делают некоторые упаковщики. ![]() |
|
Создано: 17 марта 2017 00:04 · Личное сообщение · #12 |
|
Создано: 17 марта 2017 00:08 · Личное сообщение · #13 |
|
Создано: 17 марта 2017 00:09 · Поправил: dosprog · Личное сообщение · #14 |
|
Создано: 17 марта 2017 00:11 · Личное сообщение · #15 |
|
Создано: 17 марта 2017 00:56 · Личное сообщение · #16 |
|
Создано: 17 марта 2017 00:59 · Личное сообщение · #17 |
|
Создано: 17 марта 2017 05:22 · Личное сообщение · #18 zombi-vadim пишет: я увеличиваю размер между DOS-заголовком и следующем заголовком PE. Допустим добавляем некое количество нулей между ними. про выравнивание уже написали. и не забываем, что ПЕхидер обязан присутствовать в памяти после загрузки модуля. а значит, он должен либо находиться в пространстве какой-либо секции, либо возле ДОСхидера (ImageBase .. ImageBase+SectionAlignment) ![]() |
|
Создано: 17 марта 2017 10:44 · Личное сообщение · #19 zombi-vadim пишет: Я пытаюсь сократить время изучения формата, если вы не знаете ответа то писать в теме нет необходимости! Зомби-новичок по имени Вадим идёт отдыхать и учиться вежливости на несколько дней. Уж слишком заметна у этого зомби нехватка того, Почитать на досуге классику: Номер раз: PE Format pecoff.docx, Size: 206 KB, Date Published: 1/24/2017 Номер два: ![]() ----- EnJoy! ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Увеличение размера DOS заголовка. |
Эта тема закрыта. Ответы больше не принимаются. |