Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2014, 08:11   #1
bayah
Новичок
Джуниор
 
Регистрация: 22.10.2014
Сообщений: 4
По умолчанию Как в OllyDbg вставить инструкцию в код не затирая текущую инструкцию?

Здравствуйте. Вероятно вопрос дурацкий, но подскажите, как черт побери в OllyDbg вставить какую нибудь инструкцию в код программы так, чтобы эта инструкция не заменяла ту инструкцию на которой стоял курсор, а чтобы все инструкции сместились вниз? Короче так, как происходит обычно в каком нибудь текстовом редакторе.

Спасибо.
bayah вне форума Ответить с цитированием
Старый 22.10.2014, 08:51   #2
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

bayah,
вопрос действительно дурацкий. В bin-файл (exe, com, dll, sys и т.д.) нельзя сделать вставку инструкции так как при этом все "ссылки вверх" из инструкций, которые сместились вниз будут нарушены, также будут нарушены "ссылки вниз" из инструкций, которые оказались до вставки, OllyDbg, biew и hiew это не "обычные текстовые редакторы". Пожалуйста.
Mikl___ вне форума Ответить с цитированием
Старый 22.10.2014, 09:10   #3
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,774
По умолчанию

Цитата:
Сообщение от bayah Посмотреть сообщение
вставить какую нибудь инструкцию в код программы так, чтобы эта инструкция не заменяла ту инструкцию на которой стоял курсор, а чтобы все инструкции сместились вниз?
Волшебством, естественно. Выдернуть седой волос из бороды и сказать "Трох-тибидох-тибидох". Тут инструкции и расступятся, а смещения переходов сами пересчитаются.

Мну пока не побрился.
Vapaamies вне форума Ответить с цитированием
Старый 22.10.2014, 09:21   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
bayah
Ну иногда в конце секции кода находят пустое место, копируют туда часть опкодов, которые будут вынужденно заменены, и ставят jmp на то место, а в том месте, куда опкоды скопированны в конец jmp назад. Тогда есть шанс "вставить". Однако как сказали выше - это не текстовый редактор, и так делать не нужно в принципе )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.10.2014, 10:40   #5
bayah
Новичок
Джуниор
 
Регистрация: 22.10.2014
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Mikl___ Посмотреть сообщение
bayah,
вопрос действительно дурацкий. В bin-файл (exe, com, dll, sys и т.д.) нельзя сделать вставку инструкции так как при этом все "ссылки вверх" из инструкций, которые сместились вниз будут нарушены, также будут нарушены "ссылки вниз" из инструкций, которые оказались до вставки, OllyDbg, biew и hiew это не "обычные текстовые редакторы". Пожалуйста.
Ну вы блин... Понятно дело что ссылки могут быть нарушены и тому подобное. И использовать это я хочу только в конце, куда я дописываю свой собственный код, никак не затрагивающий кода основной программы. А на счет того что это не обычный текстовый редактор - не так понятно. Но в текстовом редакторе есть, например, как возможность вставки символа со смещением так и вставки с замещением. Почему бы в этом OllyDbg не быть таким же двум возможностям? А то, если мне нужно отредактировать свой код и вставить некоторые инструкции в произвольные места, то приходиться:
копировать первую часть кода, вставлять первую инструкцию, вставлять первую часть кода, копировать вторую часть кода, вставлять вторую инструкцию, вставлять вторую часть кода... и так по количеству необходимых инструкций которые требуется вставить в разные места.
Как-то неудобно.
bayah вне форума Ответить с цитированием
Старый 22.10.2014, 10:46   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Почему бы в этом OllyDbg не быть таким же двум возможностям?
Потому что отладчик работает с запущенным на выполнение кодом, а не просто какими-то данными в памяти. Ты судя по всему плохо представляешь внутреннее устройство операционки, раз такое спрашиваешь (без обид)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.10.2014, 07:20   #7
bayah
Новичок
Джуниор
 
Регистрация: 22.10.2014
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Потому что отладчик работает с запущенным на выполнение кодом, а не просто какими-то данными в памяти. Ты судя по всему плохо представляешь внутреннее устройство операционки, раз такое спрашиваешь (без обид)
Возможно плохо. Но если я могу отредактировать код таким образом, что в конце получу то же самое как если бы в текст кода можно было делать вставку со смещением, то я полагаю, что такой функционал возможно было сделать и устройство операционки тут не помеха. Или я не прав?
bayah вне форума Ответить с цитированием
Старый 23.10.2014, 09:20   #8
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

bayah,
нет, не прав. Тебе нужно не править чужой код, а писать свою программу
Цитата:
Но если я могу отредактировать код таким образом, что в конце получу то же самое
Пока только бла-бла-бла. А вот когда сможешь "отредактировать код таким образом, что в конце получишь то же самое" и предварительно соберешь все грабли на своём пути, тогда и будешь полагать
Цитата:
что такой функционал ВОЗМОЖНО БЫЛО сделать и устройство операционки тут не помеха
Mikl___ вне форума Ответить с цитированием
Старый 23.10.2014, 10:42   #9
bayah
Новичок
Джуниор
 
Регистрация: 22.10.2014
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Mikl___ Посмотреть сообщение
bayah,
нет, не прав. Тебе нужно не править чужой код, а писать свою программу
Пока только бла-бла-бла. А вот когда сможешь "отредактировать код таким образом, что в конце получишь то же самое" и предварительно соберешь все грабли на своём пути, тогда и будешь полагать
О боже! Какое бла-бла-бла? Вы о чем?
Я спрашивал про возможности редактирования в программе OllyDbg.
Нет так нет. Почему нет я от вас так и не узнал, но зато услышал какие-то нравоучения.
bayah вне форума Ответить с цитированием
Старый 23.10.2014, 11:18   #10
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Цитата:
Сообщение от bayah Посмотреть сообщение
Почему нет я от вас так и не узнал,
Потому что сдвигание кода его испортит, поэтому авторы посчитали, что такой функционал не нужен ибо создаст больше проблем чем решит.
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хочу инструкцию)) vovk Свободное общение 37 11.03.2015 06:15
Как в hiew'e написать инструкцию текстом? Димас5552 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 24.10.2012 00:24
Управление циклом через case-инструкцию Nomicos Помощь студентам 2 09.07.2012 23:45
Описать код программы и написать инструкцию (=Анастасия=) Помощь студентам 0 20.06.2011 18:11