2012-04-17 7 views

답변

1

사용할 수 없습니다. iOS에서는 실행 파일 페이지를 만들거나 파일에서 맞춤 바이너리를 실행할 수 없습니다.

0

내가 아는 한 컴파일 된 실행 바이너리는 Xcode와 도구로 서명해야하기 때문에 압축 할 수 없습니다. iOS 장치에 서명 된 코드를 배포 한 후에는 어떤 방식 으로든 수정할 수 없습니다 (OS 만 다른 방식으로 RAM에로드 할 수 있음).

리소스 파일을 압축하고 다른 방식으로로드 할 수 있습니다.

+2

이것은 잘못된 가정입니다. Xcode의 빌드 프로세스는 코드 네이 팅과는 별개이므로 빌드가 끝나고 서명되기 전에 바이너리를 조작 할 수 있습니다. 프로젝트의 설정에는 "postbuild custom build script"필드가 있습니다. – kuba

+0

예. 그러나 코드 작성 (이진 파일)은 Xcode와 도구의 일부이기도합니다. 따라서 xcode가 아닌 도구로 바이너리를 패키징하려면 iOS 하위 시스템에도 해당 도구가 필요합니다. 그래서 내 눈에는 기회가 없다. –

+1

음, 아니. UPX 및 다른 패커는 unpacker를 바이너리 자체에 포함 시키므로 별도의 요구 사항이없는 독립 실행 형 바이너리입니다. 그러나 다른 이유로는 불가능할 수 있습니다 (다른 게시물에서 제안 된 것처럼 런타임에 실행 가능 페이지를 할당 할 수 없음). – kuba

1

UPX와 같은 unpackers는 압축 해제 된 이미지를 어딘가에 배치해야합니다. 메모리에 배치되면 CPU는 이미지의 명령 실행을 시작해야합니다.이 명령은 이전에는 데이터로 처리되었습니다. IIRC, iOS에서는 데이터 실행이 허용되지 않습니다.