Сейчас на форуме: tyns777, cppasm, dutyfree (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Проблема с добавлением секции
<< . 1 . 2 .
Посл.ответ Сообщение

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

Создано: 31 августа 2017 16:14 · Поправил: alex-rudenkiy
· Личное сообщение · #1

Здравствуйте, я хочу добавить CODE секцию в программу вручную, ну в общем, я добавляю в Section Header описание своей секции lol, затем меняю в заголовке число секций с 3 на 4, ну вот, потом добавляю байт-код (он не рабочий, чиста для примера) и потом пытаюсь его запустить в ollydbg, вроде-бы схема должна быть рабочей, но он даже не открывается, error вылетает, что делать, подскажите пожалуйста :

Name VirtSize VirtAddr SizeRaw PtrRaw Flags Pointing Directories
-------------------------------------------------------------------------------------------
.text 00003A56h 01001000h 00003C00h 00000400h 60000020h Import Table
.lol 00000050h 0100A200h 00000050h 0001D430h E0000020h
.data 00000B98h 01005000h 00000200h 00004000h C0000040h
.rsrc 00019160h 01006000h 00019200h 00004200h 40000040h Resource Table


54c7_31.08.2017_EXELAB.rU.tgz - Winmine__XP - с секцией.rar




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 04 сентября 2017 19:57
· Личное сообщение · #2

rmn

Вопрос: Как приготовить плов
Ответ difexacaw:
Давайте взглянем.
<...>
Дизасмим ядро

-----
EnJoy!


| Сообщение посчитали полезным: TRPD, sefkrd, v00doo


Ранг: 77.2 (постоянный), 74thx
Активность: 0.190.15
Статус: Участник

Создано: 04 сентября 2017 20:55
· Личное сообщение · #3

Jupiter
Не поспоришь..




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 05 сентября 2017 10:22 · Поправил: difexacaw
· Личное сообщение · #4

Jupiter

Эта задача не может быть решена иначе. В данном случае проблема очевидна, если понятен пе формат, то и вопроса нет. Но есть более сложные случаи, где ошибка не очевидна и зависит от загрузчика.
Поэтому лишь через отладку процесса загрузки можно прийти к решению. Конечно само собой понятно что это всё сложно для ньюби, который не имеет общего представления про формат и его обработку. Но как бы там небыло, это единственно годный путь решения, знания накапливаются от меньшего к большему, но не наоборот, а задача данная выходит за пределы опыта тс.

-----
vx




Ранг: 39.6 (посетитель), 21thx
Активность: 0.020
Статус: Участник

Создано: 07 сентября 2017 04:29
· Личное сообщение · #5

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

разумеется, можно задачу решить и через отладку процесса, но тому кто не умеет смотреть горло через рот, жопа не поможет.


HDR: Checksum (0002B641) is incorrect (00022C0C)
SEC: #2: VirtualAddress (0000A200) is not correct (00005000)
SEC: #2: PointerToRawData (0001D430) is not file align (0001D400)
SEC: #2: Section (0001D430-0001D480) is outside the file (0001D463)
SEC: #3: VirtualAddress (00005000) is not correct (00006000)
SEC: #4: VirtualAddress (00006000) is not correct (00007000)
SEC: #4: Needs additional 1 pages
DIR: #12, VirtualAddress (00000248) into header
IMP: Dll name rva (6A0375C0) is invalid
IMP: Dll name rva (C2C95EC0) is invalid
IMP: 'ommode' load error 126
IMP: 'Key' load error 126
IMP: Dll name rva (000045E4) is invalid
IMP: '2' load error 126
IMP: 'CheckMenuItem' load error 126
IMP: 'GetDlgItemInt' load error 126
IMP: 'Ф' load error 126
IMP: 'undW' load error 126
BND: ';Ш' load error 126
BND: Dll name rva (00000248+6000) is invalid
BND: 'rgs' load error 126
OVR: Tail shortage size 0000019D/413 before 0001D600

неверна контрольная сумма в заголовке
2я секция имеет неверный виртуальный адрес, не выравнена и выходит за физический размер файла
3я и 4я серции имеют неверные VA и для 4ой секции необходима еще одна страница - это все последствия "добавления"
VA 12ой директории смотрит в заголовок
дальше про мусор в обоих импортах
и последняя строка про несовпадении физического размера файла и окончания последней секции



Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 07 сентября 2017 04:55
· Личное сообщение · #6

эффект домино
VOLKOFF пишет:
сразу увидишь много подсвеченных ошибок PE полей (понимая что ошибки не в них непосредственно а из-за поломки структуры хидера твоими изящными вставками)





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 10 сентября 2017 22:49
· Личное сообщение · #7

sen

Схема понятна. ТС без понятия произвёл какие то модификации пе и спрашивает почему оно стало не рабочим. Это то же самое что рандомом выполнить некоторую порцию записей в модуль и его запустить. Затем прийти сюда и спросить почему загрузка не проходит, я уже говорил. Поэтому топик клосед, тс вкуривать матчасть по формату, фейлы км загрузчика далеко не просто разобрать.

31d1_10.09.2017_EXELAB.rU.tgz - pecoff.zip

-----
vx


| Сообщение посчитали полезным: sendersu
<< . 1 . 2 .
 eXeL@B —› Вопросы новичков —› Проблема с добавлением секции
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати