![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| sax0n |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 7.10.2006 Репутация: нет Всего: нет |
Привет. Тема идет в продолжение
Есть ли возможность изменить код своей программы в ОЗУ? то есть, пускай в программе есть лоадер, который стартует самый первый и он должен изменить определенный код непосредственно в памяти. Как получить указатель на секции кода и в каком виде это все лежит в оперативной памяти? По сути задача сводится к автопатчеру памяти своего процесса. Заренее спасибо за ответы |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 12 Всего: 121 |
Складывается впечатление, что у тебя просто чуть-чуть не хватает необходимой базы знаний.
Секция кода это та, в которой лежит EntryPoint или OriginalEntryPoint? В структуре OptionalHeader PE заголовка есть поле AddressOfEntryPoint, нужно брать его и сверять с полем VirtualOffset в таблице секций, как только VirtualOffset[i] < AddressOfEntryPoint < VirtualOffset[i+1] под индексом i в таблице секций и будет секция кода. В памяти код - это ессно набор байт, команд понятных процессору. Знаю, что скорее всего ты меня не понял, поэтому даю тебе ссылку на статью, которая прольёт свет на всё то, что я написал выше: http://wasm.ru/article.php?article=green2red02 -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |