├── .gitignore ├── reveal2Loader.xcodeproj ├── project.pbxproj └── project.xcworkspace │ └── contents.xcworkspacedata └── reveal2Loader ├── Package ├── DEBIAN │ └── control └── 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.xm /.gitignore: -------------------------------------------------------------------------------- 1 | *.mm 2 | xcuserdata 3 | *.xcuserdatad 4 | xcshareddata 5 | LatestBuild 6 | Packages -------------------------------------------------------------------------------- /reveal2Loader.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 43599CBE1E7B8EAA009779ED /* CydiaSubstrate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43599CBD1E7B8EAA009779ED /* CydiaSubstrate.framework */; }; 11 | 436FE7BC1D93CF0B0024AC55 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 436FE7BB1D93CF0B0024AC55 /* Foundation.framework */; }; 12 | 436FE7C71D93CF0B0024AC55 /* reveal2Loader.mm in Sources */ = {isa = PBXBuildFile; fileRef = 436FE7C61D93CF0B0024AC55 /* reveal2Loader.mm */; }; 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 | 43599CBD1E7B8EAA009779ED /* CydiaSubstrate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CydiaSubstrate.framework; path = ../../../../opt/iOSOpenDev/frameworks/CydiaSubstrate.framework; sourceTree = ""; }; 20 | 43599CBF1E7B8EC7009779ED /* RevealServer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = RevealServer.framework; sourceTree = ""; }; 21 | 436FE7B81D93CF0B0024AC55 /* reveal2Loader.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = reveal2Loader.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; 22 | 436FE7BB1D93CF0B0024AC55 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 23 | 436FE7C11D93CF0B0024AC55 /* control */ = {isa = PBXFileReference; lastKnownFileType = text; name = control; path = Package/DEBIAN/control; sourceTree = ""; }; 24 | 436FE7C31D93CF0B0024AC55 /* PackageVersion.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = PackageVersion.plist; sourceTree = ""; }; 25 | 436FE7C41D93CF0B0024AC55 /* reveal2Loader-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "reveal2Loader-Prefix.pch"; sourceTree = ""; }; 26 | 436FE7C51D93CF0B0024AC55 /* reveal2Loader.xm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = reveal2Loader.xm; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; 27 | 436FE7C61D93CF0B0024AC55 /* reveal2Loader.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = reveal2Loader.mm; sourceTree = ""; }; 28 | 436FE7CB1D93CF0B0024AC55 /* reveal2Loader.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = reveal2Loader.plist; path = Package/Library/MobileSubstrate/DynamicLibraries/reveal2Loader.plist; sourceTree = ""; }; 29 | /* End PBXFileReference section */ 30 | 31 | /* Begin PBXFrameworksBuildPhase section */ 32 | 436FE7B41D93CF0B0024AC55 /* Frameworks */ = { 33 | isa = PBXFrameworksBuildPhase; 34 | buildActionMask = 2147483647; 35 | files = ( 36 | 436FE7BC1D93CF0B0024AC55 /* Foundation.framework in Frameworks */, 37 | 43599CBE1E7B8EAA009779ED /* CydiaSubstrate.framework in Frameworks */, 38 | ); 39 | runOnlyForDeploymentPostprocessing = 0; 40 | }; 41 | /* End PBXFrameworksBuildPhase section */ 42 | 43 | /* Begin PBXGroup section */ 44 | 43599CB51E7B8D52009779ED /* PreferenceLoader */ = { 45 | isa = PBXGroup; 46 | children = ( 47 | 43599CB61E7B8D52009779ED /* Preferences */, 48 | ); 49 | name = PreferenceLoader; 50 | path = Package/Library/PreferenceLoader; 51 | sourceTree = ""; 52 | }; 53 | 43599CB61E7B8D52009779ED /* Preferences */ = { 54 | isa = PBXGroup; 55 | children = ( 56 | 43599CB71E7B8D52009779ED /* reveal-logo@2x.png */, 57 | 43599CB81E7B8D52009779ED /* reveal-logo@3x.png */, 58 | 43599CB91E7B8D52009779ED /* Reveal2Loader.plist */, 59 | ); 60 | path = Preferences; 61 | sourceTree = ""; 62 | }; 63 | 43599CBA1E7B8D71009779ED /* Frameworks */ = { 64 | isa = PBXGroup; 65 | children = ( 66 | 43599CBF1E7B8EC7009779ED /* RevealServer.framework */, 67 | ); 68 | name = Frameworks; 69 | path = Package/Library/Frameworks; 70 | sourceTree = ""; 71 | }; 72 | 436FE7AD1D93CF0B0024AC55 = { 73 | isa = PBXGroup; 74 | children = ( 75 | 436FE7BD1D93CF0B0024AC55 /* reveal2Loader */, 76 | 436FE7BA1D93CF0B0024AC55 /* Frameworks */, 77 | 436FE7B91D93CF0B0024AC55 /* Products */, 78 | ); 79 | sourceTree = ""; 80 | }; 81 | 436FE7B91D93CF0B0024AC55 /* Products */ = { 82 | isa = PBXGroup; 83 | children = ( 84 | 436FE7B81D93CF0B0024AC55 /* reveal2Loader.dylib */, 85 | ); 86 | name = Products; 87 | sourceTree = ""; 88 | }; 89 | 436FE7BA1D93CF0B0024AC55 /* Frameworks */ = { 90 | isa = PBXGroup; 91 | children = ( 92 | 43599CBD1E7B8EAA009779ED /* CydiaSubstrate.framework */, 93 | 436FE7BB1D93CF0B0024AC55 /* Foundation.framework */, 94 | ); 95 | name = Frameworks; 96 | sourceTree = ""; 97 | }; 98 | 436FE7BD1D93CF0B0024AC55 /* reveal2Loader */ = { 99 | isa = PBXGroup; 100 | children = ( 101 | 436FE7C51D93CF0B0024AC55 /* reveal2Loader.xm */, 102 | 436FE7C61D93CF0B0024AC55 /* reveal2Loader.mm */, 103 | 436FE7BE1D93CF0B0024AC55 /* Package */, 104 | 436FE7C21D93CF0B0024AC55 /* Supporting Files */, 105 | ); 106 | path = reveal2Loader; 107 | sourceTree = ""; 108 | }; 109 | 436FE7BE1D93CF0B0024AC55 /* Package */ = { 110 | isa = PBXGroup; 111 | children = ( 112 | 436FE7BF1D93CF0B0024AC55 /* DEBIAN */, 113 | 436FE7C81D93CF0B0024AC55 /* Library */, 114 | ); 115 | name = Package; 116 | sourceTree = ""; 117 | }; 118 | 436FE7BF1D93CF0B0024AC55 /* DEBIAN */ = { 119 | isa = PBXGroup; 120 | children = ( 121 | 436FE7C11D93CF0B0024AC55 /* control */, 122 | ); 123 | name = DEBIAN; 124 | sourceTree = ""; 125 | }; 126 | 436FE7C21D93CF0B0024AC55 /* Supporting Files */ = { 127 | isa = PBXGroup; 128 | children = ( 129 | 436FE7C31D93CF0B0024AC55 /* PackageVersion.plist */, 130 | 436FE7C41D93CF0B0024AC55 /* reveal2Loader-Prefix.pch */, 131 | ); 132 | name = "Supporting Files"; 133 | sourceTree = ""; 134 | }; 135 | 436FE7C81D93CF0B0024AC55 /* Library */ = { 136 | isa = PBXGroup; 137 | children = ( 138 | 43599CBA1E7B8D71009779ED /* Frameworks */, 139 | 43599CB51E7B8D52009779ED /* PreferenceLoader */, 140 | 436FE7C91D93CF0B0024AC55 /* MobileSubstrate */, 141 | ); 142 | name = Library; 143 | sourceTree = ""; 144 | }; 145 | 436FE7C91D93CF0B0024AC55 /* MobileSubstrate */ = { 146 | isa = PBXGroup; 147 | children = ( 148 | 436FE7CA1D93CF0B0024AC55 /* DynamicLibraries */, 149 | ); 150 | name = MobileSubstrate; 151 | sourceTree = ""; 152 | }; 153 | 436FE7CA1D93CF0B0024AC55 /* DynamicLibraries */ = { 154 | isa = PBXGroup; 155 | children = ( 156 | 436FE7CB1D93CF0B0024AC55 /* reveal2Loader.plist */, 157 | ); 158 | name = DynamicLibraries; 159 | sourceTree = ""; 160 | }; 161 | /* End PBXGroup section */ 162 | 163 | /* Begin PBXHeadersBuildPhase section */ 164 | 436FE7B51D93CF0B0024AC55 /* Headers */ = { 165 | isa = PBXHeadersBuildPhase; 166 | buildActionMask = 2147483647; 167 | files = ( 168 | ); 169 | runOnlyForDeploymentPostprocessing = 0; 170 | }; 171 | /* End PBXHeadersBuildPhase section */ 172 | 173 | /* Begin PBXNativeTarget section */ 174 | 436FE7B71D93CF0B0024AC55 /* reveal2Loader */ = { 175 | isa = PBXNativeTarget; 176 | buildConfigurationList = 436FE7CE1D93CF0B0024AC55 /* Build configuration list for PBXNativeTarget "reveal2Loader" */; 177 | buildPhases = ( 178 | 436FE7B21D93CF0B0024AC55 /* ShellScript */, 179 | 436FE7B31D93CF0B0024AC55 /* Sources */, 180 | 436FE7B41D93CF0B0024AC55 /* Frameworks */, 181 | 436FE7B51D93CF0B0024AC55 /* Headers */, 182 | 436FE7B61D93CF0B0024AC55 /* ShellScript */, 183 | ); 184 | buildRules = ( 185 | ); 186 | dependencies = ( 187 | ); 188 | name = reveal2Loader; 189 | productName = reveal2Loader; 190 | productReference = 436FE7B81D93CF0B0024AC55 /* reveal2Loader.dylib */; 191 | productType = "com.apple.product-type.library.dynamic"; 192 | }; 193 | /* End PBXNativeTarget section */ 194 | 195 | /* Begin PBXProject section */ 196 | 436FE7AE1D93CF0B0024AC55 /* Project object */ = { 197 | isa = PBXProject; 198 | attributes = { 199 | LastUpgradeCheck = 0800; 200 | TargetAttributes = { 201 | 436FE7B71D93CF0B0024AC55 = { 202 | CreatedOnToolsVersion = 8.0; 203 | ProvisioningStyle = Automatic; 204 | }; 205 | }; 206 | }; 207 | buildConfigurationList = 436FE7B11D93CF0B0024AC55 /* Build configuration list for PBXProject "reveal2Loader" */; 208 | compatibilityVersion = "Xcode 3.2"; 209 | developmentRegion = English; 210 | hasScannedForEncodings = 0; 211 | knownRegions = ( 212 | en, 213 | ); 214 | mainGroup = 436FE7AD1D93CF0B0024AC55; 215 | productRefGroup = 436FE7B91D93CF0B0024AC55 /* Products */; 216 | projectDirPath = ""; 217 | projectRoot = ""; 218 | targets = ( 219 | 436FE7B71D93CF0B0024AC55 /* reveal2Loader */, 220 | ); 221 | }; 222 | /* End PBXProject section */ 223 | 224 | /* Begin PBXShellScriptBuildPhase section */ 225 | 436FE7B21D93CF0B0024AC55 /* ShellScript */ = { 226 | isa = PBXShellScriptBuildPhase; 227 | buildActionMask = 2147483647; 228 | files = ( 229 | ); 230 | inputPaths = ( 231 | ); 232 | outputPaths = ( 233 | ); 234 | runOnlyForDeploymentPostprocessing = 0; 235 | shellPath = /bin/sh; 236 | shellScript = "/opt/iOSOpenDev/bin/iosod --xcbp-logos"; 237 | }; 238 | 436FE7B61D93CF0B0024AC55 /* ShellScript */ = { 239 | isa = PBXShellScriptBuildPhase; 240 | buildActionMask = 2147483647; 241 | files = ( 242 | ); 243 | inputPaths = ( 244 | ); 245 | outputPaths = ( 246 | ); 247 | runOnlyForDeploymentPostprocessing = 0; 248 | shellPath = /bin/sh; 249 | shellScript = "/opt/iOSOpenDev/bin/iosod --xcbp"; 250 | }; 251 | /* End PBXShellScriptBuildPhase section */ 252 | 253 | /* Begin PBXSourcesBuildPhase section */ 254 | 436FE7B31D93CF0B0024AC55 /* Sources */ = { 255 | isa = PBXSourcesBuildPhase; 256 | buildActionMask = 2147483647; 257 | files = ( 258 | 436FE7C71D93CF0B0024AC55 /* reveal2Loader.mm in Sources */, 259 | ); 260 | runOnlyForDeploymentPostprocessing = 0; 261 | }; 262 | /* End PBXSourcesBuildPhase section */ 263 | 264 | /* Begin XCBuildConfiguration section */ 265 | 436FE7CC1D93CF0B0024AC55 /* Debug */ = { 266 | isa = XCBuildConfiguration; 267 | buildSettings = { 268 | COPY_PHASE_STRIP = NO; 269 | EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "*.nib *.lproj *.gch (*) .DS_Store CVS .svn .git .hg *.xcodeproj *.xcode *.pbproj *.pbxproj"; 270 | FRAMEWORK_SEARCH_PATHS = ( 271 | "$(iOSOpenDevPath)/frameworks/**", 272 | "$(SDKROOT)/System/Library/PrivateFrameworks", 273 | ); 274 | GCC_C_LANGUAGE_STANDARD = gnu99; 275 | GCC_DYNAMIC_NO_PIC = NO; 276 | GCC_OPTIMIZATION_LEVEL = 0; 277 | GCC_PREPROCESSOR_DEFINITIONS = ( 278 | "DEBUG=1", 279 | "$(inherited)", 280 | ); 281 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 282 | GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; 283 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 284 | GCC_WARN_UNUSED_VARIABLE = YES; 285 | HEADER_SEARCH_PATHS = "$(iOSOpenDevPath)/include/**"; 286 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 287 | LIBRARY_SEARCH_PATHS = "$(iOSOpenDevPath)/lib/**"; 288 | SDKROOT = iphoneos; 289 | TARGETED_DEVICE_FAMILY = "1,2"; 290 | VALIDATE_PRODUCT = NO; 291 | iOSOpenDevPath = /opt/iOSOpenDev; 292 | }; 293 | name = Debug; 294 | }; 295 | 436FE7CD1D93CF0B0024AC55 /* Release */ = { 296 | isa = XCBuildConfiguration; 297 | buildSettings = { 298 | COPY_PHASE_STRIP = YES; 299 | EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "*.nib *.lproj *.gch (*) .DS_Store CVS .svn .git .hg *.xcodeproj *.xcode *.pbproj *.pbxproj"; 300 | FRAMEWORK_SEARCH_PATHS = ( 301 | "$(iOSOpenDevPath)/frameworks/**", 302 | "$(SDKROOT)/System/Library/PrivateFrameworks", 303 | ); 304 | GCC_C_LANGUAGE_STANDARD = gnu99; 305 | GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; 306 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 307 | GCC_WARN_UNUSED_VARIABLE = YES; 308 | HEADER_SEARCH_PATHS = "$(iOSOpenDevPath)/include/**"; 309 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 310 | LIBRARY_SEARCH_PATHS = "$(iOSOpenDevPath)/lib/**"; 311 | SDKROOT = iphoneos; 312 | TARGETED_DEVICE_FAMILY = "1,2"; 313 | VALIDATE_PRODUCT = YES; 314 | iOSOpenDevPath = /opt/iOSOpenDev; 315 | }; 316 | name = Release; 317 | }; 318 | 436FE7CF1D93CF0B0024AC55 /* Debug */ = { 319 | isa = XCBuildConfiguration; 320 | buildSettings = { 321 | CODE_SIGN_IDENTITY = ""; 322 | DYLIB_COMPATIBILITY_VERSION = 1; 323 | DYLIB_CURRENT_VERSION = 1; 324 | FRAMEWORK_SEARCH_PATHS = ( 325 | "$(inherited)", 326 | "$(PROJECT_DIR)", 327 | /opt/iOSOpenDev/frameworks, 328 | ); 329 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 330 | GCC_PREFIX_HEADER = "reveal2Loader/reveal2Loader-Prefix.pch"; 331 | INSTALL_PATH = /Library/MobileSubstrate/DynamicLibraries; 332 | PRODUCT_NAME = "$(TARGET_NAME)"; 333 | iOSOpenDevBuildPackageOnAnyBuild = NO; 334 | iOSOpenDevCopyOnBuild = NO; 335 | iOSOpenDevDevice = ""; 336 | iOSOpenDevInstallOnAnyBuild = NO; 337 | iOSOpenDevInstallOnProfiling = NO; 338 | iOSOpenDevRespringOnInstall = YES; 339 | iOSOpenDevUsePackageVersionPList = YES; 340 | }; 341 | name = Debug; 342 | }; 343 | 436FE7D01D93CF0B0024AC55 /* Release */ = { 344 | isa = XCBuildConfiguration; 345 | buildSettings = { 346 | CODE_SIGN_IDENTITY = ""; 347 | DYLIB_COMPATIBILITY_VERSION = 1; 348 | DYLIB_CURRENT_VERSION = 1; 349 | FRAMEWORK_SEARCH_PATHS = ( 350 | "$(inherited)", 351 | "$(PROJECT_DIR)", 352 | /opt/iOSOpenDev/frameworks, 353 | ); 354 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 355 | GCC_PREFIX_HEADER = "reveal2Loader/reveal2Loader-Prefix.pch"; 356 | INSTALL_PATH = /Library/MobileSubstrate/DynamicLibraries; 357 | PRODUCT_NAME = "$(TARGET_NAME)"; 358 | iOSOpenDevBuildPackageOnAnyBuild = NO; 359 | iOSOpenDevCopyOnBuild = NO; 360 | iOSOpenDevDevice = ""; 361 | iOSOpenDevInstallOnAnyBuild = NO; 362 | iOSOpenDevInstallOnProfiling = NO; 363 | iOSOpenDevRespringOnInstall = YES; 364 | iOSOpenDevUsePackageVersionPList = YES; 365 | }; 366 | name = Release; 367 | }; 368 | /* End XCBuildConfiguration section */ 369 | 370 | /* Begin XCConfigurationList section */ 371 | 436FE7B11D93CF0B0024AC55 /* Build configuration list for PBXProject "reveal2Loader" */ = { 372 | isa = XCConfigurationList; 373 | buildConfigurations = ( 374 | 436FE7CC1D93CF0B0024AC55 /* Debug */, 375 | 436FE7CD1D93CF0B0024AC55 /* Release */, 376 | ); 377 | defaultConfigurationIsVisible = 0; 378 | defaultConfigurationName = Release; 379 | }; 380 | 436FE7CE1D93CF0B0024AC55 /* Build configuration list for PBXNativeTarget "reveal2Loader" */ = { 381 | isa = XCConfigurationList; 382 | buildConfigurations = ( 383 | 436FE7CF1D93CF0B0024AC55 /* Debug */, 384 | 436FE7D01D93CF0B0024AC55 /* Release */, 385 | ); 386 | defaultConfigurationIsVisible = 0; 387 | defaultConfigurationName = Release; 388 | }; 389 | /* End XCConfigurationList section */ 390 | }; 391 | rootObject = 436FE7AE1D93CF0B0024AC55 /* Project object */; 392 | } 393 | -------------------------------------------------------------------------------- /reveal2Loader.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /reveal2Loader/Package/DEBIAN/control: -------------------------------------------------------------------------------- 1 | Package: reveal2loader 2 | Name: Reveal2Loader 3 | Version: 1.0-1 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: duyongchao 12 | dev: zidaneno5 13 | Homepage: 14 | Depiction: 15 | Maintainer: duyongchao 16 | Icon: 17 | 18 | -------------------------------------------------------------------------------- /reveal2Loader/Package/Library/Frameworks/RevealServer.framework/Headers/RevealServer.h: -------------------------------------------------------------------------------- 1 | // 2 | // RevealServer.h 3 | // RevealServer 4 | // 5 | // Created by Tony Arnold on 25/11/2015. 6 | // Copyright © 2015 Itty Bitty Apps, Pty Ltd. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for RevealServer. 12 | FOUNDATION_EXPORT double RevealServerVersionNumber; 13 | 14 | //! Project version string for RevealServer. 15 | FOUNDATION_EXPORT const unsigned char RevealServerVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /reveal2Loader/Package/Library/Frameworks/RevealServer.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidaneno5/Reveal2Loader/36cc71d289d753f8ac6eea020ead1c0ba36e1c67/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/zidaneno5/Reveal2Loader/36cc71d289d753f8ac6eea020ead1c0ba36e1c67/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}/${REVEAL_SERVER_FILENAME}" 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 | e2S6Vuf8iJXurblvYWL8e3IMO7E= 10 | 11 | Info.plist 12 | 13 | 3yuCXIz4oBBkDOLogLf3z8EtWn0= 14 | 15 | Modules/module.modulemap 16 | 17 | EuDEeG1dcC1sd+hIW2SkUAImUg8= 18 | 19 | Scripts/copy_and_codesign_revealserver.sh 20 | 21 | aQbLdf9lVnmDd2BfBMGsVPBPdb8= 22 | 23 | 24 | files2 25 | 26 | Headers/RevealServer.h 27 | 28 | hash 29 | 30 | e2S6Vuf8iJXurblvYWL8e3IMO7E= 31 | 32 | hash2 33 | 34 | i4zuiS2fsgwsoicYEzHuBx32JYfKW38gkopt/7FdINY= 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 | aQbLdf9lVnmDd2BfBMGsVPBPdb8= 53 | 54 | hash2 55 | 56 | UYSfYiTYxoDhVX7UwCYvPXGOWQ4Yrm5DzFoomMlSIMs= 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 | ^version.plist$ 79 | 80 | 81 | rules2 82 | 83 | .*\.dSYM($|/) 84 | 85 | weight 86 | 11 87 | 88 | ^ 89 | 90 | weight 91 | 20 92 | 93 | ^(.*/)?\.DS_Store$ 94 | 95 | omit 96 | 97 | weight 98 | 2000 99 | 100 | ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ 101 | 102 | nested 103 | 104 | weight 105 | 10 106 | 107 | ^.* 108 | 109 | ^.*\.lproj/ 110 | 111 | optional 112 | 113 | weight 114 | 1000 115 | 116 | ^.*\.lproj/locversion.plist$ 117 | 118 | omit 119 | 120 | weight 121 | 1100 122 | 123 | ^Info\.plist$ 124 | 125 | omit 126 | 127 | weight 128 | 20 129 | 130 | ^PkgInfo$ 131 | 132 | omit 133 | 134 | weight 135 | 20 136 | 137 | ^[^/]+$ 138 | 139 | nested 140 | 141 | weight 142 | 10 143 | 144 | ^embedded\.provisionprofile$ 145 | 146 | weight 147 | 20 148 | 149 | ^version\.plist$ 150 | 151 | weight 152 | 20 153 | 154 | 155 | 156 | 157 | -------------------------------------------------------------------------------- /reveal2Loader/Package/Library/MobileSubstrate/DynamicLibraries/reveal2Loader.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidaneno5/Reveal2Loader/36cc71d289d753f8ac6eea020ead1c0ba36e1c67/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/zidaneno5/Reveal2Loader/36cc71d289d753f8ac6eea020ead1c0ba36e1c67/reveal2Loader/Package/Library/PreferenceLoader/Preferences/reveal-logo@2x.png -------------------------------------------------------------------------------- /reveal2Loader/Package/Library/PreferenceLoader/Preferences/reveal-logo@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidaneno5/Reveal2Loader/36cc71d289d753f8ac6eea020ead1c0ba36e1c67/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.xm: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | %ctor { 4 | NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 5 | NSDictionary *prefs = [[NSDictionary dictionaryWithContentsOfFile:@"/var/mobile/Library/Preferences/com.rheard.RHRevealLoader.plist"] retain]; 6 | NSString *libraryPath = @"/Library/Frameworks/RevealServer.framework/RevealServer"; 7 | 8 | if([[prefs objectForKey:[NSString stringWithFormat:@"RHRevealEnabled-%@", [[NSBundle mainBundle] bundleIdentifier]]] boolValue]) { 9 | if ([[NSFileManager defaultManager] fileExistsAtPath:libraryPath]){ 10 | dlopen([libraryPath UTF8String], RTLD_NOW); 11 | [[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStart" object:nil]; 12 | NSLog(@"Reveal2Loader loaded %@", libraryPath); 13 | } 14 | } 15 | 16 | [pool drain]; 17 | } 18 | 19 | --------------------------------------------------------------------------------