실행 파일의 기능을 호출할 수 있나요?

실행 파일의 기능을 호출할 수 있나요?

프로그램의 내부 작업 방법/함수를 직접 호출하여 실행 파일의 GUI를 우회할 수 있는지 궁금합니다.

실행 파일은 Linux에서 작동하는 Gnome 또는 KDE 인터페이스가 있는 C/C++ 프로그램이라고 가정합니다.

답변1

이는 특별한 상황에서 수행될 수 있습니다. 설명하신 내용은 C 동적 링크 로더를 통해 플러그인을 동적으로 로드하는 것과 유사합니다. man dlopen세부 사항을 이해해 보세요. 일반적으로 소위 코드는 "위치 독립적"으로 컴파일되어야 하므로 특정 프로그램에서는 운이 좋지 않을 것이 거의 확실합니다.

당신은 볼 수 있습니다사용자 모드 실행코드를 작성하면 이를 수행하는 방법에 대한 힌트를 얻을 수 있지만 설명하는 대로 수행되지는 않을 것이 거의 확실합니다.

답변2

이것은 아직 테스트되지 않았습니다. 제가 시도할 것입니다.
그래서 그것이 대답으로 간주되는지 모르겠습니다.

디버거를 사용하여 실행을 추적하는 경우(인내성 작업입니다). 실행하려는 함수의 주소를 적어둔 후. 스크립트를 통해 원격으로 디버거를 제어할 수 있습니다. 대부분의 애플리케이션은 먼저 몇 가지 초기화 단계를 수행해야 합니다.

회의:

  1. 디버거 시작
  2. 실행 파일 로드
  3. 애플리케이션 초기화 후 중단점 설정
  4. 달리기
  5. 중단점에 도달한 후 해당 함수로 점프합니다.

관련 정보