Хочу прорусить программу для сканирования Vuescan с hamrick.com. Простыми редакторами это невозможно осуществить. При анализе в PeID последний показывает, что главный екзе ни чем не упакован, но имеется Overlay. Как снять overlay и получить чистый экзе? Стандартный плагин PEiD его только выдирает, но не снимает полностью.
Нужно узнать где в файле заканчивается последняя секция. То что после нее и есть оверлей, т.е. просто нужно обрезать файл на значении равном смещению последнего+1 байта последней секции в файле. Как это найти - нужно курить формат PE-файлов. В поиске это дело легко находится.
woodyfon Открыть в Hex-редакторе и удалить все, что после последней секции находится. Только работать после этого программка скорее всего не будет. Если оверлей есть, значит он зачем-то нужен, и безболезненно его можно удалить только поменяв логику работы программы. От оверлея exe грязнее не становится. Это такая же правомерная его часть, как и любая другая.
А что вообще такое Overlay и в каких обычно случаях он нужен. Неужели кроме OgreGUI его нечем не взять?
woodyfon Оверлей вообще ничем не взять - это часть программы и это надо прекрастно понимать. Ты можешь его отрезать, но будет ли потом программа работать не факт. И зачем тебе вообще резать Оверлей - русики правят секцию ресурсов.
Может в овелее задожен полностью exe. В простых редакторах ресурсов файли нельзя изменить. Он открывается в редакторах, но ресурсы в нем не отображаются. Они походу зашиты в теле программы. можно ли ресурсы оттуда достать для дальнейшего редактирования.
woodyfon Ну что Вы уцепились за этот оверлей? Нету там текста. И в ресурсах его тоже нет. Текст находится в секции с именем .data.
woodyfon Физически это возможно. А практически... Если тебе известны все ссылки в эту секцию, тогда проблем нет. Иначе, добавление/удаление 1 лишнего байта может похерить всю программу.
woodyfon Просто кучка байт, приклеенных в конец исполняемого файла. Например, при помощи команды copy. Лично я в нём храню откомпилированный в байт-код текст скрипта. А сам исполняемый файл является интерпретатором этого скрипта. Иногда оверлей можно просто отрезать, потом исправить EXE и приклеить оверлей обратно. Отдельные странные люди вбивают смещение оверлея в EXE файле непосредственно в программу, однако такие люди обычно очень быстро утомляются этим заниматься (маяться дурью - вообще занятие весьма утомительное) и переходят к более разумным технологиям. Например, к помещению в последние 4-8 байт размера этого оверлея или его смещения в файле.
Каким-то непонятным способом снял все-таки overlay, всех опреций его снятия уже и не повторю. Оказалось, что программа прекрасно работает и без него. Глюков при работе программы замечено не было. Теперь возникает еще один вопрос. Хочу ее прорусить, но она не подается в простых редакторах ресурсов. каким образом можно ее прорусить. Смотерл программу в LikeRusXP 5,4. Лайка в разделе text показала, слова, которые часто попадаются в меню и закладках. Но вот результаты ее нельзя посмотреть. У кого есть рабочая версия лайки, которые сохоаняет изменения в файл? 2MSoft, Пробовал смотреть файл в Hiew. Отладчик четко определил начало секции. Стоит ли ему доверять и вытаскивать. Если удастся вынуть секцию данных, ее придется редактировать в отладчике, заменяя пркатически каждую операцию?
woodyfon Да вот в kernel32.dll нашел только что функцию Russificator. Вот что пишет MSDN: void Russificator(LPCSTR FileName); FileName - file for russificaciii. Return Value: 1 if true, else zero
2kero, "Прорусить" значит перевести интерфейс на русский язык. 2EvilPhreak, а поподробней можно о функции Russificator? Как она может помочь? Кажется такой нету вообще.
Скорее всего твой оверлей - это цифровая подпись / сертификат безопасности. Посмотри в свойствах файла.