Сейчас на форуме: jinoweb (+5 невидимых)

 eXeL@B —› Программирование —› Получить доступ к данным в добавленной секции EXE файла
Посл.ответ Сообщение


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

Создано: 05 декабря 2015 23:38
· Личное сообщение · #1

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

1991_05.12.2015_EXELAB.rU.tgz - screen.png



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

Создано: 05 декабря 2015 23:46 · Поправил: dosprog
· Личное сообщение · #2

jangle пишет:
Добавляю секцию с байт-кодом в экзешник, нужно ли выравнивать ее размер? или так сойдет?


Если секция последняя, то и так сойдёт. Но надо пробовать.

jangle пишет:
как скопировать данные из добавленной секции после загрузки exe файла? Нужно скопировать байт-код в буфер и передать его интерпретатору.


Ну есть же виртуальный адрес начала добавленной секции - его и использовать.






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

Создано: 05 декабря 2015 23:53
· Личное сообщение · #3

dosprog пишет:
Ну есть же виртуальный адрес начала добавленной секции - его и использовать.


т.е. (hInstance+Адрес секции) прописанный в EXE?



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

Создано: 05 декабря 2015 23:54 · Поправил: dosprog
· Личное сообщение · #4

Да.





Ранг: 281.8 (наставник), 272thx
Активность: 0.250.01
Статус: Участник
Destroyer of protectors

Создано: 05 декабря 2015 23:59 · Поправил: MasterSoft
· Личное сообщение · #5

dosprog пишет:
Если секция последняя, то и так сойдёт. Но надо пробовать.

да, но это как-то не правильно. FileAlignment не для красоты.

jangle пишет:
Добавляю секцию с байт-кодом в экзешник, нужно ли выравнивать ее размер? или так сойдет?

думаю это не так сложно и вряд ли вес критичен до такой степени.



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

Создано: 06 декабря 2015 00:02 · Поправил: dosprog
· Личное сообщение · #6

MasterSoft пишет:
да, но это как-то не правильно. FileAlignment не для красоты.


А попробовать?
Я вот только что попробовал. Отрезал от последней секции десяток байтов.
Работает нормально.

--Добавлено--
А FileAlignment критичен для адресов начала секции, а не её конца.





Ранг: 281.8 (наставник), 272thx
Активность: 0.250.01
Статус: Участник
Destroyer of protectors

Создано: 06 декабря 2015 00:04
· Личное сообщение · #7

dosprog пишет:
А попробовать?
Я вот только что попробовал. Отрезал от последней секции десяток байтов.
Работает нормально.

я не говорю, что это не работает. я говорю, что это не правильно - разные вещи.



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

Создано: 06 декабря 2015 00:08 · Поправил: dosprog
· Личное сообщение · #8

MasterSoft пишет:
я не говорю, что это не работает. я говорю, что это не правильно - разные вещи.

Согласен.
Неизвестно, как оно, будет ли работать в Windows2020.






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

Создано: 06 декабря 2015 00:09
· Личное сообщение · #9

dosprog пишет:
Если секция последняя, то и так сойдёт


Предпоследняя, потом еще секция ресурсов будет.



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

Создано: 06 декабря 2015 00:11 · Поправил: dosprog
· Личное сообщение · #10

jangle пишет:
Предпоследняя, потом еще секция ресурсов будет.


Выравнивать по FileAlignment.

Причём не столько конец этой секции, сколько начало следующей.
Между секциями могут быть вообще неучтённые куски, служащие для выравнивания начала секции по странице (FileAlignment).
Правда, UPX будет ругаться на такой файл и скорей всего откажется с ним работать.



| Сообщение посчитали полезным: jangle


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

Создано: 06 декабря 2015 00:16
· Личное сообщение · #11

dosprog пишет:
Правда, UPX будет ругаться на такой файл и скорей всего откажется с ним работать.


это плохо, мне надо что-бы upx на нем работал



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

Создано: 06 декабря 2015 00:18 · Поправил: dosprog
· Личное сообщение · #12

jangle пишет:
это плохо, мне надо что-бы upx на нем работал


Корректируется PhisicalSize на реальное значение и нет проблем.




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


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