![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
самомодификация - это всегда модификация, но не наоборот любое модифицирование - это в любом случае повторная генерация кода (как ты уже заметил в одном из постов) в результате получим исполняемый образ, допустим ELF образ далее сравниваем загруженный образ с только что полученным и сохраняем текущее состояние процесса (важен стек и глобальные данные) (в случае нехватки ОЗУ можно на худой конец диск использовать), причем при сохранении указываем информацию, которая будет необходима для того, чтобы заменить значения соответствующих данных на сохраненные при новом старте образа (при добавлении кода и данных адреса смещаются) далее запускаем новый процесс, который будет исполнять новый образ (формируем его адресное пространство, восстанавливая сохраненную информацию) важно отметить, что модифицирование возможно только еще невыполнявшегося кода, поскольку иначе нельзя Это сообщение отредактировал(а) MAKCim - 11.6.2007, 21:04 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
Mayk |
|
||||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 5 Всего: 134 |
Два месяца назад я сдавал лабы на с++, которые были выполнены на winapi без всякого .net'а. При некрупных изменениях всё прекрасно работало.
Вообще поиск даёт положительный ответ на запрос «gdb "fix and continue"» Вот например
Так что основания полагать что gdb это теоретически может уметь есть. Дальнейшие следования по url'ам наводят на (правда это для darwin'а)
но такой команды мой gdb не понимает. ![]() -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||||
|
|||||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
видно был собран без
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
rvny |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 5.4.2007 Репутация: нет Всего: нет |
А ведь visual studio с 6ой версии кажется это умела делать? Т.е. с 1998 года у микрософт это было!
В 2003 с выходом net 1, 1.1 перестала работать (только переменные можно было смотреть). А в 2005 visual studio снова появилось break , modify, and continue Бывает ведь иногда нужно что-то подправить (В значениях переменных), либо дописать проверку, или изменить поведение внутри функции, но не естественно саму функцию (без изменения конечно передаваемых переменных). |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |