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

 eXeL@B —› Вопросы новичков —› Создание новой секции в PE
Посл.ответ Сообщение

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

Создано: 03 ноября 2011 21:28
· Личное сообщение · #1

Здравствуйте!

Как проще всего создать дополнительную секцию в EXE файле для того, чтобы поместить туда строки и в последствии сделать ссылки на эти адреса в OllyDbg. Иногда требуется для русификации какой-то программы, в которой строки находятся не в ресурсах, а в секции .DATA (и остаток не забитый нулями ничтожно мал)

Я попробовал на небольшой проге , изменяя меню. Создавал новую секцию с помощью StudPe , секция создается и в OllyDBG ссылки сделал, программа работает. Но что-то не так. После таких действий, система работать начинает нестабильно (через 5-10 минут ) выходит в меню выбора пользователя. А через 20-30 минут перезагрузка. Видно что-то не так делаю , задевая системное... Конечно же без этих манипуляций, ничего подобного не происходит.

Работал под Windows 7.
Ollydbg 1.10
StudPe 2.4.0.1

Действия в StuPe:

1) открываю в ней файл
2) перехожу во вкладку Sections
3) контекстное меню StudPe "New Section"
4) ставлю галку "fill section with Null bytes"
5) нажимаю кнопку "add"
6) смотрю virtualoffset новой секции (2C000) при ImageBase 400000
Нажимаю кнопку "OK"

Действия в OllyDbg:

1) Открываю файл с новой секцией
2) Поиск нужной строки меню для замены
3) переход на ссылку
4) меняю адрес ссылки на 42С000
5) пишу по адресу 42С000 новое строковое значение для меню
6) сохранить в области кода отладчика выделенное

Вылезает предупреждение:

Выделенное содержит измененные привязки. Маловероятно, что главный модуль программы будет загружен на другой базовый адрес. В этом случае, однако, ОС будет настраивать привязки, тем самым изменяя ваш код.Это может оказать плохое влияние на отлаживаемую программу. Вы хотите обновить исполняемый файл?

7) сохранить в области дампа отладчика
8) сохранить в файл .

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

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



Ранг: 47.7 (посетитель), 17thx
Активность: 0.090
Статус: Участник

Создано: 03 ноября 2011 21:51 · Поправил: bowrouco
· Личное сообщение · #2

CRL
Есть официальные апи, типо AddResource() ну или както так, точно даже не помню.

> А через 20-30 минут перезагрузка.

На чистой системе это не возможно. Сегодня загрузчик NT более чем стабилен.

Добавление секции наипримитивнейшая задача, следует изучить пе-формат http://msdn.microsoft.com/en-us/windows/hardware/gg463119



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

Создано: 03 ноября 2011 22:11
· Личное сообщение · #3

> А через 20-30 минут перезагрузка.

На чистой системе это не возможно. Сегодня загрузчик NT более чем стабилен.


Похоже надо пройтись прогой AVZ

Добавление секции наипримитивнейшая задача...

Почитаю. Все таки интересно, правильно я создавал секцию с помощью StudPe ? Наверняка есть здесь люди , которые не раз пользовались этой программой.



Ранг: 47.7 (посетитель), 17thx
Активность: 0.090
Статус: Участник

Создано: 03 ноября 2011 22:28
· Личное сообщение · #4

CRL

> Похоже надо пройтись прогой AVZ

Маловероятно что она чтото обнаружит. Это мёртвый сигнатурный сканер.



Ранг: 72.1 (постоянный), 30thx
Активность: 0.050
Статус: Участник

Создано: 03 ноября 2011 23:10
· Личное сообщение · #5

Может, выложишь программу с новой секцией, а мы посмотрим, в чем там проблема?



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

Создано: 03 ноября 2011 23:28
· Личное сообщение · #6

Утилитка topo12 отлично справляется с задачей добавления новой секции.



Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 03 ноября 2011 23:58 · Поправил: vden
· Личное сообщение · #7

CRL
Если есть сомнения в Stud Pe, можно взять CFF Explorer.

Возможно затёрто что-то важное. Или перенаправлено не всё что нужно.
Если вызывается ExitWindowsEx это странно, обычно бывает Access Violation и по стеку просто найти где проблема.

А может софт проверяет CRC.

Если это не большой секрет, то лучше выложить файлы: до и после патча. Так проще проверить чего там не так.



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

Создано: 04 ноября 2011 00:39
· Личное сообщение · #8

vden пишет:
Если это не большой секрет, то лучше выложить файлы: до и после патча. Так проще проверить чего там не так.


Никакого секрета нет. Это тренировочные файлы, а не реальные проги. В архиве(43 кб) оба файла:

http://rghost.ru/28441821

shadow_user пишет:
Утилитка topo12 отлично справляется с задачей добавления новой секции.


Посмотрю обязательно.

bowrouco пишет:
Маловероятно что она чтото обнаружит. Это мёртвый сигнатурный сканер.


Благодарю всех , кто откликнулся.



Ранг: 72.1 (постоянный), 30thx
Активность: 0.050
Статус: Участник

Создано: 04 ноября 2011 11:56
· Личное сообщение · #9

Вроде, работает и не падает. ЧЯДНТ?



Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 04 ноября 2011 13:28 · Поправил: vden
· Личное сообщение · #10

Всё нормально добавлено. Не падает.
Флаги новой секции можно было просто скопировать с data. Т.к. исполнение там не нужно. Хотя это всё равно не проблема.



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

Создано: 04 ноября 2011 14:14
· Личное сообщение · #11

Спасибо всем, проблема оказалась в системе. Вчера пробовал 3 анвиря(хоть и не особо надеялся) , ничего они конечно не нашли. Но глюки в системе повалились один за другим. Дошло до того, что не мог на сайт каспера, др.веба, avz за новыми версиями попасть , перебрасывало на yandex. Проверил hosts, не изменялся. В общем сегодня с утра меняю систему.

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


 eXeL@B —› Вопросы новичков —› Создание новой секции в PE
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати