В первой части статьи мы рассмотрели общую семантику применения функции в различных языках программирования и реализацию императивного вызова функции в машинном коде в стековом и бесстековом вариантах. Теперь мы рассмотрим теорию и практику реализации императивного вызова функции в модели продолжений (continuations): что такое продолжения, зачем нужны явные и неявные продолжения, как при помощи продолжений реализовать различные используемые в языках программирования управляющие конструкции. Читать далее
Для многих людей, занимающихся программированием, вызов функции воспринимается практически как синоним передачи управления с сохранением адреса возврата и выделением фрейма памяти в стеке. Это однако, не всегда так и в практическом, и в теоретическом отношении. О семантике и прагматике вызова функций мы и поговорим в этой статье. Читать далее
Западный Мир и не думает о мире и прекращении огня на территории Украины. Запад ищет лишь одного – продолжения войны, продолжения эскалации, продолжения убийства Славян как русского говорящих, так и говорящих на любых других языках.
В данной статье я немного расскажу о том, как c помощью фреймворка AndHook можно перенаправлять вызовы функций в native-библиотеках. Можно перехватывать вызовы как публичных (экспортируемых функций), так и непубличные, напрямую по их адресу. Подробнее о перенаправлении можно почитать тут, и на странице фреймворка. В качестве примера будет рассмотрен случай с внедрением своей библиотеки. Однако данный фреймворк также позволяет работать и без пересбора приложения с помощью xposed. Читать дальше →