На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
  
> Редактирование exe, инструмент
    Привет всем,
    нужно в уже скомпилированной программе между двумя инструкциями вставить пару других, т.е. надо как-то освободить место для нового кода. Вопрос, есть ли какой-то удобный инструментарий для этого, или придётся всё делать в хекс-редакторе, в контексте опкодов?..
      Достаточно простой и универсальный инструмент для 32-битного кода - это OllyDbg (отладчик, дизассемблер и редактор в одном флаконе)
        Hiew - эту прогу Вы не можете не знать!!!
          Цитата Бублик @
          Hiew - эту прогу Вы не можете не знать!!!
          Увы, но человеку надо, чтобы программа сама предложила, как изменить положение, видимо, функции, чтобы его новый, более длинный код, влез. Hiew, такого ж не предлагает!..
          Цитата unconnected @
          придётся всё делать в хекс-редакторе, в контексте опкодов?..
          Глядя на ответы выше, можно сказать, что не "всё", но многое придётся делать "руками"...

          Добавлено
          По сути,
          1.отыщите после ret'ов небольшое свободное местечко (оно бывает, т.к. компиляторы любят выравнивать начало функций);
          2.вставьте в старый код jmp на новое место;
          3.в конце своего участка ставьте обратный jmp.

          Добавлено
          Если совсем тесно, то воспользуйтем простым, но важным фактом, что в 10 идущих подряд инструкций, с вероятность 0,9 есть неоптимальный участок, допускающий сокращение кода. П.С. вам придётся хорошенько знать Asm, дабы поправить его!..
          1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0185 ]   [ 14 queries used ]   [ Generated: 18.05.24, 10:34 GMT ]