@ArturVal

Как вызвать функцию другой программы на прямую (без API)?

Добрый день. Вопрос может быть слишком размыт. Для начала, существует программа ААА (откомпилированная и без API) у которой есть графический интерфейс. Кнопка графического интерфейса вызывает функцию для сложения двух чисел. Теперь вопрос: можно ли создать другую программу ВВВ, которая будет вызывать у запущенной программы ААА функцию сложения двух чисел без нажатия кнопки, т.е. напрямую обращаться к вызову функции (результат не обязательно выводиться в программе ААА, эдакий чит)?
Подскажите что почитать и в каком направлении копать.
  • Вопрос задан
  • 196 просмотров
Решения вопроса 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Assembler
Седой и строгий
Люто сложная задача. В Windows можно попробовать с помощью CreateRemoteThread создать поток в адресном пространстве целевого процесса, с помощью SetThreadContext напихать в регистры параметры функции, а потом выполнить переход на её адрес. Правда, адрес надо ещё как-то узнать. Ну, и подозреваю, что у любого антивирусника от этого случится истерика.
Ответ написан
Комментировать
@aram_pakhchanian
Хороший человек
Вообще именно это делает любой отладчик. Берете отладчик с открытыми исходными кодами, с помощью него находите эту самую функцию, а затем пишете для отладчика скрипт, который заставляет его вызывать эту функцию и запускаете программу под этим отладчиком. Это и будет ваша программа BBB.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы