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

 eXeL@B —› Крэки, обсуждения —› Увеличение ImageSize
Посл.ответ Сообщение

Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 29 сентября 2005 05:06
· Личное сообщение · #1

Подскажите плс, почему при увеличении последней секции и соответственно увеличении ёё RAW Size и Virtual Size на длину увеличения, ImageSize не всегда требуется увеличивать ? В некоторых случаях программа перестаёт работать, пока не убрать увеличение ImageSize или наооборот не прибавить
Почитал кучу мануалов про PE header - но в них сказано, что ImageSize требуется обязательно увеличивать.

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels





Ранг: 303.7 (мудрец), 4thx
Активность: 0.190
Статус: Участник
tPORt Manager

Создано: 29 сентября 2005 05:08
· Личное сообщение · #2

Ну, если ImageSize выстовлен с запасом, тогда не надо, а если в притык, да ещё и увеличил секции, надо увеличить и ImageSize, или ехе будет падать.



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 29 сентября 2005 05:20
· Личное сообщение · #3

Smon
Вообще есть такая хрень как выравнивание.
Покажи пример того и другого.
Имеется в виду:
1 заголовки,
2 реальные размеры файлов,
3 реальные размеры секций.

И ещё интересно, так на всех ОСях?

-----
Всем привет, я вернулся





Ранг: 303.7 (мудрец), 4thx
Активность: 0.190
Статус: Участник
tPORt Manager

Создано: 29 сентября 2005 06:02
· Личное сообщение · #4

Bitfry пишет:
Вообще есть такая хрень как выравнивание.

Ну, естесственно А причём они и ImageSize? Насколько я понимаю, в ImageSize может быть и не выровненное значение... А вообще, давайте файл, посмотрим.




Ранг: 78.6 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 29 сентября 2005 08:57
· Личное сообщение · #5

увеличить секцию выровнить его на file Alignment и выровнить Virtual Size на section Alignment




Ранг: 70.5 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 29 сентября 2005 09:00
· Личное сообщение · #6

Файло то где ??? зждались все



Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 29 сентября 2005 09:38
· Личное сообщение · #7

Файло тут - 4 крякми от фантома (оригиналы и поксоренные через последнюю секцию). Из них 2 не работают - 1 и 4. Если увеличить их ImageSize хотя бы на 1 - то работают, если увеличить хотя бы на 1 два работающих - то они перестают работать, в чем разница не пойму...

1a12_crackmes.rar

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels




Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 29 сентября 2005 10:02
· Личное сообщение · #8

Кстати - там Virtual Size последней секции выставлен равным Raw Size, но что неясно, я пробовал увеличить и то и то на размер дописываемого кода - ни один файл не работает, если еще увеличить ImageSize на эту же величину - то тоже не работает... => Таким макаром заработал только Winrar 3.5..

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels




Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 29 сентября 2005 10:06
· Личное сообщение · #9

Ну дык какого х.. EP=ImageSize ?


-----
Всем привет, я вернулся





Ранг: 303.7 (мудрец), 4thx
Активность: 0.190
Статус: Участник
tPORt Manager

Создано: 29 сентября 2005 10:14
· Личное сообщение · #10

Bitfry


Smon
Блин, почитай про пе формат, если линки не найдёшь, спроси прямо в этом топике, я тебе кое-что могу дать.



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 29 сентября 2005 10:17 · Поправил: Bitfry
· Личное сообщение · #11

И потом, давай калькулировать:
Number  Name   VirtSize   RVA    PhysSize  Offset    Flag══
    1 .text    00000358 00001000 00000400 00000400 F0000020
    2 .rdata   000002AC 00002000 00000400 00000800 40000040
    3 .data    0000019C 00003000 00000200 00000C00 C0000040
    4 .rsrc    00001064 00004000 00001064 00000E00 40000040


У тебя выравнивание стоит 1000.
База =1000.

Значит 1000+400 и +600 для выравнивания,
2000+400 и +600 для выравнивания,
3000+200 и +800 для выравнивания,
4000+1064 (!) и +0F9C для выравнивания,
=6000h

Правка:
Ах, да ответ на твой вопрос :
Если ты к своим неправильным 5000h прибавешь хоть единицу, то загрузчик выравнивает (не всякий!) это значение до следующего ровного, а после этого проверяет, что вышло. Поэтому, прибавь к правильному 6000h хоть 1 и получишь в загрузке 7000h, что не соответствует сумме секций.

Bit-hack
Кстати я бы с радостью почитал толковых статеек с картинками .
Сегодня полчаса пытался руками поправить импорт. Функции определились неверно, нужно исправить ANSI версию на W.
Читал, читал – ни хрена не понял .
Правлю имя, вроде дизассемблеры показывают как нужно, а в отладчике все по старому, добавил ординал... Чего-то как-то не сложилось.
Файл 11Mb, распаковывал не я, к оригиналу больше доступа нет, есть только криво распакованный.
Хотелось бы руками исправить.

-----
Всем привет, я вернулся




Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 29 сентября 2005 12:11
· Личное сообщение · #12

Bitfry

Спасибо, ясно )

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels





Ранг: 303.7 (мудрец), 4thx
Активность: 0.190
Статус: Участник
tPORt Manager

Создано: 30 сентября 2005 03:51
· Личное сообщение · #13

Bitfry пишет:
Правлю имя, вроде дизассемблеры показывают как нужно, а в отладчике все по старому, добавил ординал... Чего-то как-то не сложилось.

Грузи прогу в олю, грузи ImpRec, бери импорт, меняй всё, что тебе не понравится

Читай Мэтта Питрека про пе, статьи с васма (эти, которых ещё две в паре, на васме есть ещё архив статеек по пе, далее зайди на xtin.km.ru и там найди статью по ручному востановлению импорта, Касперски со своей книгой, я её когда-то читал через строку, там кажись затрагивается такая тема.
А если тебе вожна суть востановления - пиши свою тулзу. Своя тулза - лучший способ познать новую, непонятную тему. Ты можешь прочитать хоть 100 статей, и, возможно, ты поймёшь что да как, а написав одну свою тулзу (если она будет работать правильно) ты узнаешь даже тонкие места какой-либо тематики, про которые ты возможно не прочитаешь ни в одной статье... Если решишь забацать тулзу, напиши мыло, возможно забацаем вместе, я тоже всех тонкостей востановления не знаю Но надо-бы узнать. bit-hack@mail.ru (напиши хоть что-нибудь, есть предложение, от которого ты врятли откажешься



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 30 сентября 2005 11:56
· Личное сообщение · #14

Bitfry пишет:
Правлю имя, вроде дизассемблеры показывают как нужно, а в отладчике все по старому

Здорово я лохонулся. Анализ в Olly не обновил, а сам импорт давно уже исправлен был

-----
Всем привет, я вернулся




Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 30 сентября 2005 15:02
· Личное сообщение · #15

Прикольно, моя тема плавно сползла в другую степь )))
Вопросик один есть - выравнивание обязательно ? В каких винах не будет работать, если не выровнять ?

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels




Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 01 октября 2005 00:17
· Личное сообщение · #16

Я не знаю. Но честно скажу и не хочу знать.
Какая разница, будет, работать кривоватый файл или нет?
Давай соображать.

1. Никакой защиты/уязвимости для нас крякеров в этом нет.
2. MS заявляет, что, дескать, обязательно ровно.
Вот:
SizeOfImage 
-----------------
Size, in bytes, of image, including all
headers; must be a multiple of
Section Alignment.

Перевожу:
Поле SizeOfImage
Размер образа, включая все заголовки. Измеряется в байтах.
Должен быть кратен полю Section Alignment.


3. Никакой экономии в неровном значении SizeOfImage нет. В памяти всё равно будет выделено пространство кратное Section Alignment. А на диске файл больше не станет .

4. Очевидно, что выравнивание при загрузке, создаёт лишние задержки (пусть минимальные, но создаёт).

Вывод:
Лучше делать по инструкции, ведь в данном случае это ничего не стоит.


P.S. А вообще, думаю Win2k, WinXP и Win98 сами с усами... Но сам не проверял.

-----
Всем привет, я вернулся




Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 01 октября 2005 15:23
· Личное сообщение · #17

Bitfry
Спасибо за помощь, теперь всё понятно, думаю тему можно закрыть )))

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels



 eXeL@B —› Крэки, обсуждения —› Увеличение ImageSize
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати