저는 현재 SO 라이브러리 (GTA SA for Android) 용 SO 플러그인 로더를 개발 중입니다. Android의 SO 라이브러리는 Unix ELF 파일입니다. 라이브러리의 소스 코드가 없으므로 가져온 함수를 소스 코드에 추가하고 SO 라이브러리를 다시 컴파일 할 수 없습니다.기존 Android SO 라이브러리에 가져온 기능을 추가하는 방법은 무엇입니까?
libGTASA.so가 있습니다. 임포트 테이블을 편집 및 변경하고, libFTXA.so가 Java 코드에 의해로드되기 전에 이미로드 된 libFastman92pluginLoader.so에 구현 될 RunSOpluginLoader라는 새로운 심볼을 추가합니다. (classes.dex)도 수정했습니다.
Windows 용 EXE 파일의 경우 많은 편집 프로그램이있어 LordPE를 사용합니다. ELF 파일의 경우 다른 해결책이 필요하지만 하나를 찾는 데 문제가 있습니다.
ELF 파일을 열어 편집해야하는 HT Editor를 사용했지만 HT Editor에서 libGTASA.so가 열리고 몇 초 만에 응용 프로그램이 중단됩니다.
SO 라이브러리에 가져 오기를 추가하는 해결책이 필요합니다. Windows에서 실행할 수있는 솔루션이 바람직하지만, 없으면 Linux 시스템에서 기꺼이 수행 할 것입니다.
제대로 가져 오기를 추가 한 후에 libGTASA.so 안에 약간의 ARM 코드를 편집하여 실제로 새로 가져온 함수를 호출합니다.
기본적으로
libGTASA.so - 가져온 심볼 RunSOpluginLoader를이 파일에 추가하려고합니다.