iPod touch (설치 프로그램 4)에 루트 앱이 있으며 MobileSubstrate를로드하여 버그 수정을 시작할 수 있습니다. 나는 root 앱이 충돌없이 앱에 6755 권한을 부여 할 수있는 중간 실행 파일을 가지고 있음을 알고있다. 설치 프로그램의 경우 Scythe라는 이름이다. 성공적으로 execve()를 사용하여 MobileSubatrate를로드하기 위해 새로운 것을 만들려고했습니다. 응용 프로그램이 다운되지 않고 루트로 유지되지만 MobileSubatrate가로드되지 않습니다./(Activator가 작동하지 않기 때문에이 사실을 알고 있습니다). 당신이 볼 수 있듯이, 내가는 execve (와 dylib를로드하는 방법을 연구했다)와 내가 찾은setuid iPhone 앱에서 MobileSubstrate로드하기
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <dlfcn.h>
int main(int argc, char * argv[], char * envp[]) {
char fullpath[1024];
strncpy(fullpath, argv[0], strlen(argv[0]) - strlen("Scythe"));
strcat(fullpath, "Installer");
char* newArgv[] = { fullpath, NULL };
char* newEnvp[] = { "LD_PRELOAD=/Library/MobileSubstrate/MobileSubstrate.dylib", NULL };
return execve(fullpath, newArgv, newEnvp);
}
: 여기
는 (얼음에서 Trichlorotrifluoroethane.c 기준) 내 Scythe.c입니다 LD_PRELOAD 및 LD_LIBRARY_PATH가 있지만 둘 다 작동하지 않습니다. 그리고 dlopen ("/ Library/MobileSubstrate/MobileSubstrate.dylib", RTLD_LAZY)을 수행하기위한 설치 프로그램의 소스 코드가 없습니다. 어쨌든이 질문을하지 않을 것입니다.누군가가 문제를 파악하기를 바랍니다.
일부 안전 문제가있는 경우 일반 APP Store 응용 프로그램에서 MobileSubstrate로드 dylib을 방지하는 방법을 알고 싶습니다. 어떤 아이디어? –
Apple은 수정하고 싶지 않기 때문에 MobileSubstrate 로딩 dylib을 막기를 원합니다. – Matoe
나는 앱이 탈옥 된 장치에 ms 확장을로드하지 못하게하는 방법을 의미합니다. –