Можно ли вызвать функции исполняемого файла?

Я хочу узнать, можно ли обойти исполняемый файл gui, вызвав программы / внутренние методы / функции.

Предполагая, что исполняемые файлы являются программами C / C ++ с рабочими интерфейсами Gnome или KDE в Linux.

2 Solutions collect form web for “Можно ли вызвать функции исполняемого файла?”

Это можно сделать в особых случаях. То, что вы описываете, это что-то вроде динамической загрузки плагинов с помощью динамического загрузчика C: попробуйте man dlopen для получения подробной информации об этом. Обычно так называемый код должен быть скомпилирован как «независимый от позиции», поэтому вы почти наверняка не повезете для какой-либо конкретной программы.

Вы можете посмотреть код userland exec для некоторых подсказок о том, как это можно сделать, но почти наверняка не будет работать над тем, что вы описываете.

Это не проверено, это именно то, что я хотел бы попробовать.
Поэтому я не знаю, может ли он считаться ответом.

Если вам удастся проследить отброс с помощью отладчика (это терпение). После того, как вы отметили адреса функции, которую хотите запустить. Возможно, вы можете дистанционно управлять отладчиком средним значением скрипта. Помните, что большинство приложений сначала должны пройти некоторые шаги инициализации.

Что-то, что:

  1. запустить отладчик
  2. загрузка исполняемого файла
  3. установить точку останова после инициализации приложения
  4. бег
  5. перейдите к функции после достижения точки останова.
  • binary может запускаться только при запуске после создания символической ссылки на него
  • Почему я не могу запускать программы на другом разделе в Linux?
  • Как рекурсивно удалить разрешения на выполнение из файлов, не касаясь папок?
  • Какой пользователь выполняет сценарий / приложение Linux как?
  • ls colors: почему некоторые из моих шрифтов черные, а другие - зеленые на выходе ls
  • Почему следующий скрипт удаляет себя?
  • альтернативы обновления только для одного пользователя
  • Почему этот исполняемый файл все еще выполняется после того, как я удалил его?
  • Как восстановить рекурсивный «chmod -x» в моей домашней папке
  • Проверьте последний использованный файл .sh.
  • Почему некоторые символические ссылки влияют на поведение программы?
  • Как добавить программу с каталогом зависимостей в $ PATH?
  • Linux и Unix - лучшая ОС в мире.