├── LICENSE ├── LatestBuild ├── Package └── reveal2Loader.deb ├── README.md ├── reveal2Loader.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── xcuserdata │ │ └── eziochiu.xcuserdatad │ │ └── UserInterfaceState.xcuserstate └── xcuserdata │ └── eziochiu.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist └── reveal2Loader ├── Package ├── DEBIAN │ ├── control │ ├── postinst │ ├── postrm │ ├── preinst │ └── prerm └── Library │ ├── Frameworks │ └── RevealServer.framework │ │ ├── Headers │ │ └── RevealServer.h │ │ ├── Info.plist │ │ ├── Modules │ │ └── module.modulemap │ │ ├── RevealServer │ │ ├── Scripts │ │ └── copy_and_codesign_revealserver.sh │ │ └── _CodeSignature │ │ └── CodeResources │ ├── MobileSubstrate │ └── DynamicLibraries │ │ ├── reveal2Loader.dylib │ │ └── reveal2Loader.plist │ └── PreferenceLoader │ └── Preferences │ ├── Reveal2Loader.plist │ ├── reveal-logo@2x.png │ └── reveal-logo@3x.png ├── PackageVersion.plist ├── reveal2Loader-Prefix.pch ├── reveal2Loader.h └── reveal2Loader.m /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 eziochiu 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /LatestBuild: -------------------------------------------------------------------------------- 1 | /Users/eziochiu/Library/Developer/Xcode/DerivedData/reveal2Loader-cxkvnpqwygzolxdibpardzsrufyw/Build/Products/Debug-iphoneos -------------------------------------------------------------------------------- /Package/reveal2Loader.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eziochiu/Reveal2Loader-Fixed-on-iOS12/d85f97ce7f3f992b62f37761d349ccabd5296865/Package/reveal2Loader.deb -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Reveal2Loader-Fixed-on-iOS13 2 | 3 | Update:Fixed for iOS13 4 | 5 | Due to file-map-executable /Library/MobileSubstrate/DynamicLibraries/reveal2Loader.dylib, the plugin cannot be used in iOS 12, According to the source code, i fixed the bug,before install it, please uninstall Reveal2Loader first. 6 | 7 | Compatible with iOS 8 - iOS 13 8 | 9 | [Source Code](https://github.com/zidaneno5/Reveal2Loader) 10 | 11 | -------------------------------------------------------------------------------- /reveal2Loader.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 436FE7BC1D93CF0B0024AC55 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 436FE7BB1D93CF0B0024AC55 /* Foundation.framework */; }; 11 | 8C3B79A4222395A800B7F5D7 /* reveal2Loader.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C3B79A2222395A800B7F5D7 /* reveal2Loader.h */; }; 12 | 8C3B79A5222395A800B7F5D7 /* reveal2Loader.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C3B79A3222395A800B7F5D7 /* reveal2Loader.m */; }; 13 | /* End PBXBuildFile section */ 14 | 15 | /* Begin PBXFileReference section */ 16 | 43599CB71E7B8D52009779ED /* reveal-logo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "reveal-logo@2x.png"; sourceTree = ""; }; 17 | 43599CB81E7B8D52009779ED /* reveal-logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "reveal-logo@3x.png"; sourceTree = ""; }; 18 | 43599CB91E7B8D52009779ED /* Reveal2Loader.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Reveal2Loader.plist; sourceTree = ""; }; 19 | 43599CBF1E7B8EC7009779ED /* RevealServer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = RevealServer.framework; sourceTree = ""; }; 20 | 436FE7B81D93CF0B0024AC55 /* reveal2Loader.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = reveal2Loader.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; 21 | 436FE7BB1D93CF0B0024AC55 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 22 | 436FE7C11D93CF0B0024AC55 /* control */ = {isa = PBXFileReference; lastKnownFileType = text; name = control; path = Package/DEBIAN/control; sourceTree = ""; }; 23 | 436FE7C31D93CF0B0024AC55 /* PackageVersion.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = PackageVersion.plist; sourceTree = ""; }; 24 | 436FE7C41D93CF0B0024AC55 /* reveal2Loader-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "reveal2Loader-Prefix.pch"; sourceTree = ""; }; 25 | 436FE7CB1D93CF0B0024AC55 /* reveal2Loader.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = reveal2Loader.plist; path = Package/Library/MobileSubstrate/DynamicLibraries/reveal2Loader.plist; sourceTree = ""; }; 26 | 8C3B79582223897900B7F5D7 /* postinst */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = postinst; path = Package/DEBIAN/postinst; sourceTree = ""; }; 27 | 8C3B79592223897900B7F5D7 /* prerm */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = prerm; path = Package/DEBIAN/prerm; sourceTree = ""; }; 28 | 8C3B795A2223897900B7F5D7 /* postrm */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = postrm; path = Package/DEBIAN/postrm; sourceTree = ""; }; 29 | 8C3B795B2223897900B7F5D7 /* preinst */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = preinst; path = Package/DEBIAN/preinst; sourceTree = ""; }; 30 | 8C3B79A2222395A800B7F5D7 /* reveal2Loader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = reveal2Loader.h; sourceTree = ""; }; 31 | 8C3B79A3222395A800B7F5D7 /* reveal2Loader.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = reveal2Loader.m; sourceTree = ""; }; 32 | /* End PBXFileReference section */ 33 | 34 | /* Begin PBXFrameworksBuildPhase section */ 35 | 436FE7B41D93CF0B0024AC55 /* Frameworks */ = { 36 | isa = PBXFrameworksBuildPhase; 37 | buildActionMask = 2147483647; 38 | files = ( 39 | 436FE7BC1D93CF0B0024AC55 /* Foundation.framework in Frameworks */, 40 | ); 41 | runOnlyForDeploymentPostprocessing = 0; 42 | }; 43 | /* End PBXFrameworksBuildPhase section */ 44 | 45 | /* Begin PBXGroup section */ 46 | 43599CB51E7B8D52009779ED /* PreferenceLoader */ = { 47 | isa = PBXGroup; 48 | children = ( 49 | 43599CB61E7B8D52009779ED /* Preferences */, 50 | ); 51 | name = PreferenceLoader; 52 | path = Package/Library/PreferenceLoader; 53 | sourceTree = ""; 54 | }; 55 | 43599CB61E7B8D52009779ED /* Preferences */ = { 56 | isa = PBXGroup; 57 | children = ( 58 | 43599CB71E7B8D52009779ED /* reveal-logo@2x.png */, 59 | 43599CB81E7B8D52009779ED /* reveal-logo@3x.png */, 60 | 43599CB91E7B8D52009779ED /* Reveal2Loader.plist */, 61 | ); 62 | path = Preferences; 63 | sourceTree = ""; 64 | }; 65 | 43599CBA1E7B8D71009779ED /* Frameworks */ = { 66 | isa = PBXGroup; 67 | children = ( 68 | 43599CBF1E7B8EC7009779ED /* RevealServer.framework */, 69 | ); 70 | name = Frameworks; 71 | path = Package/Library/Frameworks; 72 | sourceTree = ""; 73 | }; 74 | 436FE7AD1D93CF0B0024AC55 = { 75 | isa = PBXGroup; 76 | children = ( 77 | 436FE7BD1D93CF0B0024AC55 /* reveal2Loader */, 78 | 436FE7BA1D93CF0B0024AC55 /* Frameworks */, 79 | 436FE7B91D93CF0B0024AC55 /* Products */, 80 | ); 81 | sourceTree = ""; 82 | }; 83 | 436FE7B91D93CF0B0024AC55 /* Products */ = { 84 | isa = PBXGroup; 85 | children = ( 86 | 436FE7B81D93CF0B0024AC55 /* reveal2Loader.dylib */, 87 | ); 88 | name = Products; 89 | sourceTree = ""; 90 | }; 91 | 436FE7BA1D93CF0B0024AC55 /* Frameworks */ = { 92 | isa = PBXGroup; 93 | children = ( 94 | 436FE7BB1D93CF0B0024AC55 /* Foundation.framework */, 95 | ); 96 | name = Frameworks; 97 | sourceTree = ""; 98 | }; 99 | 436FE7BD1D93CF0B0024AC55 /* reveal2Loader */ = { 100 | isa = PBXGroup; 101 | children = ( 102 | 8C3B79A2222395A800B7F5D7 /* reveal2Loader.h */, 103 | 8C3B79A3222395A800B7F5D7 /* reveal2Loader.m */, 104 | 436FE7BE1D93CF0B0024AC55 /* Package */, 105 | 436FE7C21D93CF0B0024AC55 /* Supporting Files */, 106 | ); 107 | path = reveal2Loader; 108 | sourceTree = ""; 109 | }; 110 | 436FE7BE1D93CF0B0024AC55 /* Package */ = { 111 | isa = PBXGroup; 112 | children = ( 113 | 436FE7BF1D93CF0B0024AC55 /* DEBIAN */, 114 | 436FE7C81D93CF0B0024AC55 /* Library */, 115 | ); 116 | name = Package; 117 | sourceTree = ""; 118 | }; 119 | 436FE7BF1D93CF0B0024AC55 /* DEBIAN */ = { 120 | isa = PBXGroup; 121 | children = ( 122 | 436FE7C11D93CF0B0024AC55 /* control */, 123 | 8C3B79582223897900B7F5D7 /* postinst */, 124 | 8C3B795A2223897900B7F5D7 /* postrm */, 125 | 8C3B795B2223897900B7F5D7 /* preinst */, 126 | 8C3B79592223897900B7F5D7 /* prerm */, 127 | ); 128 | name = DEBIAN; 129 | sourceTree = ""; 130 | }; 131 | 436FE7C21D93CF0B0024AC55 /* Supporting Files */ = { 132 | isa = PBXGroup; 133 | children = ( 134 | 436FE7C31D93CF0B0024AC55 /* PackageVersion.plist */, 135 | 436FE7C41D93CF0B0024AC55 /* reveal2Loader-Prefix.pch */, 136 | ); 137 | name = "Supporting Files"; 138 | sourceTree = ""; 139 | }; 140 | 436FE7C81D93CF0B0024AC55 /* Library */ = { 141 | isa = PBXGroup; 142 | children = ( 143 | 43599CBA1E7B8D71009779ED /* Frameworks */, 144 | 43599CB51E7B8D52009779ED /* PreferenceLoader */, 145 | 436FE7C91D93CF0B0024AC55 /* MobileSubstrate */, 146 | ); 147 | name = Library; 148 | sourceTree = ""; 149 | }; 150 | 436FE7C91D93CF0B0024AC55 /* MobileSubstrate */ = { 151 | isa = PBXGroup; 152 | children = ( 153 | 436FE7CA1D93CF0B0024AC55 /* DynamicLibraries */, 154 | ); 155 | name = MobileSubstrate; 156 | sourceTree = ""; 157 | }; 158 | 436FE7CA1D93CF0B0024AC55 /* DynamicLibraries */ = { 159 | isa = PBXGroup; 160 | children = ( 161 | 436FE7CB1D93CF0B0024AC55 /* reveal2Loader.plist */, 162 | ); 163 | name = DynamicLibraries; 164 | sourceTree = ""; 165 | }; 166 | /* End PBXGroup section */ 167 | 168 | /* Begin PBXHeadersBuildPhase section */ 169 | 436FE7B51D93CF0B0024AC55 /* Headers */ = { 170 | isa = PBXHeadersBuildPhase; 171 | buildActionMask = 2147483647; 172 | files = ( 173 | 8C3B79A4222395A800B7F5D7 /* reveal2Loader.h in Headers */, 174 | ); 175 | runOnlyForDeploymentPostprocessing = 0; 176 | }; 177 | /* End PBXHeadersBuildPhase section */ 178 | 179 | /* Begin PBXNativeTarget section */ 180 | 436FE7B71D93CF0B0024AC55 /* reveal2Loader */ = { 181 | isa = PBXNativeTarget; 182 | buildConfigurationList = 436FE7CE1D93CF0B0024AC55 /* Build configuration list for PBXNativeTarget "reveal2Loader" */; 183 | buildPhases = ( 184 | 436FE7B21D93CF0B0024AC55 /* ShellScript */, 185 | 436FE7B31D93CF0B0024AC55 /* Sources */, 186 | 436FE7B41D93CF0B0024AC55 /* Frameworks */, 187 | 436FE7B51D93CF0B0024AC55 /* Headers */, 188 | 436FE7B61D93CF0B0024AC55 /* ShellScript */, 189 | ); 190 | buildRules = ( 191 | ); 192 | dependencies = ( 193 | ); 194 | name = reveal2Loader; 195 | productName = reveal2Loader; 196 | productReference = 436FE7B81D93CF0B0024AC55 /* reveal2Loader.dylib */; 197 | productType = "com.apple.product-type.library.dynamic"; 198 | }; 199 | /* End PBXNativeTarget section */ 200 | 201 | /* Begin PBXProject section */ 202 | 436FE7AE1D93CF0B0024AC55 /* Project object */ = { 203 | isa = PBXProject; 204 | attributes = { 205 | LastUpgradeCheck = 0800; 206 | TargetAttributes = { 207 | 436FE7B71D93CF0B0024AC55 = { 208 | CreatedOnToolsVersion = 8.0; 209 | ProvisioningStyle = Automatic; 210 | }; 211 | }; 212 | }; 213 | buildConfigurationList = 436FE7B11D93CF0B0024AC55 /* Build configuration list for PBXProject "reveal2Loader" */; 214 | compatibilityVersion = "Xcode 3.2"; 215 | developmentRegion = English; 216 | hasScannedForEncodings = 0; 217 | knownRegions = ( 218 | en, 219 | ); 220 | mainGroup = 436FE7AD1D93CF0B0024AC55; 221 | productRefGroup = 436FE7B91D93CF0B0024AC55 /* Products */; 222 | projectDirPath = ""; 223 | projectRoot = ""; 224 | targets = ( 225 | 436FE7B71D93CF0B0024AC55 /* reveal2Loader */, 226 | ); 227 | }; 228 | /* End PBXProject section */ 229 | 230 | /* Begin PBXShellScriptBuildPhase section */ 231 | 436FE7B21D93CF0B0024AC55 /* ShellScript */ = { 232 | isa = PBXShellScriptBuildPhase; 233 | buildActionMask = 2147483647; 234 | files = ( 235 | ); 236 | inputPaths = ( 237 | ); 238 | outputPaths = ( 239 | ); 240 | runOnlyForDeploymentPostprocessing = 0; 241 | shellPath = /bin/sh; 242 | shellScript = "/opt/iOSOpenDev/bin/iosod --xcbp-logos\n"; 243 | }; 244 | 436FE7B61D93CF0B0024AC55 /* ShellScript */ = { 245 | isa = PBXShellScriptBuildPhase; 246 | buildActionMask = 2147483647; 247 | files = ( 248 | ); 249 | inputPaths = ( 250 | ); 251 | outputPaths = ( 252 | ); 253 | runOnlyForDeploymentPostprocessing = 0; 254 | shellPath = /bin/sh; 255 | shellScript = "/opt/iOSOpenDev/bin/iosod --xcbp\n"; 256 | }; 257 | /* End PBXShellScriptBuildPhase section */ 258 | 259 | /* Begin PBXSourcesBuildPhase section */ 260 | 436FE7B31D93CF0B0024AC55 /* Sources */ = { 261 | isa = PBXSourcesBuildPhase; 262 | buildActionMask = 2147483647; 263 | files = ( 264 | 8C3B79A5222395A800B7F5D7 /* reveal2Loader.m in Sources */, 265 | ); 266 | runOnlyForDeploymentPostprocessing = 0; 267 | }; 268 | /* End PBXSourcesBuildPhase section */ 269 | 270 | /* Begin XCBuildConfiguration section */ 271 | 436FE7CC1D93CF0B0024AC55 /* Debug */ = { 272 | isa = XCBuildConfiguration; 273 | buildSettings = { 274 | COPY_PHASE_STRIP = NO; 275 | EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "*.nib *.lproj *.gch (*) .DS_Store CVS .svn .git .hg *.xcodeproj *.xcode *.pbproj *.pbxproj"; 276 | FRAMEWORK_SEARCH_PATHS = ( 277 | "$(iOSOpenDevPath)/frameworks/**", 278 | "$(SDKROOT)/System/Library/PrivateFrameworks", 279 | ); 280 | GCC_C_LANGUAGE_STANDARD = gnu99; 281 | GCC_DYNAMIC_NO_PIC = NO; 282 | GCC_OPTIMIZATION_LEVEL = 0; 283 | GCC_PREPROCESSOR_DEFINITIONS = ( 284 | "DEBUG=1", 285 | "$(inherited)", 286 | ); 287 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 288 | GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; 289 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 290 | GCC_WARN_UNUSED_VARIABLE = YES; 291 | HEADER_SEARCH_PATHS = "$(iOSOpenDevPath)/include/**"; 292 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 293 | LIBRARY_SEARCH_PATHS = "$(iOSOpenDevPath)/lib/**"; 294 | SDKROOT = iphoneos; 295 | TARGETED_DEVICE_FAMILY = "1,2"; 296 | VALIDATE_PRODUCT = NO; 297 | iOSOpenDevPath = /opt/iOSOpenDev; 298 | }; 299 | name = Debug; 300 | }; 301 | 436FE7CD1D93CF0B0024AC55 /* Release */ = { 302 | isa = XCBuildConfiguration; 303 | buildSettings = { 304 | COPY_PHASE_STRIP = YES; 305 | EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "*.nib *.lproj *.gch (*) .DS_Store CVS .svn .git .hg *.xcodeproj *.xcode *.pbproj *.pbxproj"; 306 | FRAMEWORK_SEARCH_PATHS = ( 307 | "$(iOSOpenDevPath)/frameworks/**", 308 | "$(SDKROOT)/System/Library/PrivateFrameworks", 309 | ); 310 | GCC_C_LANGUAGE_STANDARD = gnu99; 311 | GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; 312 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 313 | GCC_WARN_UNUSED_VARIABLE = YES; 314 | HEADER_SEARCH_PATHS = "$(iOSOpenDevPath)/include/**"; 315 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 316 | LIBRARY_SEARCH_PATHS = "$(iOSOpenDevPath)/lib/**"; 317 | SDKROOT = iphoneos; 318 | TARGETED_DEVICE_FAMILY = "1,2"; 319 | VALIDATE_PRODUCT = YES; 320 | iOSOpenDevPath = /opt/iOSOpenDev; 321 | }; 322 | name = Release; 323 | }; 324 | 436FE7CF1D93CF0B0024AC55 /* Debug */ = { 325 | isa = XCBuildConfiguration; 326 | buildSettings = { 327 | CODE_SIGN_IDENTITY = ""; 328 | DYLIB_COMPATIBILITY_VERSION = 1; 329 | DYLIB_CURRENT_VERSION = 1; 330 | FRAMEWORK_SEARCH_PATHS = ( 331 | "$(inherited)", 332 | "$(PROJECT_DIR)", 333 | /opt/iOSOpenDev/frameworks, 334 | ); 335 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 336 | GCC_PREFIX_HEADER = "reveal2Loader/reveal2Loader-Prefix.pch"; 337 | INSTALL_PATH = /Library/MobileSubstrate/DynamicLibraries; 338 | PRODUCT_NAME = "$(TARGET_NAME)"; 339 | iOSOpenDevBuildPackageOnAnyBuild = NO; 340 | iOSOpenDevCopyOnBuild = NO; 341 | iOSOpenDevDevice = ""; 342 | iOSOpenDevInstallOnAnyBuild = NO; 343 | iOSOpenDevInstallOnProfiling = NO; 344 | iOSOpenDevRespringOnInstall = YES; 345 | iOSOpenDevUsePackageVersionPList = YES; 346 | }; 347 | name = Debug; 348 | }; 349 | 436FE7D01D93CF0B0024AC55 /* Release */ = { 350 | isa = XCBuildConfiguration; 351 | buildSettings = { 352 | CODE_SIGN_IDENTITY = ""; 353 | DYLIB_COMPATIBILITY_VERSION = 1; 354 | DYLIB_CURRENT_VERSION = 1; 355 | FRAMEWORK_SEARCH_PATHS = ( 356 | "$(inherited)", 357 | "$(PROJECT_DIR)", 358 | /opt/iOSOpenDev/frameworks, 359 | ); 360 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 361 | GCC_PREFIX_HEADER = "reveal2Loader/reveal2Loader-Prefix.pch"; 362 | INSTALL_PATH = /Library/MobileSubstrate/DynamicLibraries; 363 | PRODUCT_NAME = "$(TARGET_NAME)"; 364 | iOSOpenDevBuildPackageOnAnyBuild = NO; 365 | iOSOpenDevCopyOnBuild = NO; 366 | iOSOpenDevDevice = ""; 367 | iOSOpenDevInstallOnAnyBuild = NO; 368 | iOSOpenDevInstallOnProfiling = NO; 369 | iOSOpenDevRespringOnInstall = YES; 370 | iOSOpenDevUsePackageVersionPList = YES; 371 | }; 372 | name = Release; 373 | }; 374 | /* End XCBuildConfiguration section */ 375 | 376 | /* Begin XCConfigurationList section */ 377 | 436FE7B11D93CF0B0024AC55 /* Build configuration list for PBXProject "reveal2Loader" */ = { 378 | isa = XCConfigurationList; 379 | buildConfigurations = ( 380 | 436FE7CC1D93CF0B0024AC55 /* Debug */, 381 | 436FE7CD1D93CF0B0024AC55 /* Release */, 382 | ); 383 | defaultConfigurationIsVisible = 0; 384 | defaultConfigurationName = Release; 385 | }; 386 | 436FE7CE1D93CF0B0024AC55 /* Build configuration list for PBXNativeTarget "reveal2Loader" */ = { 387 | isa = XCConfigurationList; 388 | buildConfigurations = ( 389 | 436FE7CF1D93CF0B0024AC55 /* Debug */, 390 | 436FE7D01D93CF0B0024AC55 /* Release */, 391 | ); 392 | defaultConfigurationIsVisible = 0; 393 | defaultConfigurationName = Release; 394 | }; 395 | /* End XCConfigurationList section */ 396 | }; 397 | rootObject = 436FE7AE1D93CF0B0024AC55 /* Project object */; 398 | } 399 | -------------------------------------------------------------------------------- /reveal2Loader.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /reveal2Loader.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /reveal2Loader.xcodeproj/project.xcworkspace/xcuserdata/eziochiu.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eziochiu/Reveal2Loader-Fixed-on-iOS12/d85f97ce7f3f992b62f37761d349ccabd5296865/reveal2Loader.xcodeproj/project.xcworkspace/xcuserdata/eziochiu.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /reveal2Loader.xcodeproj/xcuserdata/eziochiu.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | reveal2Loader.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /reveal2Loader/Package/DEBIAN/control: -------------------------------------------------------------------------------- 1 | Package: reveal2loader 2 | Name: RevealLoader fixed for iOS13 3 | Version: 1.3 4 | Description: dynamically loads Reveal into applications and plugins. 5 | Section: System 6 | Depends: firmware (>= 8.0), mobilesubstrate, applist, preferenceloader, com.zidaneno5.ExtensionList 7 | Conflicts: com.rheard.rhrevealloader, com.rheard.reveal-loader 8 | Replaces: com.rheard.rhrevealloader, com.rheard.reveal-loader 9 | Priority: optional 10 | Architecture: iphoneos-arm 11 | Author: eziochiu 12 | dev: zidaneno5 13 | Homepage: 14 | Depiction: 15 | Maintainer: eziochiu 16 | Icon: 17 | 18 | -------------------------------------------------------------------------------- /reveal2Loader/Package/DEBIAN/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script is executed AFTER the Debian package is INSTALLED 4 | # For information about this file, see http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html#s-maintscripts. 5 | 6 | mv "/Library/Frameworks/RevealServer.framework/RevealServer" "/Library/MobileSubstrate/DynamicLibraries/RevealServer" 7 | ln -fs "/Library/MobileSubstrate/DynamicLibraries/RevealServer" "/Library/Frameworks/RevealServer.framework/RevealServer" -------------------------------------------------------------------------------- /reveal2Loader/Package/DEBIAN/postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script is executed AFTER the Debian package is REMOVED 4 | # For information about this file, see http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html#s-maintscripts. 5 | 6 | rm -rf "/Library/MobileSubstrate/DynamicLibraries/RevealServer" -------------------------------------------------------------------------------- /reveal2Loader/Package/DEBIAN/preinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script is executed BEFORE the Debian package is INSTALLED 4 | # For information about this file, see http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html#s-maintscripts. 5 | 6 | -------------------------------------------------------------------------------- /reveal2Loader/Package/DEBIAN/prerm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script is executed BEFORE the Debian package is REMOVED 4 | # For information about this file, see http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html#s-maintscripts. 5 | 6 | -------------------------------------------------------------------------------- /reveal2Loader/Package/Library/Frameworks/RevealServer.framework/Headers/RevealServer.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2015 Itty Bitty Apps, Pty Ltd. All rights reserved. 3 | 4 | #import 5 | 6 | //! Project version number for RevealServer. 7 | FOUNDATION_EXPORT double RevealServerVersionNumber; 8 | 9 | //! Project version string for RevealServer. 10 | FOUNDATION_EXPORT const unsigned char RevealServerVersionString[]; 11 | 12 | -------------------------------------------------------------------------------- /reveal2Loader/Package/Library/Frameworks/RevealServer.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eziochiu/Reveal2Loader-Fixed-on-iOS12/d85f97ce7f3f992b62f37761d349ccabd5296865/reveal2Loader/Package/Library/Frameworks/RevealServer.framework/Info.plist -------------------------------------------------------------------------------- /reveal2Loader/Package/Library/Frameworks/RevealServer.framework/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module RevealServer { 2 | umbrella header "RevealServer.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /reveal2Loader/Package/Library/Frameworks/RevealServer.framework/RevealServer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eziochiu/Reveal2Loader-Fixed-on-iOS12/d85f97ce7f3f992b62f37761d349ccabd5296865/reveal2Loader/Package/Library/Frameworks/RevealServer.framework/RevealServer -------------------------------------------------------------------------------- /reveal2Loader/Package/Library/Frameworks/RevealServer.framework/Scripts/copy_and_codesign_revealserver.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -o errexit 3 | set -o nounset 4 | 5 | # Ensure that we have a valid OTHER_LDFLAGS environment variable 6 | OTHER_LDFLAGS=${OTHER_LDFLAGS:=""} 7 | 8 | # Ensure that we have a valid REVEAL_SERVER_FILENAME environment variable 9 | REVEAL_SERVER_FILENAME=${REVEAL_SERVER_FILENAME:="RevealServer.framework"} 10 | 11 | # Ensure that we have a valid REVEAL_SERVER_PATH environment variable 12 | REVEAL_SERVER_PATH=${REVEAL_SERVER_PATH:="${SRCROOT}/${REVEAL_SERVER_FILENAME}"} 13 | 14 | # The path to copy the framework to 15 | app_frameworks_dir="${CODESIGNING_FOLDER_PATH}/Frameworks" 16 | 17 | copy_library() { 18 | mkdir -p "$app_frameworks_dir" 19 | cp -vRf "$REVEAL_SERVER_PATH" "${app_frameworks_dir}/" 20 | } 21 | 22 | codesign_library() { 23 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" ]; then 24 | codesign -fs "${EXPANDED_CODE_SIGN_IDENTITY}" "${app_frameworks_dir}/${REVEAL_SERVER_FILENAME}" 25 | fi 26 | } 27 | 28 | main() { 29 | if [[ $OTHER_LDFLAGS =~ "RevealServer" ]]; then 30 | if [ -e "$REVEAL_SERVER_PATH" ]; then 31 | copy_library 32 | codesign_library 33 | echo "${REVEAL_SERVER_FILENAME} is included in this build, and has been copied to $CODESIGNING_FOLDER_PATH" 34 | else 35 | echo "${REVEAL_SERVER_FILENAME} is not included in this build, as it could not be found at $REVEAL_SERVER_PATH" 36 | fi 37 | else 38 | echo "${REVEAL_SERVER_FILENAME} is not included in this build because RevealServer was not present in the OTHER_LDFLAGS environment variable." 39 | fi 40 | } 41 | 42 | main 43 | -------------------------------------------------------------------------------- /reveal2Loader/Package/Library/Frameworks/RevealServer.framework/_CodeSignature/CodeResources: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | files 6 | 7 | Headers/RevealServer.h 8 | 9 | JavE2LI6bNGfH9W90/bDxwIxVlg= 10 | 11 | Info.plist 12 | 13 | KVRE+icWWattIxwSLkaeZU55jms= 14 | 15 | Modules/module.modulemap 16 | 17 | EuDEeG1dcC1sd+hIW2SkUAImUg8= 18 | 19 | Scripts/copy_and_codesign_revealserver.sh 20 | 21 | yB2zXTggmRD0rra2Hbpxn2zfCRo= 22 | 23 | 24 | files2 25 | 26 | Headers/RevealServer.h 27 | 28 | hash 29 | 30 | JavE2LI6bNGfH9W90/bDxwIxVlg= 31 | 32 | hash2 33 | 34 | weLK/65HyV1EiL9dd4xoAqQhf0/0r/Oy6os2nXCA+Ew= 35 | 36 | 37 | Modules/module.modulemap 38 | 39 | hash 40 | 41 | EuDEeG1dcC1sd+hIW2SkUAImUg8= 42 | 43 | hash2 44 | 45 | tstqiJpIPr4iEd3MDHClLuTB/ciSC/zNlke1AjfSVuU= 46 | 47 | 48 | Scripts/copy_and_codesign_revealserver.sh 49 | 50 | hash 51 | 52 | yB2zXTggmRD0rra2Hbpxn2zfCRo= 53 | 54 | hash2 55 | 56 | SL0x5cGSOyS1RcojHFEmFX5IDfon/vO37cFsjSIX7LA= 57 | 58 | 59 | 60 | rules 61 | 62 | ^.* 63 | 64 | ^.*\.lproj/ 65 | 66 | optional 67 | 68 | weight 69 | 1000 70 | 71 | ^.*\.lproj/locversion.plist$ 72 | 73 | omit 74 | 75 | weight 76 | 1100 77 | 78 | ^Base\.lproj/ 79 | 80 | weight 81 | 1010 82 | 83 | ^version.plist$ 84 | 85 | 86 | rules2 87 | 88 | .*\.dSYM($|/) 89 | 90 | weight 91 | 11 92 | 93 | ^(.*/)?\.DS_Store$ 94 | 95 | omit 96 | 97 | weight 98 | 2000 99 | 100 | ^.* 101 | 102 | ^.*\.lproj/ 103 | 104 | optional 105 | 106 | weight 107 | 1000 108 | 109 | ^.*\.lproj/locversion.plist$ 110 | 111 | omit 112 | 113 | weight 114 | 1100 115 | 116 | ^Base\.lproj/ 117 | 118 | weight 119 | 1010 120 | 121 | ^Info\.plist$ 122 | 123 | omit 124 | 125 | weight 126 | 20 127 | 128 | ^PkgInfo$ 129 | 130 | omit 131 | 132 | weight 133 | 20 134 | 135 | ^embedded\.provisionprofile$ 136 | 137 | weight 138 | 20 139 | 140 | ^version\.plist$ 141 | 142 | weight 143 | 20 144 | 145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /reveal2Loader/Package/Library/MobileSubstrate/DynamicLibraries/reveal2Loader.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eziochiu/Reveal2Loader-Fixed-on-iOS12/d85f97ce7f3f992b62f37761d349ccabd5296865/reveal2Loader/Package/Library/MobileSubstrate/DynamicLibraries/reveal2Loader.dylib -------------------------------------------------------------------------------- /reveal2Loader/Package/Library/MobileSubstrate/DynamicLibraries/reveal2Loader.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Filter 6 | 7 | Bundles 8 | 9 | com.apple.UIKit 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /reveal2Loader/Package/Library/PreferenceLoader/Preferences/Reveal2Loader.plist: -------------------------------------------------------------------------------- 1 | { 2 | entry = { 3 | cell = PSLinkCell; 4 | label = Reveal; 5 | icon = "reveal-logo.png"; 6 | items = ( 7 | { 8 | bundle = AppList; 9 | isController = 1; 10 | cell = PSLinkCell; 11 | label = "Enabled Applications"; 12 | ALSettingsPath = "/var/mobile/Library/Preferences/com.rheard.RHRevealLoader.plist"; 13 | ALSettingsKeyPrefix = "RHRevealEnabled-"; 14 | "ALSettingsDefaultValue" = ""; 15 | ALAllowsSelection = 1; 16 | ALSectionDescriptors = ( 17 | { 18 | items = (); 19 | "footer-title" = "Select which applications to load Reveal into."; 20 | }, 21 | { 22 | title = "User Applications"; 23 | predicate = "isSystemApplication = FALSE"; 24 | "icon-size" = 29; 25 | "suppress-hidden-apps" = 1; 26 | "cell-class-name" = ALSwitchCell; 27 | }, 28 | { 29 | title = "System Applications"; 30 | predicate = "isSystemApplication = TRUE AND NOT (displayIdentifier IN {'com.iptm.bigboss.sbsettings', 'com.booleanmagic.overboard', 'eu.heinelt.ifile'})"; 31 | "icon-size" = 29; 32 | "suppress-hidden-apps" = 1; 33 | "cell-class-name" = ALSwitchCell; 34 | }, 35 | ); 36 | }, 37 | { 38 | bundle = "ExtensionListSettings"; 39 | isController = 1; 40 | cell = PSLinkCell; 41 | label = "Avaliable Extensions"; 42 | ALSettingsPath = "/var/mobile/Library/Preferences/com.rheard.RHRevealLoader.plist"; 43 | ALSettingsKeyPrefix = "RHRevealEnabled-"; 44 | "ALSettingsDefaultValue" = ""; 45 | ALAllowsSelection = 1; 46 | ALSectionDescriptors = ( 47 | { 48 | items = (); 49 | "footer-title" = "Select which Plugins to load Reveal into."; 50 | }, 51 | { 52 | title = "Custom Keyboard"; 53 | predicate = "protocol contains 'keyboard-service'"; 54 | "icon-size" = 29; 55 | "cell-class-name" = ELSwitchCell; 56 | }, 57 | { 58 | title = "share Extensions"; 59 | predicate = "protocol contains 'share-services'"; 60 | "icon-size" = 29; 61 | "cell-class-name" = ELSwitchCell; 62 | }, 63 | { 64 | title = "AppleWatch App"; 65 | predicate = "protocol contains 'watchkit'"; 66 | "icon-size" = 29; 67 | "cell-class-name" = ELSwitchCell; 68 | }, 69 | { 70 | title = "Today Extensions"; 71 | predicate = "protocol contains 'widget-extension'"; 72 | "icon-size" = 29; 73 | "cell-class-name" = ELSwitchCell; 74 | }, 75 | { 76 | title = "Action Extensions"; 77 | predicate = "protocol contains 'ui-services'"; 78 | "icon-size" = 29; 79 | "cell-class-name" = ELSwitchCell; 80 | }, 81 | { 82 | title = "PhotoEditing Extensions"; 83 | predicate = "protocol contains 'photo-editing'"; 84 | "icon-size" = 29; 85 | "cell-class-name" = ELSwitchCell; 86 | }, 87 | ); 88 | }, 89 | { 90 | cell = PSGroupCell; 91 | footerText = "This tweak is not officially supported. For more information about Reveal.app and runtime debugging see http://revealapp.com"; 92 | }, 93 | { 94 | cell = PSGroupCell; 95 | footerText = "\nReveal2Loader is released under BSD license.\nCopyright (c) 2017 Du Yongchao. All rights reserved.\n"; 96 | }, 97 | { 98 | cell = PSGroupCell; 99 | footerText = "\nRHRevealLoader\n\nCopyright (c) 2014 Richard Heard. All rights reserved.\n \nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n2. 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.\n3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.\n\n"; 100 | }, 101 | ); 102 | }; 103 | } -------------------------------------------------------------------------------- /reveal2Loader/Package/Library/PreferenceLoader/Preferences/reveal-logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eziochiu/Reveal2Loader-Fixed-on-iOS12/d85f97ce7f3f992b62f37761d349ccabd5296865/reveal2Loader/Package/Library/PreferenceLoader/Preferences/reveal-logo@2x.png -------------------------------------------------------------------------------- /reveal2Loader/Package/Library/PreferenceLoader/Preferences/reveal-logo@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eziochiu/Reveal2Loader-Fixed-on-iOS12/d85f97ce7f3f992b62f37761d349ccabd5296865/reveal2Loader/Package/Library/PreferenceLoader/Preferences/reveal-logo@3x.png -------------------------------------------------------------------------------- /reveal2Loader/PackageVersion.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BugFix 6 | 7 | Major 8 | 1 9 | Minor 10 | 0 11 | PackageRevision 12 | 1 13 | Stage 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /reveal2Loader/reveal2Loader-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'reveal2Loader' target in the 'reveal2Loader' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /reveal2Loader/reveal2Loader.h: -------------------------------------------------------------------------------- 1 | // 2 | // reveal2Loader.h 3 | // reveal2Loader 4 | // 5 | // Created by Ezio Chiu on 2/25/19. 6 | // 7 | 8 | #import 9 | -------------------------------------------------------------------------------- /reveal2Loader/reveal2Loader.m: -------------------------------------------------------------------------------- 1 | // 2 | // reveal2Loader.m 3 | // reveal2Loader 4 | // 5 | // Created by Ezio Chiu on 2/25/19. 6 | // 7 | 8 | #import "reveal2Loader.h" 9 | #import 10 | #include 11 | 12 | CHConstructor // code block that runs immediately upon load 13 | { 14 | @autoreleasepool 15 | { 16 | NSDictionary *prefs = [[NSDictionary dictionaryWithContentsOfFile:@"/var/mobile/Library/Preferences/com.rheard.RHRevealLoader.plist"] retain]; 17 | NSString *libraryPath = @"/Library/Frameworks/RevealServer.framework/RevealServer"; 18 | 19 | if([[prefs objectForKey:[NSString stringWithFormat:@"RHRevealEnabled-%@", [[NSBundle mainBundle] bundleIdentifier]]] boolValue]) { 20 | if ([[NSFileManager defaultManager] fileExistsAtPath:libraryPath]){ 21 | void *addr = dlopen([libraryPath UTF8String], RTLD_NOW); 22 | if (addr) { 23 | [[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStart" object:nil]; 24 | NSLog(@"Reveal2Loader loaded %@ successed and address %p", libraryPath,addr); 25 | } else { 26 | NSLog(@"Reveal2Loader loaded %@ failed and address %p", libraryPath,addr); 27 | } 28 | } 29 | } 30 | } 31 | } 32 | --------------------------------------------------------------------------------