Посл.ответ |
Сообщение |
 Ранг: 264.0 (наставник), 5thx Активность: 0.21↘0 Статус: Участник Vanilla Sky
|
Создано: 30 мая 2005 18:09 · Личное сообщение · #1
Есть ПЕ ребилдеры всякие, но они перестраивают весь файл целиком, а что если мне нужно уменьшить лишь одну секцию, как это сделать?
| Сообщение посчитали полезным: |
|
 Ранг: 536.4 (!), 171thx Активность: 0.66↘0.13 Статус: Администратор Создатель CRACKL@B
|
Создано: 30 мая 2005 18:15 · Личное сообщение · #2
В чём смысл ?
----- Всем не угодишь | Сообщение посчитали полезным: |
 Ранг: 264.0 (наставник), 5thx Активность: 0.21↘0 Статус: Участник Vanilla Sky
|
Создано: 30 мая 2005 18:16 · Личное сообщение · #3
Я - естет. =)
| Сообщение посчитали полезным: |
Ранг: 192.3 (ветеран), 18thx Активность: 0.12↘0 Статус: Участник stoned machine-gunner
|
Создано: 31 мая 2005 08:23 · Личное сообщение · #4
ну раз эстет, то только руками конечно =) или свою прогу напиши ;)
----- once you have tried it, you will never want anything else | Сообщение посчитали полезным: |
 Ранг: 264.0 (наставник), 5thx Активность: 0.21↘0 Статус: Участник Vanilla Sky
|
Создано: 31 мая 2005 12:04 · Личное сообщение · #5
Ех.
Там просто как. в конце секии КОД есть много-много-много-много нулей, если ребилдить весь файл, то нули благополучно уходят в мир иной. Файл работает и т.д. Но мне не нужно трогать остальные секции, нужно только убрать эти нули.
| Сообщение посчитали полезным: |
Ранг: 28.0 (посетитель) Активность: 0.02↘0 Статус: Участник anarchist
|
Создано: 31 мая 2005 12:40 · Поправил: vins · Личное сообщение · #6
Ну возми отрежь, потом исправишь RVA у секций и все
| Сообщение посчитали полезным: |
Ранг: 186.8 (ветеран) Активность: 0.04↘0 Статус: Участник
|
Создано: 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.18↘0 Статус: Участник •Pr0tEcToRs KiLLeR•
|
Создано: 31 мая 2005 14:44 · Личное сообщение · #9
iskatel пишет:
ну до кучи потом еще и имадж сайз уменьши...
зачем ? %) насколько я понял виртуальные адреса и размеры никто менять не собирается ;)
iskatel пишет:
а потом будет инититься мусором...
почему мусором ? то чего не хватит до Vsize заполнится нулями.
| Сообщение посчитали полезным: |
Ранг: 186.8 (ветеран) Активность: 0.04↘0 Статус: Участник
|
Создано: 31 мая 2005 17:45 · Личное сообщение · #10
Image Size уменьшать не надо! Это RVA последней секции + ее размер по идее должно быть. Поскольку в данном случае править виртуальные адреса и размеры секций не надо - Size of Image трогать нельзя.
| Сообщение посчитали полезным: |
 Ранг: 264.0 (наставник), 5thx Активность: 0.21↘0 Статус: Участник Vanilla Sky
|
Создано: 01 июня 2005 17:10 · Личное сообщение · #11
Спасибо, разобрался.
Аминь...
| Сообщение посчитали полезным: |
 Ранг: 631.1 (!), 62thx Активность: 0.37↘0.01 Статус: Участник Автор VB Decompiler
|
Создано: 01 июня 2005 18:03 · Личное сообщение · #12
Grim Fandango пишет:
Там просто как. в конце секии КОД есть много-много-много-много нулей, если ребилдить весь файл, то нули благополучно уходят в мир иной. Файл работает и т.д. Но мне не нужно трогать остальные секции, нужно только убрать эти нули.
Если секция последняя и дело не срочное - пиши на мыло - расскажу
----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! | Сообщение посчитали полезным: |