iPapatch는 탈옥없이 iOS 앱을 패치하는 간단한 방법을 제공합니다.
[기능 • 지침 • 예 • FAQ • 라이센스]
iPapatch에는 다음 기능을 제공하는 템플릿 Xcode 프로젝트가 포함되어 있습니다.
코드가 주입 한 상태에서 타사 IPA를 빌드 및 실행하십시오
동적 라이브러리로 IPA 파일 내에서 자신의 코드를 실행할 수 있습니다. 따라서 Objective-C 런타임을 사용하여 해당 앱의 동작을 변경할 수 있습니다.
YouTube 앱에서 사용자 정의 경고를 제시했습니다
LLDB로 단계별 디버깅
자신의 타사 앱을 디버깅 할 수 있습니다. 예를 들어:
Xcode로 YouTube 디버깅
외부 프레임 워크를 연결합니다
기존 프레임 워크를 연결하면 타사 서비스를 공개와 같은 앱에 매우 쉽게 통합 할 수 있습니다.
respoyserver.framework를 연결하여 YouTube를 검사하십시오
분산 가능 .ipa 파일을 생성합니다
ipapatch 생성 된 .ipa 파일을 통해 패치/작업을 친구에게 매우 쉽게 배포 할 수 있습니다.
iPapatch에서 만든 Facebook.ipa의 수정 된 버전
이 프로젝트를 복제하거나 다운로드하십시오
이 프로젝트를 로컬 디스크로 다운로드하십시오
해독 된 IPA 파일을 준비하십시오
사용하는 IPA 파일은 해독해야합니다. 탈옥 장치에서 해독 된 IPA를 얻거나 http://www.iphonecake.com과 같은 IPA 다운로드 사이트에서 직접 다운로드 할 수 있습니다.
자리 표시 자 IPA를 교체하십시오
IPAPatch/Assets/app.ipa 에있는 IPA 파일을 귀하의 자리 표시 자 파일로 바꾸십시오. 파일 이름은 교체 후 app.ipa 유지해야합니다.
외부 리소스/프레임 워크 배치 (선택 사항)
외부 파일의 유형에 따라 지원됩니다.
IPAPatch/Assets/Frameworks 폴더에 배치 할 수 있습니다.IPAPatch/Assets/Frameworks/RevealServer.frameworkIPAPatch/Assets/Dylibs 폴더에 배치 할 수 있습니다.IPAPatch/Assets/Resources 에 배치 할 수 있습니다빌드 설정을 구성합니다
IPAPatch.xcodeproj 엽니 다IPAPatch-DummyApp 선택하십시오Display Name 기본값으로 "?", 이것은 최종 디스플레이 이름의 접두사로 사용됩니다.Bundle Identifier 변경하십시오ippatch 옵션을 구성하십시오
Tools/options.plist 으로 ipapatch의 동작을 구성 할 수 있습니다
| 이름 | 설명 | 기본 |
|---|---|---|
| 복원 _symbols | YES iPapatch는 제안 디버깅 제안을 위해 Mach-O에서 Symbol Table을 복원하려고 시도합니다 (https://github.com/tobefuturer/restore-symbol의 도구, @henrayluo 및 @dannion 덕분). | 아니요 |
| create_ipa_file | YES iPapatch는 각 빌드에서 IPA 파일을 생성합니다. 제작 된 파일은 SRCROOT/Product 에 있습니다 | 아니요 |
| incor_ui_supported_devices | YES ipapatch는 소스 앱의 Info.plist 에서 UISupportedDevices 삭제합니다. | 아니요 |
| remove_watchplaceholder | YES ipapatch는 소스 앱의 번들에서 com.apple.WatchPlaceholder 폴더를 제거합니다. | 예 |
| use_original_entitlements | YES iPapatch는 소스 앱의 자격을 사용하여 사임합니다. 프로비저닝 프로필이 자격과 일치하거나 대상 장치에서 AMFI 비활성화해야합니다. | 아니요 |
패치를 코딩하십시오
항목은 +[IPAPatchEntry load] 에 있으며 여기에서 코드 시작을 쓸 수 있습니다. Apps의 동작을 변경하려면 Steipete/Aspects와 같은 일부 방법 Swizzling Library를 사용해야 할 수도 있습니다.
빌드 및 실행
실제 장치를 선택하고 Xcode의 왼쪽 상단 코너에서 "실행"버튼을 누르십시오. 작성된 코드 및 귀하가 배치 한 외부 프레임 워크가 IPA 파일에 자동으로 주입됩니다.
IPAPatch 사용 방법을 보여주는 데모 프로젝트를 만들었습니다.
Q : 라이브러리가 이유가없는 라이브러리 : mach-o, but wrong architecture ?
IPAPatch Target의 Valid Architectures 설정하십시오.Q : 프로세스 시작 실패 : 지정되지 않은 (비활성화)?
Q : Dyld : 기호 찾기 : xxx, 참조 : xxx, 예상 : xxx/libswiftxxx.dylib
iPapatch는 MIT 라이센스에 따라 라이센스가 부여됩니다.
Copyright (c) 2017-present Wu Tian <[email protected]>.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Copyright (c) 2014, Alex Zielenski
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 2013, Facebook, Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name Facebook nor the names of its contributors may be used to
endorse or promote products derived from this software without specific
prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.