Page 1 of 1
Безопасность вызовов между защищенными функциями
Posted: Fri Aug 28, 2015 12:14 pm
by vov
Есть 2 функции. Каждую из них я обрамляю маркерами, чтобы накрыть виртуальной машиной. Но одна из этих функций вызывает вторую.
Скажите, сможет ли взломщик дизассемблировать программу и подсмотреть/заменить параметры вызова на стеке?
Если да, то как правильно поступать в таких случаях, чтобы предотвратить взлом?
Re: Безопасность вызовов между защищенными функциями
Posted: Sun Aug 30, 2015 6:08 am
by Admin
Для безопасного вызова защищенной функции из другой защищенной функции вместо маркеров необходимо добавить в проект все необходимые функции по имени (при наличии
MAP файла). При использовании маркеров прологи и эпилог функции может остаться незащищенным и взломщик может перехватить управление в этом месте.
Re: Безопасность вызовов между защищенными функциями
Posted: Sun Sep 06, 2015 9:30 am
by Keroline
После защиты функции с помощью map файла мы можем наблюдать в начале jmp, который ведет в секцию VMP.
Если первая функция будет вызывать вторую, то управление будет переходить на начальный jmp второй функции?
Если да, то взломщик сможет перехватить вызов в этом месте. В старой версии дела обстояли так. А сейчас как?
Re: Безопасность вызовов между защищенными функциями
Posted: Tue Sep 08, 2015 3:55 pm
by Admin
Если первая функция будет вызывать вторую, то управление будет переходить на начальный jmp второй функции?
Если обе функции завиртуализированы, то перехода на начальный JMP вызываемой функции не будет.
Если да, то взломщик сможет перехватить вызов в этом месте. В старой версии дела обстояли так. А сейчас как?
И в старой и в новой версии работает одинаково как это описано выше.
Re: Безопасность вызовов между защищенными функциями
Posted: Tue Jun 07, 2016 9:25 am
by mroleg
А если полностью завиртуализированная через MAP-файл ф-ия (1) вызывается из завиртуализированного между маркерами блока другой ф-ии (2) -
можно ли будет перехватить переход на начальный JMP ф-ии (1) в таком случае?
Re: Безопасность вызовов между защищенными функциями
Posted: Wed Jun 08, 2016 10:39 am
by Admin
Все тоже самое что с CALL.
Re: Безопасность вызовов между защищенными функциями
Posted: Wed Jun 08, 2016 12:55 pm
by mroleg
Не уверен, что правильно это понял: т.е. из (2) переход на начальный jmp (1) все-таки будет?
Re: Безопасность вызовов между защищенными функциями
Posted: Wed Jun 08, 2016 1:02 pm
by Admin
Если обе функции завиртуализированы, то перехода на начальный JMP вызываемой функции не будет.