Сейчас на форуме: vsv1, _MBK_ (+4 невидимых)

 eXeL@B —› Вопросы новичков —› Какой РЕ редактор может растянуть секцию?
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 18 января 2007 20:12
· Личное сообщение · #1

Нужно слегка увеличить размер секции (кода) в файле (в пределах Virtual-размера). Какая прога это может?



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

Создано: 18 января 2007 20:20
· Личное сообщение · #2

если секция первая то увеличить ее размер не так и просто, особенно при большом количестве секций
в файле, и виртуальный размер здесь непричем, если последняя то сгодится практически любой




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

Создано: 19 января 2007 02:20
· Личное сообщение · #3

0xy
Если нету оверлея, то несложно и самому накатать. Расчитываешь размер секции и отодвигаешь все последующие с поправкой в FileOffset'е.




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 19 января 2007 02:32
· Личное сообщение · #4

формула для вычисления размера с учетом выравнивания
NewSize=(x+(y-1))&(~(y-1)), где x -размер без выравнивания, y - выравнивающий фактор

-----
Уважайте других и пишите грамотно.




Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 19 января 2007 10:11 · Поправил: 0xy
· Личное сообщение · #5

HoBleen пишет:
Расчитываешь размер секции и отодвигаешь все последующие с поправкой в FileOffset'е.

Так ведь и все директории тоже двигать придется

PS
Задача в общем банальна: нужно вставить свой код в секцию кода. В памяти места хватает, а в файле--нет. Каждый раз делать это руками--запаришься.
В ПE тулз и Лорд ПЕ есть оптимизаторы файла. Они умеют ресайзить и двигать секции. Но иx цель (выбрасывание нулей) противоположна моей
Вот я и подумал: если инструмент существует, может кто-то (из авторов ПЕ редакторов) позволяет юзать его в обеих направлениях?




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

Создано: 19 января 2007 10:35
· Личное сообщение · #6

0xy
Если есть оптимизатор, то должен быть и засиратор?

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



Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 19 января 2007 11:18
· Личное сообщение · #7

HoBleen пишет:
Легче сразу пересобрать

Это как??? Места ведь нету!




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

Создано: 19 января 2007 11:21
· Личное сообщение · #8

0xy пишет:
Это как??? Места ведь нету!

Дык поэтому и пересобрать - переставить секции по вкусу, хидеры (и их размер) и указатели на директории.



Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 19 января 2007 11:43 · Поправил: 0xy
· Личное сообщение · #9

HoBleen
А инструменты для этого существуют?




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 19 января 2007 12:47
· Личное сообщение · #10

а не проще добавить новую секцию в конец файла?

-----
Уважайте других и пишите грамотно.




Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 19 января 2007 13:18
· Личное сообщение · #11

Executioner пишет:
а не проще добавить новую секцию в конец файла?

Это слишком просто



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

Создано: 19 января 2007 23:55
· Личное сообщение · #12

0xy пишет:
Это слишком просто

ну тогда лоадер напиши, который нужный код инжектить будет




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

Создано: 20 января 2007 02:00
· Личное сообщение · #13

0xy пишет:
А инструменты для этого существуют?

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



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

Создано: 20 января 2007 07:54
· Личное сообщение · #14

0xy пишет: Задача в общем банальна: нужно вставить свой код в секцию кода.
зачем обязательно в секцию кода. в любое свободное место и jmp туда, не влазит в одно место - на куски...



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

Создано: 21 января 2007 00:26
· Личное сообщение · #15

0xy пишет:
В ПE тулз и Лорд ПЕ есть оптимизаторы файла. Они умеют ресайзить и двигать секции.

И добавлять они тоже умеют - было уже в форуме. В экзе с нестандартным выравниванием бывают проблемы, но тоже излечимо.




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 21 января 2007 01:00
· Личное сообщение · #16

да добавляй ты код в последнюю секцию и не парься. а ее увеличть просто.
а вообще, HoBleen пишет:
Если очень надо - сам напиши

в PE-формате ничего сложного нет.

-----
Уважайте других и пишите грамотно.





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

Создано: 21 января 2007 22:27
· Личное сообщение · #17

я бы так не сказал...

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




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

Создано: 22 января 2007 03:33
· Личное сообщение · #18

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

-----
Само плывет в pуки только то, что не тонет.





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

Создано: 22 января 2007 05:02
· Личное сообщение · #19

PE_Kill пишет:
я бы так не сказал...

+1, но разговор не о формате, а о перестройке, кроме офсетов ничего трогать не надо.

DrFits пишет:
Ресайзить секции - врятли у вас получится, вы путаете, одно дело урезать секцию, другое - увеличить. Это не противоположно, это совсем другое и такое у вас врятли получится сделать универсальным для всех программ.

Они ресайзятся только в фаиле, образ остается таким же, за исключением последних нулей - вместо них какой-то добавленный код.



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

Создано: 22 января 2007 22:50
· Личное сообщение · #20

DrFitsHoBleen

0xy пишет:
(в пределах Virtual-размера).

В такой постановке особых проблем нет - корретируется каталог секций и вставляются доп.байты.
Даже если, lordpe и petools не умеют вставлять байты в среднюю секцию(заголовок они точно умеют корректировать), то можно вставить байты через WinHex или простенькую прожку написать.
Только всегда есть опасность, что свободное место корректируемая прога использует и можно "погореть".




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

Создано: 30 января 2007 09:58 · Поправил: HoBleen
· Личное сообщение · #21

0xy
Если все еще нужно, то =)




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

Создано: 30 января 2007 09:59
· Личное сообщение · #22

Не приаттачилось..

1148_30.01.2007_CRACKLAB.rU.tgz - Sheeter.exe



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

Создано: 30 января 2007 23:42
· Личное сообщение · #23

HoBleen неплохо, спасибо за труд, руками не надо делать. только с оверлеем некорретно работает, но собственно это не проблема -> можно приклеить обратно.




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 31 января 2007 23:00
· Личное сообщение · #24

Самый простой метод - юзать CFF Explorer, такой редактор ехе-файлов. Для меня он стал популярным, и даже любимым, когда я столкнулся с проблемой обрезания секций после распаковки Armadillo, там просто надо выбрать Add section (Empty data) и указать размер секции, и у вас новая секция в ехе

-----
Stuck to the plan, always think that we would stand up, never ran.




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

Создано: 01 февраля 2007 00:52
· Личное сообщение · #25

ARCHANGEL пишет:
и у вас новая секция в ехе

И какое отношение это имеет к удлиннению существующей секции.



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

Создано: 01 февраля 2007 01:00
· Личное сообщение · #26

ARCHANGEL это может делать куча pe tools, я исп. lordpe




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

Создано: 01 февраля 2007 03:09
· Личное сообщение · #27

ARCHANGEL пишет:
Add section (Empty data) и указать размер секции, и у вас новая секция в ехе

PETools давно это делает, там 3 метода вставки...

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




Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 14 февраля 2007 21:18
· Личное сообщение · #28

HoBleen пишет:
0xy
Если все еще нужно, то =)

Спасибо, очень даже нужно!
Но к сожалению у меня не работает (под 9x-виндой): .bak файл создает (всегда, независимо от флажка), а исходный не изменяет
Может поправишь




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

Создано: 15 февраля 2007 05:36
· Личное сообщение · #29

0xy пишет:
.bak файл создает (всегда, независимо от флажка)

Ну да, если галку не выставишь, то бак фаил - это темп файл =) особенности оптимизации: меньше кода - больше действий! )))

0xy пишет:
а исходный не изменяет

А вот это странно, ща посмотрю под 9х. По идее ничего не должно меняться..



Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 20 июля 2007 02:46 · Поправил: 0xy
· Личное сообщение · #30

HoBleen
Вот, глянь где падает. Пытается писать в Read-only регион.

Причем VirtualProtect (00401181) не может открыть его на запись.


. 1 . 2 . >>
 eXeL@B —› Вопросы новичков —› Какой РЕ редактор может растянуть секцию?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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