Сейчас на форуме: asfa, bartolomeo, hgdagon (+6 невидимых)

 eXeL@B —› Программирование —› Формат PE
Посл.ответ Сообщение

Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 17 июня 2006 12:37
· Личное сообщение · #1

Что такое смещение?
Как можно узнать смещение реального PE заголовка?
Где это все посмотреть(блокнот, 16-тиричный редактор)?
Поподробнее!!!




~~~~~~~~~~~~~~~~~~~~~~
╒═════════════════════════════════════════════════════════════════════ ════════╕
│ У таблицы нет определенного формата и заголовков │
╞═════╤══════════════╤════════════════════════════════════════════════ ════════╡
│ 00h │ DOS 2 Header │ Совместимый заголовок (форматированная часть), │
│ │ │ будем считать, что его формат всем известен │
├─────┼──────────────┴──────────────────────────────────────────────── ────────┤
│ 1Ch │ 4 байта, выравнивающие форматированную │
│ │ область заголовка с 1Ch до 20h, никто не мешает │
│ │ им там не присутствовать но у Микрософта они описаны │
│ │ Это позволяет заголовку файла иметь красивый размер в 2 параграфа... │
├─────┼────────────────┬────────────────────────────────────────────── ────────┤
│ 20h │ OEM Identifier │ Другими словами, информация о программе, │
│ │ OEM Info │ практически никогда не присутствует, однако │
│ │ │ место должно быть зарезервировано. │
│ │ │ Я встречал файлы с заполненным полем, наверное их │
│ │ │ делали люди буквально соблюдающие требования доку- │
│ │ │ ментации от Microsoft │
├─────┼──────────────┬─┴────────────────────────────────────────────── ────────┤
│ 3Ch │ Offset to PE │ Смещение реального PE заголовка в файле, │
│ │ Header │ DWord, присутствует именно здесь, ? заголовок выравни- │
│ │ │ вается на 8 байтовую границу относительно начала файла.│
├─────┼──────────────┴──────────────────────────────────────────────── ────────┤
│ min │ релокейшены программы-заглушки, у стандартного STUB'а их нет │
│ 40h │ На это поле указывает ReloOfs заголовка DOS 2 Header, соответственно │
│ │ его значение должно быть >=40h иначе такой файл как кандидат в PE │
│ │ рассматриваться вообще не будет. Но на самом деле загрузчику без- │
│ │ различно фактическое их положение. │




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 17 июня 2006 12:54
· Личное сообщение · #2

sniperZ

Почитай на _http://wasm.ru/publist.php?list=1 о формате PE. Там подробно. Еще PE формат в вики описан.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 17 июня 2006 12:54
· Личное сообщение · #3

sniperZ пишет:
Как можно узнать смещение реального PE заголовка?

Это шутка? Ты же фрагмент выложил:

sniperZ пишет:
3Ch │ Offset to PE │ Смещение реального PE заголовка в файле

sniperZ пишет:
Где это все посмотреть(блокнот, 16-тиричный редактор)?

Любой хекс редактор. А поподробней читай мануалы. Но вижу, что ты их вообще не читаешь, раз задаешь вопрос, на который тутже выкладываешь ответ в виде фрагмента мануала.

-----
Yann Tiersen best and do not fuck




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

Создано: 17 июня 2006 13:00
· Личное сообщение · #4

Статья Касперски внедрение в pe/coff файлы

_http://www.insidepro.com/kk/019/019r.shtml



Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 17 июня 2006 13:17
· Личное сообщение · #5

Так что такое смещение?
3Ch- смещение реального PE заголовка в файле?
Как его посмотреть в hex-редакторе?
Из туториалов не понимаю.




Ранг: 536.4 (!), 171thx
Активность: 0.660.13
Статус: Администратор
Создатель CRACKL@B

Создано: 17 июня 2006 13:58
· Личное сообщение · #6

sniperZ пишет:
Так что такое смещение?

Количество байт от начала файла. Бери шестнадцатиричный редактор и смотри. 3Ch - шестнадцатиричное число, учи системы счисления.

-----
Всем не угодишь





Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 17 июня 2006 14:00
· Личное сообщение · #7

sniperZ
Самый первый байт в файле имеет смещение 0, второй - 1 и т.д.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 17 июня 2006 14:08
· Личное сообщение · #8

3Ch-60 в десятичной.
Т.е 60,61,62,63 - адрес смещения PE заголовка в файле?



Ранг: 174.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 17 июня 2006 14:20
· Личное сообщение · #9

sniperZ пишет:
3Ch-60 в десятичной.
Т.е 60,61,62,63 - адрес смещения PE заголовка в файле?

Да, только адрес - это номер первого байта, а не всех четырех. И в десятичную систему не надо ничего переводить, в данном случае шестнадцатеричные числа повсеместно используются.



Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 17 июня 2006 14:59
· Личное сообщение · #10

Адрес смещения PE заголовка в файле с 3Ch-40h, т.е 4 байта???
Эти 4 байта и есть смещение PE заголовка?




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 17 июня 2006 15:01
· Личное сообщение · #11

sniperZ пишет:
Эти 4 байта и есть смещение PE заголовка?

Да. Почитай все же туторы...

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 17 июня 2006 15:06
· Личное сообщение · #12

Я и разбираюсь с туторами...
4D5Ah=MZ
Вопрос:
Т.к. M или Z - 1 байт,зн. 4D или 5A - тоже 1 байт??????



Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 17 июня 2006 15:10
· Личное сообщение · #13

Еще вопрос:
Если с 3Ch по 40h на ходятся байты 00 01 00 00, то как понять адрес смещения?



Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 17 июня 2006 15:54
· Личное сообщение · #14

Что никто не может толком ответить




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 17 июня 2006 15:55
· Личное сообщение · #15

sniperZ пишет:
Если с 3Ch по 40h на ходятся байты 00 01 00 00, то как понять адрес смещения?

Адресация идет от младшего к старшему. Т.е. твое 00 01 00 00 в редакторе - это 00000100h. Заканчивай задавать простецкие вопросы. Сначала почитай литературку, потом задавай вопросы.
Ознакомься http://exelab.ru/art/?action=cat&id=1 Особо обрати внимание на дневники чайника.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 17 июня 2006 16:04
· Личное сообщение · #16

???Адресация идет от младшего к старшему. Т.е. твое 00 01 00 00 в редакторе - это 00000100h???

С этого места можно поподробней ПЛИЗ!!!



Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 17 июня 2006 17:00
· Личное сообщение · #17

Вы что,заснули?



Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 17 июня 2006 17:04
· Личное сообщение · #18

sniperZ
статьи читай, тема закрыта


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