Сейчас на форуме: ManHunter, Magister Yoda, rtsgreg1989 (+10 невидимых)

 eXeL@B —› Основной форум —› Sections
Посл.ответ Сообщение


Ранг: 264.0 (наставник), 5thx
Активность: 0.210
Статус: Участник
Vanilla Sky

Создано: 30 мая 2005 18:09
· Личное сообщение · #1

Есть ПЕ ребилдеры всякие, но они перестраивают весь файл целиком, а что если мне нужно уменьшить лишь одну секцию, как это сделать?




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

Создано: 30 мая 2005 18:15
· Личное сообщение · #2

В чём смысл ?

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





Ранг: 264.0 (наставник), 5thx
Активность: 0.210
Статус: Участник
Vanilla Sky

Создано: 30 мая 2005 18:16
· Личное сообщение · #3

Я - естет. =)



Ранг: 192.3 (ветеран), 18thx
Активность: 0.120
Статус: Участник
stoned machine-gunner

Создано: 31 мая 2005 08:23
· Личное сообщение · #4

ну раз эстет, то только руками конечно =) или свою прогу напиши ;)

-----
once you have tried it, you will never want anything else





Ранг: 264.0 (наставник), 5thx
Активность: 0.210
Статус: Участник
Vanilla Sky

Создано: 31 мая 2005 12:04
· Личное сообщение · #5

Ех.

Там просто как. в конце секии КОД есть много-много-много-много нулей, если ребилдить весь файл, то нули благополучно уходят в мир иной. Файл работает и т.д. Но мне не нужно трогать остальные секции, нужно только убрать эти нули.



Ранг: 28.0 (посетитель)
Активность: 0.020
Статус: Участник
anarchist

Создано: 31 мая 2005 12:40 · Поправил: vins
· Личное сообщение · #6

Ну возми отрежь, потом исправишь RVA у секций и все



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

Создано: 31 мая 2005 13:05
· Личное сообщение · #7

1) Удали нужное тебе количество нулей, сверяясь с File Alignment
2) Поправь RSize этой секции на полученный (первоначальный размер-количество удаленных нулей)
3) Поправь ROffset-ы всех последующих секций (по идее - уменьши на количество удаленных нулей)

Вроде все... RVA нахрен ненужны, виртуальные смещения то не надо изменять.



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

Создано: 31 мая 2005 14:34 · Поправил: iskatel
· Личное сообщение · #8

ну до кучи потом еще и имадж сайз уменьши...

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




Ранг: 332.0 (мудрец)
Активность: 0.180
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 31 мая 2005 14:44
· Личное сообщение · #9

iskatel пишет:
ну до кучи потом еще и имадж сайз уменьши...

зачем ? %) насколько я понял виртуальные адреса и размеры никто менять не собирается ;)

iskatel пишет:
а потом будет инититься мусором...

почему мусором ? то чего не хватит до Vsize заполнится нулями.



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

Создано: 31 мая 2005 17:45
· Личное сообщение · #10

Image Size уменьшать не надо! Это RVA последней секции + ее размер по идее должно быть. Поскольку в данном случае править виртуальные адреса и размеры секций не надо - Size of Image трогать нельзя.




Ранг: 264.0 (наставник), 5thx
Активность: 0.210
Статус: Участник
Vanilla Sky

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

Спасибо, разобрался.
Аминь...




Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 01 июня 2005 18:03
· Личное сообщение · #12

Grim Fandango пишет:
Там просто как. в конце секии КОД есть много-много-много-много нулей, если ребилдить весь файл, то нули благополучно уходят в мир иной. Файл работает и т.д. Но мне не нужно трогать остальные секции, нужно только убрать эти нули.

Если секция последняя и дело не срочное - пиши на мыло - расскажу

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!



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


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