├── GSKConfuse.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── xcuserdata │ │ └── gick.xcuserdatad │ │ └── UserInterfaceState.xcuserstate └── xcuserdata │ ├── gick.xcuserdatad │ └── xcschemes │ │ └── xcschememanagement.plist │ └── housenkui.xcuserdatad │ └── xcschemes │ ├── HSKConfuse.xcscheme │ └── xcschememanagement.plist ├── GSKConfuse ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── Resource │ ├── PrefixHeader.pch │ ├── codeObfuscation.h │ ├── confuse.sh │ ├── func.list │ └── words.list ├── ViewController.h ├── ViewController.m └── main.m ├── README.md ├── screenshots ├── tu1.jpg ├── tu2.jpg └── tu3.jpg └── symbols /GSKConfuse.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 0AFBD0A322C5FFD900C5F54C /* words.list in Resources */ = {isa = PBXBuildFile; fileRef = 0AFBD0A222C5FFD900C5F54C /* words.list */; }; 11 | EFE114941E73C4AE005683BA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = EFE114931E73C4AE005683BA /* main.m */; }; 12 | EFE114971E73C4AE005683BA /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = EFE114961E73C4AE005683BA /* AppDelegate.m */; }; 13 | EFE1149A1E73C4AE005683BA /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = EFE114991E73C4AE005683BA /* ViewController.m */; }; 14 | EFE1149D1E73C4AE005683BA /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EFE1149B1E73C4AE005683BA /* Main.storyboard */; }; 15 | EFE1149F1E73C4AE005683BA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EFE1149E1E73C4AE005683BA /* Assets.xcassets */; }; 16 | EFE114A21E73C4AE005683BA /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EFE114A01E73C4AE005683BA /* LaunchScreen.storyboard */; }; 17 | EFE114AE1E73C532005683BA /* confuse.sh in Resources */ = {isa = PBXBuildFile; fileRef = EFE114AC1E73C532005683BA /* confuse.sh */; }; 18 | EFE114AF1E73C532005683BA /* func.list in Resources */ = {isa = PBXBuildFile; fileRef = EFE114AD1E73C532005683BA /* func.list */; }; 19 | /* End PBXBuildFile section */ 20 | 21 | /* Begin PBXFileReference section */ 22 | 0AFBD0A222C5FFD900C5F54C /* words.list */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = words.list; sourceTree = ""; }; 23 | EFE1148F1E73C4AE005683BA /* GSKConfuse.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = GSKConfuse.app; sourceTree = BUILT_PRODUCTS_DIR; }; 24 | EFE114931E73C4AE005683BA /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 25 | EFE114951E73C4AE005683BA /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 26 | EFE114961E73C4AE005683BA /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 27 | EFE114981E73C4AE005683BA /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; 28 | EFE114991E73C4AE005683BA /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; 29 | EFE1149C1E73C4AE005683BA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 30 | EFE1149E1E73C4AE005683BA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 31 | EFE114A11E73C4AE005683BA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 32 | EFE114A31E73C4AE005683BA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 33 | EFE114AB1E73C532005683BA /* codeObfuscation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = codeObfuscation.h; sourceTree = ""; }; 34 | EFE114AC1E73C532005683BA /* confuse.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = confuse.sh; sourceTree = ""; }; 35 | EFE114AD1E73C532005683BA /* func.list */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = func.list; sourceTree = ""; }; 36 | EFE114B01E73C54F005683BA /* PrefixHeader.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PrefixHeader.pch; sourceTree = ""; }; 37 | /* End PBXFileReference section */ 38 | 39 | /* Begin PBXFrameworksBuildPhase section */ 40 | EFE1148C1E73C4AE005683BA /* Frameworks */ = { 41 | isa = PBXFrameworksBuildPhase; 42 | buildActionMask = 2147483647; 43 | files = ( 44 | ); 45 | runOnlyForDeploymentPostprocessing = 0; 46 | }; 47 | /* End PBXFrameworksBuildPhase section */ 48 | 49 | /* Begin PBXGroup section */ 50 | EFE114861E73C4AE005683BA = { 51 | isa = PBXGroup; 52 | children = ( 53 | EFE114911E73C4AE005683BA /* GSKConfuse */, 54 | EFE114901E73C4AE005683BA /* Products */, 55 | ); 56 | sourceTree = ""; 57 | }; 58 | EFE114901E73C4AE005683BA /* Products */ = { 59 | isa = PBXGroup; 60 | children = ( 61 | EFE1148F1E73C4AE005683BA /* GSKConfuse.app */, 62 | ); 63 | name = Products; 64 | sourceTree = ""; 65 | }; 66 | EFE114911E73C4AE005683BA /* GSKConfuse */ = { 67 | isa = PBXGroup; 68 | children = ( 69 | EFE114951E73C4AE005683BA /* AppDelegate.h */, 70 | EFE114961E73C4AE005683BA /* AppDelegate.m */, 71 | EFE114981E73C4AE005683BA /* ViewController.h */, 72 | EFE114991E73C4AE005683BA /* ViewController.m */, 73 | EFE1149B1E73C4AE005683BA /* Main.storyboard */, 74 | EFE1149E1E73C4AE005683BA /* Assets.xcassets */, 75 | EFE114A01E73C4AE005683BA /* LaunchScreen.storyboard */, 76 | EFE114A31E73C4AE005683BA /* Info.plist */, 77 | EFE114A91E73C4EB005683BA /* Resource */, 78 | EFE114921E73C4AE005683BA /* Supporting Files */, 79 | ); 80 | path = GSKConfuse; 81 | sourceTree = ""; 82 | }; 83 | EFE114921E73C4AE005683BA /* Supporting Files */ = { 84 | isa = PBXGroup; 85 | children = ( 86 | EFE114931E73C4AE005683BA /* main.m */, 87 | ); 88 | name = "Supporting Files"; 89 | sourceTree = ""; 90 | }; 91 | EFE114A91E73C4EB005683BA /* Resource */ = { 92 | isa = PBXGroup; 93 | children = ( 94 | EFE114AB1E73C532005683BA /* codeObfuscation.h */, 95 | EFE114AC1E73C532005683BA /* confuse.sh */, 96 | 0AFBD0A222C5FFD900C5F54C /* words.list */, 97 | EFE114AD1E73C532005683BA /* func.list */, 98 | EFE114B01E73C54F005683BA /* PrefixHeader.pch */, 99 | ); 100 | path = Resource; 101 | sourceTree = ""; 102 | }; 103 | /* End PBXGroup section */ 104 | 105 | /* Begin PBXNativeTarget section */ 106 | EFE1148E1E73C4AE005683BA /* GSKConfuse */ = { 107 | isa = PBXNativeTarget; 108 | buildConfigurationList = EFE114A61E73C4AE005683BA /* Build configuration list for PBXNativeTarget "GSKConfuse" */; 109 | buildPhases = ( 110 | EFE1148B1E73C4AE005683BA /* Sources */, 111 | EFE1148C1E73C4AE005683BA /* Frameworks */, 112 | EFE1148D1E73C4AE005683BA /* Resources */, 113 | EFE114AA1E73C519005683BA /* ShellScript */, 114 | ); 115 | buildRules = ( 116 | ); 117 | dependencies = ( 118 | ); 119 | name = GSKConfuse; 120 | productName = HSKConfuse; 121 | productReference = EFE1148F1E73C4AE005683BA /* GSKConfuse.app */; 122 | productType = "com.apple.product-type.application"; 123 | }; 124 | /* End PBXNativeTarget section */ 125 | 126 | /* Begin PBXProject section */ 127 | EFE114871E73C4AE005683BA /* Project object */ = { 128 | isa = PBXProject; 129 | attributes = { 130 | LastUpgradeCheck = 0820; 131 | ORGANIZATIONNAME = "侯森魁"; 132 | TargetAttributes = { 133 | EFE1148E1E73C4AE005683BA = { 134 | CreatedOnToolsVersion = 8.2; 135 | ProvisioningStyle = Automatic; 136 | }; 137 | }; 138 | }; 139 | buildConfigurationList = EFE1148A1E73C4AE005683BA /* Build configuration list for PBXProject "GSKConfuse" */; 140 | compatibilityVersion = "Xcode 3.2"; 141 | developmentRegion = English; 142 | hasScannedForEncodings = 0; 143 | knownRegions = ( 144 | English, 145 | en, 146 | Base, 147 | ); 148 | mainGroup = EFE114861E73C4AE005683BA; 149 | productRefGroup = EFE114901E73C4AE005683BA /* Products */; 150 | projectDirPath = ""; 151 | projectRoot = ""; 152 | targets = ( 153 | EFE1148E1E73C4AE005683BA /* GSKConfuse */, 154 | ); 155 | }; 156 | /* End PBXProject section */ 157 | 158 | /* Begin PBXResourcesBuildPhase section */ 159 | EFE1148D1E73C4AE005683BA /* Resources */ = { 160 | isa = PBXResourcesBuildPhase; 161 | buildActionMask = 2147483647; 162 | files = ( 163 | EFE114A21E73C4AE005683BA /* LaunchScreen.storyboard in Resources */, 164 | 0AFBD0A322C5FFD900C5F54C /* words.list in Resources */, 165 | EFE114AF1E73C532005683BA /* func.list in Resources */, 166 | EFE1149F1E73C4AE005683BA /* Assets.xcassets in Resources */, 167 | EFE114AE1E73C532005683BA /* confuse.sh in Resources */, 168 | EFE1149D1E73C4AE005683BA /* Main.storyboard in Resources */, 169 | ); 170 | runOnlyForDeploymentPostprocessing = 0; 171 | }; 172 | /* End PBXResourcesBuildPhase section */ 173 | 174 | /* Begin PBXShellScriptBuildPhase section */ 175 | EFE114AA1E73C519005683BA /* ShellScript */ = { 176 | isa = PBXShellScriptBuildPhase; 177 | buildActionMask = 2147483647; 178 | files = ( 179 | ); 180 | inputPaths = ( 181 | ); 182 | outputPaths = ( 183 | ); 184 | runOnlyForDeploymentPostprocessing = 0; 185 | shellPath = /bin/sh; 186 | shellScript = "$PROJECT_DIR/GSKConfuse/Resource/confuse.sh\n"; 187 | }; 188 | /* End PBXShellScriptBuildPhase section */ 189 | 190 | /* Begin PBXSourcesBuildPhase section */ 191 | EFE1148B1E73C4AE005683BA /* Sources */ = { 192 | isa = PBXSourcesBuildPhase; 193 | buildActionMask = 2147483647; 194 | files = ( 195 | EFE1149A1E73C4AE005683BA /* ViewController.m in Sources */, 196 | EFE114971E73C4AE005683BA /* AppDelegate.m in Sources */, 197 | EFE114941E73C4AE005683BA /* main.m in Sources */, 198 | ); 199 | runOnlyForDeploymentPostprocessing = 0; 200 | }; 201 | /* End PBXSourcesBuildPhase section */ 202 | 203 | /* Begin PBXVariantGroup section */ 204 | EFE1149B1E73C4AE005683BA /* Main.storyboard */ = { 205 | isa = PBXVariantGroup; 206 | children = ( 207 | EFE1149C1E73C4AE005683BA /* Base */, 208 | ); 209 | name = Main.storyboard; 210 | sourceTree = ""; 211 | }; 212 | EFE114A01E73C4AE005683BA /* LaunchScreen.storyboard */ = { 213 | isa = PBXVariantGroup; 214 | children = ( 215 | EFE114A11E73C4AE005683BA /* Base */, 216 | ); 217 | name = LaunchScreen.storyboard; 218 | sourceTree = ""; 219 | }; 220 | /* End PBXVariantGroup section */ 221 | 222 | /* Begin XCBuildConfiguration section */ 223 | EFE114A41E73C4AE005683BA /* Debug */ = { 224 | isa = XCBuildConfiguration; 225 | buildSettings = { 226 | ALWAYS_SEARCH_USER_PATHS = NO; 227 | CLANG_ANALYZER_NONNULL = YES; 228 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 229 | CLANG_CXX_LIBRARY = "libc++"; 230 | CLANG_ENABLE_MODULES = YES; 231 | CLANG_ENABLE_OBJC_ARC = YES; 232 | CLANG_WARN_BOOL_CONVERSION = YES; 233 | CLANG_WARN_CONSTANT_CONVERSION = YES; 234 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 235 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 236 | CLANG_WARN_EMPTY_BODY = YES; 237 | CLANG_WARN_ENUM_CONVERSION = YES; 238 | CLANG_WARN_INFINITE_RECURSION = YES; 239 | CLANG_WARN_INT_CONVERSION = YES; 240 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 241 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 242 | CLANG_WARN_UNREACHABLE_CODE = YES; 243 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 244 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 245 | COPY_PHASE_STRIP = NO; 246 | DEBUG_INFORMATION_FORMAT = dwarf; 247 | ENABLE_STRICT_OBJC_MSGSEND = YES; 248 | ENABLE_TESTABILITY = YES; 249 | GCC_C_LANGUAGE_STANDARD = gnu99; 250 | GCC_DYNAMIC_NO_PIC = NO; 251 | GCC_NO_COMMON_BLOCKS = YES; 252 | GCC_OPTIMIZATION_LEVEL = 0; 253 | GCC_PREPROCESSOR_DEFINITIONS = ( 254 | "DEBUG=1", 255 | "$(inherited)", 256 | ); 257 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 258 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 259 | GCC_WARN_UNDECLARED_SELECTOR = YES; 260 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 261 | GCC_WARN_UNUSED_FUNCTION = YES; 262 | GCC_WARN_UNUSED_VARIABLE = YES; 263 | IPHONEOS_DEPLOYMENT_TARGET = 10.2; 264 | MTL_ENABLE_DEBUG_INFO = YES; 265 | ONLY_ACTIVE_ARCH = YES; 266 | SDKROOT = iphoneos; 267 | TARGETED_DEVICE_FAMILY = "1,2"; 268 | }; 269 | name = Debug; 270 | }; 271 | EFE114A51E73C4AE005683BA /* Release */ = { 272 | isa = XCBuildConfiguration; 273 | buildSettings = { 274 | ALWAYS_SEARCH_USER_PATHS = NO; 275 | CLANG_ANALYZER_NONNULL = YES; 276 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 277 | CLANG_CXX_LIBRARY = "libc++"; 278 | CLANG_ENABLE_MODULES = YES; 279 | CLANG_ENABLE_OBJC_ARC = YES; 280 | CLANG_WARN_BOOL_CONVERSION = YES; 281 | CLANG_WARN_CONSTANT_CONVERSION = YES; 282 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 283 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 284 | CLANG_WARN_EMPTY_BODY = YES; 285 | CLANG_WARN_ENUM_CONVERSION = YES; 286 | CLANG_WARN_INFINITE_RECURSION = YES; 287 | CLANG_WARN_INT_CONVERSION = YES; 288 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 289 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 290 | CLANG_WARN_UNREACHABLE_CODE = YES; 291 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 292 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 293 | COPY_PHASE_STRIP = NO; 294 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 295 | ENABLE_NS_ASSERTIONS = NO; 296 | ENABLE_STRICT_OBJC_MSGSEND = YES; 297 | GCC_C_LANGUAGE_STANDARD = gnu99; 298 | GCC_NO_COMMON_BLOCKS = YES; 299 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 300 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 301 | GCC_WARN_UNDECLARED_SELECTOR = YES; 302 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 303 | GCC_WARN_UNUSED_FUNCTION = YES; 304 | GCC_WARN_UNUSED_VARIABLE = YES; 305 | IPHONEOS_DEPLOYMENT_TARGET = 10.2; 306 | MTL_ENABLE_DEBUG_INFO = NO; 307 | SDKROOT = iphoneos; 308 | TARGETED_DEVICE_FAMILY = "1,2"; 309 | VALIDATE_PRODUCT = YES; 310 | }; 311 | name = Release; 312 | }; 313 | EFE114A71E73C4AE005683BA /* Debug */ = { 314 | isa = XCBuildConfiguration; 315 | buildSettings = { 316 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 317 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 318 | GCC_PREFIX_HEADER = GSKConfuse/Resource/PrefixHeader.pch; 319 | INFOPLIST_FILE = GSKConfuse/Info.plist; 320 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 321 | PRODUCT_BUNDLE_IDENTIFIER = com.GSKConfuse; 322 | PRODUCT_NAME = "$(TARGET_NAME)"; 323 | }; 324 | name = Debug; 325 | }; 326 | EFE114A81E73C4AE005683BA /* Release */ = { 327 | isa = XCBuildConfiguration; 328 | buildSettings = { 329 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 330 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 331 | GCC_PREFIX_HEADER = GSKConfuse/Resource/PrefixHeader.pch; 332 | INFOPLIST_FILE = GSKConfuse/Info.plist; 333 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 334 | PRODUCT_BUNDLE_IDENTIFIER = com.GSKConfuse; 335 | PRODUCT_NAME = "$(TARGET_NAME)"; 336 | }; 337 | name = Release; 338 | }; 339 | /* End XCBuildConfiguration section */ 340 | 341 | /* Begin XCConfigurationList section */ 342 | EFE1148A1E73C4AE005683BA /* Build configuration list for PBXProject "GSKConfuse" */ = { 343 | isa = XCConfigurationList; 344 | buildConfigurations = ( 345 | EFE114A41E73C4AE005683BA /* Debug */, 346 | EFE114A51E73C4AE005683BA /* Release */, 347 | ); 348 | defaultConfigurationIsVisible = 0; 349 | defaultConfigurationName = Release; 350 | }; 351 | EFE114A61E73C4AE005683BA /* Build configuration list for PBXNativeTarget "GSKConfuse" */ = { 352 | isa = XCConfigurationList; 353 | buildConfigurations = ( 354 | EFE114A71E73C4AE005683BA /* Debug */, 355 | EFE114A81E73C4AE005683BA /* Release */, 356 | ); 357 | defaultConfigurationIsVisible = 0; 358 | defaultConfigurationName = Release; 359 | }; 360 | /* End XCConfigurationList section */ 361 | }; 362 | rootObject = EFE114871E73C4AE005683BA /* Project object */; 363 | } 364 | -------------------------------------------------------------------------------- /GSKConfuse.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /GSKConfuse.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /GSKConfuse.xcodeproj/project.xcworkspace/xcuserdata/gick.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gsk945/GSKConfuse/ed866a879d7d1f7cfc63060b698a8d50763642fd/GSKConfuse.xcodeproj/project.xcworkspace/xcuserdata/gick.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /GSKConfuse.xcodeproj/xcuserdata/gick.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | GSKConfuse.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | HSKConfuse.xcscheme_^#shared#^_ 13 | 14 | orderHint 15 | 0 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /GSKConfuse.xcodeproj/xcuserdata/housenkui.xcuserdatad/xcschemes/HSKConfuse.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 54 | 56 | 62 | 63 | 64 | 65 | 66 | 67 | 73 | 75 | 81 | 82 | 83 | 84 | 86 | 87 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /GSKConfuse.xcodeproj/xcuserdata/housenkui.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | HSKConfuse.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | EFE1148E1E73C4AE005683BA 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /GSKConfuse/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // GSKConfuse 4 | // 5 | // Created by gsk945 on 2019/7/1. 6 | // Copyright © 2017年 gsk. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /GSKConfuse/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // GSKConfuse 4 | // 5 | // Created by gsk945 on 2019/7/1. 6 | // Copyright © 2017年 gsk. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @interface AppDelegate () 12 | 13 | @end 14 | 15 | @implementation AppDelegate 16 | 17 | - (void)hsk_Function1{ 18 | 19 | } 20 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 21 | // Override point for customization after application launch. 22 | return YES; 23 | } 24 | 25 | 26 | - (void)applicationWillResignActive:(UIApplication *)application { 27 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 28 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. 29 | } 30 | 31 | 32 | - (void)applicationDidEnterBackground:(UIApplication *)application { 33 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 34 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 35 | } 36 | 37 | 38 | - (void)applicationWillEnterForeground:(UIApplication *)application { 39 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. 40 | } 41 | 42 | 43 | - (void)applicationDidBecomeActive:(UIApplication *)application { 44 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 45 | } 46 | 47 | 48 | - (void)applicationWillTerminate:(UIApplication *)application { 49 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 50 | } 51 | 52 | 53 | @end 54 | -------------------------------------------------------------------------------- /GSKConfuse/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "29x29", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "29x29", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "40x40", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "40x40", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "76x76", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "76x76", 61 | "scale" : "2x" 62 | } 63 | ], 64 | "info" : { 65 | "version" : 1, 66 | "author" : "xcode" 67 | } 68 | } -------------------------------------------------------------------------------- /GSKConfuse/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /GSKConfuse/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /GSKConfuse/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UISupportedInterfaceOrientations~ipad 38 | 39 | UIInterfaceOrientationPortrait 40 | UIInterfaceOrientationPortraitUpsideDown 41 | UIInterfaceOrientationLandscapeLeft 42 | UIInterfaceOrientationLandscapeRight 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /GSKConfuse/Resource/PrefixHeader.pch: -------------------------------------------------------------------------------- 1 | // 2 | // PrefixHeader.pch 3 | // GSKConfuse 4 | // 5 | // Created by gsk945 on 2019/7/1. 6 | // Copyright © 2017年 gsk. All rights reserved. 7 | // 8 | 9 | #ifndef PrefixHeader_pch 10 | #define PrefixHeader_pch 11 | 12 | #import "codeObfuscation.h" 13 | 14 | #endif /* PrefixHeader_pch */ 15 | -------------------------------------------------------------------------------- /GSKConfuse/Resource/codeObfuscation.h: -------------------------------------------------------------------------------- 1 | #ifndef codeObfuscation_h 2 | #define codeObfuscation_h 3 | //confuse string at Mon Jul 15 15:53:29 CST 2019 4 | #define Function2 chimpanzeeRectangleMoustacheSlyTransformerStalk 5 | #define str rectangleChimpanzeeMarsMarsBlondStalk 6 | #define handXXX curlyChimpanzeeJellyBlondBluntSly 7 | #define start stalkChimpanzeeSquirrelUnderpassMoustacheSly 8 | #define hfunction slyMoustacheMoustacheRectangleStoolSly 9 | #endif 10 | -------------------------------------------------------------------------------- /GSKConfuse/Resource/confuse.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | TABLENAME=symbols 4 | SYMBOL_DB_FILE="symbols" 5 | #方法 6 | STRING_SYMBOL_FILE="$PROJECT_DIR/GSKConfuse/Resource/func.list" 7 | #单词 8 | WordLIST_FILE="$PROJECT_DIR/GSKConfuse/Resource/words.list" 9 | 10 | CONFUSE_FILE="$PROJECT_DIR/GSKConfuse" 11 | 12 | HEAD_FILE="$PROJECT_DIR/GSKConfuse/Resource/codeObfuscation.h" 13 | 14 | export LC_CTYPE=C 15 | 16 | createTable() 17 | { 18 | echo "create table $TABLENAME(src text, des text);" | sqlite3 $SYMBOL_DB_FILE 19 | } 20 | 21 | insertValue() 22 | { 23 | echo "insert into $TABLENAME values('$1' ,'$2');" | sqlite3 $SYMBOL_DB_FILE 24 | } 25 | 26 | query() 27 | { 28 | echo "select * from $TABLENAME where src='$1';" | sqlite3 $SYMBOL_DB_FILE 29 | } 30 | 31 | ramdomString() 32 | { 33 | totalWordsNum=`wc -l $WordLIST_FILE | awk '{print $1}'` 34 | idx=1 35 | #NUM为要生成的随机单词的个数 36 | NUM=6 37 | declare -i num 38 | declare -i randNum 39 | ratio=1 40 | firstIndex=0 41 | words="" 42 | while [ "$idx" -le "$NUM" ] 43 | do 44 | a=$RANDOM 45 | num=$(( $a*$ratio )) 46 | randNum=`expr $num%$totalWordsNum+1` 47 | word=`sed -n "$randNum"p $WordLIST_FILE` 48 | firstWord=${word:0:1} 49 | if [ $idx != 1 ]; then 50 | firstWord=`echo $firstWord | tr "[a-z]" "[A-Z]"` 51 | fi 52 | otherWord=${word:1} 53 | newWord=$firstWord$otherWord 54 | words=$words$newWord 55 | 56 | idx=`expr $idx + 1` 57 | done 58 | echo $words 59 | } 60 | 61 | rm -f $SYMBOL_DB_FILE 62 | rm -f $HEAD_FILE 63 | createTable 64 | 65 | touch $HEAD_FILE 66 | echo '#ifndef codeObfuscation_h 67 | #define codeObfuscation_h' >> $HEAD_FILE 68 | echo "//confuse string at `date`" >> $HEAD_FILE 69 | cat "$STRING_SYMBOL_FILE" | while read -ra line; do 70 | if [[ ! -z "$line" ]]; then 71 | ramdom=`ramdomString` 72 | echo $line $ramdom 73 | insertValue $line $ramdom 74 | echo "#define $line $ramdom" >> $HEAD_FILE 75 | fi 76 | done 77 | echo "#endif" >> $HEAD_FILE 78 | 79 | sqlite3 $SYMBOL_DB_FILE .dump 80 | 81 | -------------------------------------------------------------------------------- /GSKConfuse/Resource/func.list: -------------------------------------------------------------------------------- 1 | Function2 2 | str 3 | handXXX 4 | start 5 | hfunction 6 | -------------------------------------------------------------------------------- /GSKConfuse/Resource/words.list: -------------------------------------------------------------------------------- 1 | armies 2 | amount 3 | parcel 4 | stub 5 | surfaces 6 | flames 7 | cheek 8 | feeling 9 | realignment 10 | smell 11 | cannon 12 | boilers 13 | budgets 14 | replenishment 15 | conflicts 16 | chins 17 | loans 18 | ditch 19 | concentration 20 | rush 21 | knowledge 22 | monday 23 | privilege 24 | drills 25 | bigamies 26 | boats 27 | investment 28 | drifts 29 | routines 30 | neglect 31 | effectiveness 32 | alert 33 | partition 34 | salvage 35 | shoes 36 | accounting 37 | stocking 38 | births 39 | ability 40 | saving 41 | combustion 42 | solenoid 43 | supplies 44 | voucher 45 | circles 46 | country 47 | schoolroom 48 | modification 49 | decrements 50 | video 51 | stamps 52 | nets 53 | tax 54 | winter 55 | exhibits 56 | jumper 57 | groan 58 | control 59 | reactions 60 | steams 61 | regrets 62 | hooks 63 | pegs 64 | designations 65 | schedules 66 | development 67 | map 68 | calculations 69 | summary 70 | list 71 | maintenance 72 | classification 73 | berry 74 | recording 75 | swallow 76 | religions 77 | fastener 78 | analyses 79 | chattel 80 | compensation 81 | publication 82 | apostrophes 83 | pumps 84 | arraignment 85 | milks 86 | dollies 87 | atmospheres 88 | screwdriver 89 | entrances 90 | kiss 91 | compressors 92 | attractions 93 | chairperson 94 | hundred 95 | errors 96 | chances 97 | checkpoint 98 | images 99 | threader 100 | gums 101 | site 102 | nets 103 | manufacturers 104 | drains 105 | dips 106 | december 107 | difference 108 | perforation 109 | safeguard 110 | depth 111 | transmittal 112 | pitches 113 | hunt 114 | interiors 115 | cleanser 116 | accounting 117 | hatchets 118 | amounts 119 | slashes 120 | colon 121 | glasses 122 | passages 123 | magnesium 124 | steamers 125 | housefall 126 | chest 127 | dollars 128 | cams 129 | feather 130 | evenings 131 | bunks 132 | boilers 133 | minerals 134 | seconds 135 | bunch 136 | meetings 137 | infection 138 | toothpicks 139 | horns 140 | motel 141 | pupils 142 | reference 143 | format 144 | railroads 145 | expenditures 146 | socket 147 | automobiles 148 | presents 149 | heats 150 | march 151 | lanes 152 | fork 153 | saps 154 | poke 155 | name 156 | carriage 157 | recess 158 | dials 159 | builders 160 | pool 161 | decreases 162 | dots 163 | helmet 164 | joints 165 | thirteens 166 | discharges 167 | whirl 168 | hauls 169 | interest 170 | minimum 171 | strains 172 | lashes 173 | shelters 174 | lasers 175 | navigation 176 | embosses 177 | lifetimes 178 | polish 179 | weathers 180 | cross 181 | turn 182 | summaries 183 | workmen 184 | symbol 185 | parties 186 | transistor 187 | precedence 188 | link 189 | superstructure 190 | yaws 191 | convention 192 | governors 193 | corps 194 | travel 195 | waist 196 | limps 197 | specializations 198 | servants 199 | shifts 200 | engineers 201 | railroads 202 | decrement 203 | loop 204 | nouns 205 | spools 206 | government 207 | offenders 208 | watches 209 | clang 210 | fees 211 | mineral 212 | forecastles 213 | stones 214 | instructor 215 | cables 216 | bays 217 | emergency 218 | bay 219 | slices 220 | butt 221 | pack 222 | clearances 223 | plots 224 | qualifications 225 | odors 226 | classification 227 | cable 228 | dresses 229 | west 230 | weeks 231 | acid 232 | crop 233 | furs 234 | secret 235 | passengers 236 | specialization 237 | steel 238 | professions 239 | attorney 240 | inception 241 | settings 242 | realinements 243 | custodians 244 | attribute 245 | projects 246 | jurisdiction 247 | concentration 248 | performances 249 | kites 250 | session 251 | defaults 252 | verse 253 | ramps 254 | chins 255 | caliber 256 | equation 257 | apprenticeship 258 | ticket 259 | navies 260 | slit 261 | ideal 262 | pupil 263 | accident 264 | butter 265 | stumps 266 | cry 267 | signs 268 | compromises 269 | device 270 | coordinates 271 | paneling 272 | billets 273 | grease 274 | quarter 275 | escape 276 | dabs 277 | cans 278 | cashiers 279 | survey 280 | roadside 281 | fittings 282 | crops 283 | detents 284 | jewels 285 | child 286 | cross 287 | verbs 288 | effectiveness 289 | ejection 290 | uniform 291 | flood 292 | slaves 293 | gang 294 | ignitions 295 | television 296 | trim 297 | blurs 298 | expansions 299 | blur 300 | tools 301 | dopes 302 | cushion 303 | pops 304 | swims 305 | events 306 | gasoline 307 | cut 308 | worry 309 | south 310 | reliability 311 | float 312 | organs 313 | listings 314 | sectors 315 | feeling 316 | lifeboat 317 | forces 318 | humor 319 | class 320 | submissions 321 | bang 322 | allotments 323 | buzzer 324 | wheels 325 | incomes 326 | address 327 | oars 328 | matter 329 | humans 330 | capacities 331 | knee 332 | visit 333 | photographs 334 | eases 335 | gears 336 | ratings 337 | bar 338 | options 339 | church 340 | submarines 341 | riding 342 | diagnostics 343 | cloudiness 344 | preparations 345 | rake 346 | nonavailability 347 | cheater 348 | butt 349 | january 350 | catalogs 351 | reinforcement 352 | strain 353 | frigates 354 | sister 355 | twirl 356 | prism 357 | contamination 358 | workbook 359 | catchers 360 | influences 361 | dots 362 | reserve 363 | milligrams 364 | trades 365 | worksheet 366 | name 367 | arrival 368 | hearts 369 | surges 370 | cells 371 | jigs 372 | surrenders 373 | infections 374 | uniform 375 | cleat 376 | discrepancies 377 | hair 378 | amplitude 379 | offering 380 | mug 381 | issue 382 | missions 383 | hunt 384 | signal 385 | hillsides 386 | proposes 387 | condensation 388 | recapitulations 389 | bites 390 | stool 391 | rattle 392 | chain 393 | conveniences 394 | standardizations 395 | shadow 396 | sail 397 | lines 398 | exercises 399 | departures 400 | reconfigurations 401 | microphones 402 | wine 403 | advertisements 404 | companies 405 | colors 406 | apparatus 407 | brushes 408 | container 409 | blot 410 | reward 411 | counters 412 | clang 413 | formulas 414 | coast 415 | accessories 416 | strokes 417 | magazine 418 | ventilation 419 | link 420 | adhesive 421 | doubt 422 | stretchers 423 | guard 424 | facilitation 425 | documents 426 | launchers 427 | conduct 428 | chamber 429 | pacific 430 | fluids 431 | property 432 | billet 433 | guards 434 | hinges 435 | delays 436 | laboratory 437 | pointer 438 | north 439 | mattresses 440 | revisions 441 | targets 442 | hazard 443 | complements 444 | surplus 445 | reenlistment 446 | searchlight 447 | soap 448 | solids 449 | acronyms 450 | nut 451 | activity 452 | information 453 | associates 454 | intakes 455 | shears 456 | gravel 457 | possessions 458 | pound 459 | pens 460 | fantails 461 | jug 462 | owner 463 | confession 464 | fireball 465 | tires 466 | desertion 467 | muscle 468 | stop 469 | modules 470 | parcels 471 | ordnance 472 | bronze 473 | coordinate 474 | pot 475 | troubleshooter 476 | course 477 | apron 478 | tolerance 479 | discrepancies 480 | preventions 481 | rain 482 | ditto 483 | straws 484 | customs 485 | slap 486 | quarterdeck 487 | validation 488 | ship 489 | alphabet 490 | suppressions 491 | evacuation 492 | web 493 | plays 494 | replacements 495 | shelter 496 | runs 497 | appeal 498 | necks 499 | armament 500 | attention 501 | bristle 502 | runaways 503 | truth 504 | usages 505 | cap 506 | hickory 507 | interrelation 508 | releases 509 | abrasion 510 | figure 511 | hazard 512 | organs 513 | railways 514 | cellars 515 | wishes 516 | brooks 517 | mast 518 | creeks 519 | courtesies 520 | particles 521 | desk 522 | phase 523 | coxswain 524 | photodiodes 525 | problem 526 | molecules 527 | boxcars 528 | arms 529 | lard 530 | stamp 531 | registers 532 | semiconductor 533 | velocity 534 | voltages 535 | explosions 536 | branches 537 | intents 538 | grease 539 | improvement 540 | operands 541 | screen 542 | taps 543 | interference 544 | sharpeners 545 | facilities 546 | fires 547 | paw 548 | governments 549 | calculators 550 | gleam 551 | associate 552 | suit 553 | steams 554 | desertions 555 | briefing 556 | buttons 557 | window 558 | passwords 559 | curls 560 | jurisdiction 561 | tone 562 | secretaries 563 | stings 564 | null 565 | shares 566 | forecastle 567 | wiggles 568 | swap 569 | slits 570 | trades 571 | lane 572 | inaction 573 | tide 574 | keels 575 | deputy 576 | thirties 577 | markets 578 | pupils 579 | passenger 580 | doorsteps 581 | documents 582 | chemistry 583 | keywords 584 | cosals 585 | anchor 586 | men 587 | interpreters 588 | labor 589 | tape 590 | eves 591 | elbow 592 | rushes 593 | flowchart 594 | farad 595 | boiler 596 | sunrise 597 | wrists 598 | divisions 599 | splints 600 | proficiency 601 | abrasive 602 | grain 603 | latch 604 | portions 605 | neutron 606 | subfunction 607 | buffer 608 | facepiece 609 | routes 610 | wave 611 | twine 612 | decorations 613 | fork 614 | course 615 | resources 616 | shape 617 | religion 618 | dive 619 | cane 620 | environment 621 | filler 622 | clubs 623 | colds 624 | tie 625 | scheduler 626 | mines 627 | permit 628 | authorization 629 | subtotals 630 | programs 631 | population 632 | filler 633 | nights 634 | occasion 635 | law 636 | story 637 | supermarket 638 | addressees 639 | worth 640 | act 641 | mines 642 | cradles 643 | accesses 644 | arts 645 | drawer 646 | specialization 647 | majority 648 | shafts 649 | file 650 | dispatchers 651 | chatter 652 | antennas 653 | stopper 654 | kiloliters 655 | trailers 656 | bottles 657 | frosts 658 | dwell 659 | mail 660 | standards 661 | rating 662 | utilization 663 | photodiode 664 | patch 665 | exit 666 | substitutes 667 | beds 668 | inventory 669 | pick 670 | computation 671 | foam 672 | purchaser 673 | shovels 674 | relief 675 | forts 676 | precautions 677 | poles 678 | pounds 679 | conditions 680 | dangers 681 | trailers 682 | coordinators 683 | whirls 684 | pedals 685 | point 686 | participation 687 | remains 688 | systems 689 | removals 690 | wins 691 | operation 692 | excess 693 | fatigue 694 | jobs 695 | chairs 696 | shovel 697 | search 698 | family 699 | intensities 700 | crewmember 701 | squadron 702 | earth 703 | insulation 704 | years 705 | cruisers 706 | hubs 707 | blaze 708 | sewer 709 | stones 710 | challenges 711 | moisture 712 | film 713 | career 714 | feedback 715 | admirals 716 | snow 717 | sunshine 718 | commander 719 | translators 720 | discrepancies 721 | drums 722 | picture 723 | burns 724 | initial 725 | shovel 726 | inventories 727 | form 728 | owners 729 | allotments 730 | volume 731 | platforms 732 | pulls 733 | braid 734 | rose 735 | glow 736 | possibilities 737 | heaps 738 | bubbles 739 | raincoats 740 | intelligence 741 | jar 742 | multimeters 743 | pointers 744 | spool 745 | clerks 746 | rushes 747 | entrances 748 | wagons 749 | sponsors 750 | beds 751 | twos 752 | telephone 753 | confidences 754 | check 755 | loss 756 | mitt 757 | passivation 758 | instructor 759 | mints 760 | presumption 761 | location 762 | orifices 763 | strike 764 | countries 765 | cycles 766 | installations 767 | files 768 | falls 769 | compression 770 | orange 771 | giant 772 | speed 773 | worksheets 774 | division 775 | amperages 776 | paper 777 | outlets 778 | headset 779 | compresses 780 | clump 781 | picks 782 | lever 783 | thousand 784 | wools 785 | braids 786 | citizens 787 | thermometer 788 | closures 789 | jigs 790 | locks 791 | page 792 | shelf 793 | probe 794 | variety 795 | cord 796 | sister 797 | visitor 798 | rotations 799 | costs 800 | ribs 801 | wage 802 | chocks 803 | size 804 | buffers 805 | stresses 806 | monday 807 | searchlights 808 | fruits 809 | difficulty 810 | scratch 811 | deputies 812 | lenders 813 | agent 814 | limb 815 | years 816 | accruement 817 | baseline 818 | exercises 819 | zip 820 | pyramids 821 | identification 822 | improvements 823 | dedications 824 | proportion 825 | missiles 826 | paintings 827 | spears 828 | indicator 829 | drive 830 | socket 831 | burglary 832 | impact 833 | observers 834 | radiators 835 | effort 836 | raincoats 837 | obligation 838 | helmets 839 | hillside 840 | retailers 841 | lights 842 | cure 843 | cramps 844 | artillery 845 | assault 846 | contracts 847 | spades 848 | thirty 849 | sling 850 | building 851 | plugs 852 | utility 853 | operand 854 | straightener 855 | lump 856 | cramps 857 | plexiglass 858 | quarterdecks 859 | payroll 860 | keel 861 | examination 862 | leaders 863 | cannon 864 | concept 865 | crank 866 | yields 867 | customs 868 | glow 869 | channel 870 | activity 871 | holds 872 | basis 873 | holders 874 | powers 875 | firearm 876 | oscillations 877 | voltages 878 | serial 879 | howl 880 | alarm 881 | beacons 882 | emitter 883 | vessel 884 | depletions 885 | transit 886 | respirations 887 | description 888 | potato 889 | admission 890 | fuse 891 | resistances 892 | grain 893 | abuse 894 | decision 895 | country 896 | journey 897 | agreement 898 | rocks 899 | bin 900 | bails 901 | floor 902 | session 903 | width 904 | agreements 905 | capacitance 906 | countermeasure 907 | cockpit 908 | dash 909 | dawns 910 | aliases 911 | ribs 912 | transportation 913 | performances 914 | reach 915 | bearing 916 | counter 917 | servant 918 | errors 919 | dolly 920 | partner 921 | wash 922 | electrodes 923 | flesh 924 | standard 925 | dominion 926 | fiction 927 | cable 928 | medal 929 | generations 930 | test 931 | workmen 932 | results 933 | crews 934 | shipping 935 | alternates 936 | company 937 | band 938 | bracing 939 | north 940 | tensions 941 | march 942 | aggravations 943 | nature 944 | scales 945 | stocking 946 | curl 947 | harpoon 948 | bag 949 | strengths 950 | defaults 951 | taxis 952 | alcohol 953 | conspiracy 954 | guilt 955 | canvases 956 | links 957 | noise 958 | escapes 959 | dissemination 960 | rags 961 | marks 962 | modem 963 | papers 964 | soaps 965 | icing 966 | expenditures 967 | prisoner 968 | freight 969 | roller 970 | ears 971 | average 972 | share 973 | pegs 974 | contention 975 | secret 976 | drifts 977 | jam 978 | remainder 979 | associates 980 | spoons 981 | editor 982 | offer 983 | mists 984 | itineraries 985 | gangway 986 | defections 987 | heap 988 | businesses 989 | attention 990 | stalls 991 | slide 992 | turpitude 993 | narcotics 994 | deductions 995 | walk 996 | adviser 997 | acquittals 998 | promotions 999 | job 1000 | batteries 1001 | data 1002 | draft 1003 | exhibits 1004 | introductions 1005 | buzzes 1006 | totals 1007 | suits 1008 | defect 1009 | farm 1010 | location 1011 | applicants 1012 | counsel 1013 | dam 1014 | east 1015 | defeat 1016 | detonations 1017 | nerves 1018 | ideal 1019 | socket 1020 | gears 1021 | cement 1022 | header 1023 | clouds 1024 | sparks 1025 | photographs 1026 | effects 1027 | organization 1028 | secret 1029 | circuitry 1030 | knees 1031 | link 1032 | knife 1033 | semaphores 1034 | stubs 1035 | topping 1036 | tray 1037 | wins 1038 | offense 1039 | deposits 1040 | cages 1041 | decay 1042 | fears 1043 | torque 1044 | chance 1045 | shares 1046 | glossary 1047 | member 1048 | book 1049 | preference 1050 | topping 1051 | idea 1052 | officers 1053 | lints 1054 | helmets 1055 | superintendent 1056 | algebra 1057 | disgust 1058 | priorities 1059 | payroll 1060 | paygrades 1061 | propellers 1062 | batch 1063 | aprons 1064 | hunk 1065 | projectiles 1066 | umbrella 1067 | word 1068 | hit 1069 | tool 1070 | puff 1071 | presidents 1072 | chimney 1073 | depths 1074 | tablets 1075 | purges 1076 | chair 1077 | chairman 1078 | harmonies 1079 | contamination 1080 | coordination 1081 | drains 1082 | rules 1083 | arc 1084 | circle 1085 | streak 1086 | powder 1087 | arcs 1088 | fabrication 1089 | indexes 1090 | seesaw 1091 | fumes 1092 | communities 1093 | segment 1094 | commissions 1095 | poisons 1096 | bullets 1097 | superstructure 1098 | activity 1099 | patter 1100 | commitment 1101 | needle 1102 | bolt 1103 | company 1104 | chins 1105 | displacements 1106 | zones 1107 | trials 1108 | intercoms 1109 | argument 1110 | breakdown 1111 | dozens 1112 | rattle 1113 | brakes 1114 | sweeps 1115 | knee 1116 | dolly 1117 | quality 1118 | mud 1119 | lenders 1120 | revolution 1121 | interference 1122 | clips 1123 | billet 1124 | continuity 1125 | fasteners 1126 | defect 1127 | braid 1128 | prints 1129 | cockpits 1130 | girls 1131 | drives 1132 | cheeses 1133 | hazards 1134 | mission 1135 | measurements 1136 | mill 1137 | endings 1138 | logs 1139 | users 1140 | battleship 1141 | currents 1142 | misalinement 1143 | lard 1144 | park 1145 | observation 1146 | coin 1147 | wine 1148 | official 1149 | combs 1150 | circulation 1151 | badges 1152 | tissue 1153 | heel 1154 | clangs 1155 | splint 1156 | voices 1157 | knobs 1158 | brush 1159 | flashlight 1160 | vibrations 1161 | implements 1162 | warehouse 1163 | mate 1164 | throat 1165 | bristles 1166 | nurse 1167 | receivers 1168 | retrievals 1169 | tachometer 1170 | yolks 1171 | bulkhead 1172 | market 1173 | ringing 1174 | salvages 1175 | speech 1176 | assistant 1177 | lifetime 1178 | dollars 1179 | byte 1180 | supermarket 1181 | breaks 1182 | images 1183 | people 1184 | striker 1185 | beam 1186 | realignments 1187 | driller 1188 | sneeze 1189 | captain 1190 | skirt 1191 | silences 1192 | visits 1193 | weeks 1194 | qualifiers 1195 | sleep 1196 | girl 1197 | relation 1198 | hate 1199 | schools 1200 | trims 1201 | wheel 1202 | preference 1203 | inquiry 1204 | officers 1205 | space 1206 | troubleshooter 1207 | boxes 1208 | enlistment 1209 | library 1210 | seals 1211 | vicinities 1212 | appearances 1213 | questions 1214 | leadership 1215 | mine 1216 | twig 1217 | argument 1218 | oaks 1219 | prison 1220 | talk 1221 | scabs 1222 | pistons 1223 | oxide 1224 | cliffs 1225 | inlet 1226 | boom 1227 | judgment 1228 | magneto 1229 | implantation 1230 | weddings 1231 | veteran 1232 | thicknesses 1233 | facility 1234 | pedal 1235 | formula 1236 | lace 1237 | staple 1238 | shifts 1239 | experiences 1240 | fleet 1241 | drag 1242 | signaler 1243 | membrane 1244 | beings 1245 | boards 1246 | associate 1247 | marines 1248 | swaps 1249 | kiss 1250 | set 1251 | ribbons 1252 | draft 1253 | diamond 1254 | ignition 1255 | deductions 1256 | schoolhouses 1257 | port 1258 | combat 1259 | nest 1260 | lots 1261 | whistle 1262 | ensigns 1263 | jewel 1264 | saps 1265 | back 1266 | drips 1267 | rotors 1268 | specialization 1269 | symbols 1270 | leads 1271 | check 1272 | winters 1273 | pond 1274 | latitudes 1275 | auditor 1276 | street 1277 | schedulers 1278 | juries 1279 | ton 1280 | lenses 1281 | tosses 1282 | knobs 1283 | conjectures 1284 | armfuls 1285 | suspect 1286 | yolks 1287 | buoys 1288 | fuels 1289 | halts 1290 | frames 1291 | fire 1292 | regrets 1293 | sisters 1294 | restraints 1295 | silk 1296 | compounds 1297 | surprise 1298 | saddles 1299 | searches 1300 | strengths 1301 | generator 1302 | wish 1303 | sponges 1304 | pears 1305 | toolbox 1306 | poles 1307 | sneeze 1308 | shell 1309 | reactance 1310 | manufacturers 1311 | customs 1312 | alarm 1313 | pencils 1314 | cashiers 1315 | visibilities 1316 | libraries 1317 | being 1318 | branches 1319 | suit 1320 | oscillator 1321 | paste 1322 | hours 1323 | portions 1324 | supervisor 1325 | stamp 1326 | soaps 1327 | welders 1328 | member 1329 | weights 1330 | decrease 1331 | fashion 1332 | alibi 1333 | nickels 1334 | precedence 1335 | teaspoons 1336 | concentrations 1337 | blanket 1338 | documentations 1339 | hall 1340 | courts 1341 | maintainability 1342 | entrances 1343 | massed 1344 | contamination 1345 | deletion 1346 | dew 1347 | caliber 1348 | spills 1349 | filter 1350 | alcoholic 1351 | cleanliness 1352 | loss 1353 | pot 1354 | deletion 1355 | problems 1356 | self 1357 | shape 1358 | soles 1359 | sink 1360 | flame 1361 | mistrial 1362 | chairs 1363 | altimeter 1364 | gulf 1365 | evenings 1366 | requirement 1367 | checkout 1368 | pattern 1369 | combs 1370 | schedulers 1371 | eligibility 1372 | sky 1373 | tax 1374 | deployment 1375 | occasions 1376 | cracks 1377 | electrolyte 1378 | ensign 1379 | copies 1380 | numbers 1381 | depletion 1382 | land 1383 | steams 1384 | tears 1385 | hoofs 1386 | amperages 1387 | stretchers 1388 | formulas 1389 | accumulations 1390 | builder 1391 | hull 1392 | reason 1393 | thirteen 1394 | channel 1395 | kite 1396 | apportionment 1397 | disease 1398 | churns 1399 | mat 1400 | bond 1401 | potatos 1402 | stapler 1403 | officers 1404 | tug 1405 | commitment 1406 | tapes 1407 | mass 1408 | braces 1409 | rotation 1410 | problem 1411 | hierarchies 1412 | ratings 1413 | visitors 1414 | principle 1415 | intercoms 1416 | wind 1417 | composites 1418 | vibration 1419 | gleams 1420 | film 1421 | forces 1422 | fireplug 1423 | visibility 1424 | vicinity 1425 | catalog 1426 | hairs 1427 | commitment 1428 | installations 1429 | contributions 1430 | compressors 1431 | quiets 1432 | disabilities 1433 | attachments 1434 | ohm 1435 | buoy 1436 | tone 1437 | bits 1438 | streets 1439 | proficiency 1440 | shipmates 1441 | millimeters 1442 | generator 1443 | stretch 1444 | moment 1445 | breaches 1446 | town 1447 | names 1448 | racks 1449 | article 1450 | probabilities 1451 | reservoir 1452 | railroads 1453 | canvas 1454 | toes 1455 | abuser 1456 | bubble 1457 | repairs 1458 | latches 1459 | religion 1460 | stages 1461 | sting 1462 | cements 1463 | thirds 1464 | birth 1465 | oars 1466 | poisons 1467 | absences 1468 | electron 1469 | circumstance 1470 | eights 1471 | duties 1472 | hush 1473 | lapse 1474 | floor 1475 | fabrication 1476 | poisons 1477 | figures 1478 | inquiry 1479 | boys 1480 | tones 1481 | substitutes 1482 | ream 1483 | convulsions 1484 | pats 1485 | possibility 1486 | divisions 1487 | character 1488 | yolks 1489 | keel 1490 | fake 1491 | career 1492 | ribs 1493 | purposes 1494 | twins 1495 | gaps 1496 | rags 1497 | missile 1498 | thought 1499 | test 1500 | amplitude 1501 | woods 1502 | chattels 1503 | walls 1504 | waists 1505 | firmware 1506 | blaze 1507 | figures 1508 | whispers 1509 | contempt 1510 | dominion 1511 | game 1512 | chart 1513 | cards 1514 | debt 1515 | approval 1516 | pattern 1517 | circumstance 1518 | connections 1519 | barge 1520 | ignition 1521 | enlistments 1522 | prisons 1523 | solvent 1524 | strokes 1525 | stoppered 1526 | meetings 1527 | attorneys 1528 | doubt 1529 | lever 1530 | promotions 1531 | initiators 1532 | ingredients 1533 | ring 1534 | speeders 1535 | flowers 1536 | acquisition 1537 | supplies 1538 | data 1539 | chairperson 1540 | shipment 1541 | facilitation 1542 | statements 1543 | west 1544 | standard 1545 | slaps 1546 | raise 1547 | vices 1548 | cave 1549 | apparatuses 1550 | description 1551 | dial 1552 | dips 1553 | listing 1554 | definitions 1555 | groceries 1556 | islands 1557 | mark 1558 | tan 1559 | butters 1560 | drawers 1561 | rod 1562 | starts 1563 | dare 1564 | profile 1565 | confusion 1566 | platters 1567 | vapor 1568 | crystals 1569 | loads 1570 | stoves 1571 | ration 1572 | cushions 1573 | waist 1574 | thickness 1575 | bailing 1576 | bilge 1577 | endeavor 1578 | spills 1579 | pipes 1580 | disasters 1581 | verses 1582 | salts 1583 | tune 1584 | percentage 1585 | prompts 1586 | gangs 1587 | recording 1588 | thumbs 1589 | durability 1590 | shirts 1591 | presses 1592 | closure 1593 | energizer 1594 | honks 1595 | misleads 1596 | maneuvers 1597 | axis 1598 | businesses 1599 | volt 1600 | office 1601 | reaches 1602 | swivels 1603 | tendency 1604 | acceptors 1605 | rescue 1606 | plastic 1607 | tower 1608 | tail 1609 | book 1610 | exercises 1611 | sonar 1612 | breakdowns 1613 | actions 1614 | educators 1615 | retailer 1616 | catalog 1617 | surveillance 1618 | umbrella 1619 | tongue 1620 | chains 1621 | reactor 1622 | bases 1623 | drive 1624 | pear 1625 | gross 1626 | fathom 1627 | hashmarks 1628 | fold 1629 | jets 1630 | glands 1631 | route 1632 | attackers 1633 | kisses 1634 | cares 1635 | histories 1636 | conditions 1637 | buffer 1638 | recognitions 1639 | leader 1640 | offer 1641 | subroutines 1642 | meter 1643 | slopes 1644 | son 1645 | people 1646 | december 1647 | guard 1648 | claps 1649 | compressions 1650 | sky 1651 | athwartship 1652 | yard 1653 | amplifier 1654 | categories 1655 | fogs 1656 | counters 1657 | splints 1658 | windlass 1659 | lump 1660 | feet 1661 | gap 1662 | isolation 1663 | electrolyte 1664 | rest 1665 | papers 1666 | allies 1667 | nothing 1668 | turbine 1669 | candles 1670 | males 1671 | mailbox 1672 | tax 1673 | ammonia 1674 | abrasions 1675 | discretion 1676 | travel 1677 | backup 1678 | triangles 1679 | lockers 1680 | cheeks 1681 | certificate 1682 | goal 1683 | profits 1684 | altimeter 1685 | radio 1686 | buzzer 1687 | speeder 1688 | allocations 1689 | clangs 1690 | hubs 1691 | forest 1692 | earth 1693 | flanges 1694 | reduction 1695 | pennant 1696 | total 1697 | tractor 1698 | page 1699 | yolks 1700 | winter 1701 | allowance 1702 | million 1703 | drills 1704 | rate 1705 | practice 1706 | obligations 1707 | compensation 1708 | applicant 1709 | timer 1710 | transmitter 1711 | debt 1712 | beat 1713 | railway 1714 | survey 1715 | ring 1716 | engine 1717 | tablets 1718 | bars 1719 | proof 1720 | handful 1721 | schools 1722 | multitasks 1723 | nut 1724 | grinders 1725 | teaspoon 1726 | parcel 1727 | table 1728 | region 1729 | folders 1730 | sewer 1731 | resident 1732 | lumber 1733 | packs 1734 | dedications 1735 | hunt 1736 | pane 1737 | bomb 1738 | processors 1739 | pairs 1740 | stern 1741 | multiplications 1742 | nulls 1743 | broom 1744 | taxes 1745 | mints 1746 | body 1747 | dose 1748 | counters 1749 | winches 1750 | bulb 1751 | poll 1752 | messages 1753 | being 1754 | match 1755 | alignments 1756 | airplanes 1757 | rubber 1758 | amperage 1759 | reconfigurations 1760 | utility 1761 | preparations 1762 | breads 1763 | profits 1764 | dollars 1765 | bang 1766 | lake 1767 | purges 1768 | punishment 1769 | specialization 1770 | manifests 1771 | deductions 1772 | clips 1773 | reenlistment 1774 | ribbons 1775 | masses 1776 | energizer 1777 | delegate 1778 | defenses 1779 | tooth 1780 | transportation 1781 | sirs 1782 | rinses 1783 | steams 1784 | cheat 1785 | profession 1786 | oxide 1787 | elbow 1788 | heights 1789 | attempts 1790 | guard 1791 | holddown 1792 | stools 1793 | cautions 1794 | concurrence 1795 | riddles 1796 | moneys 1797 | reenlistments 1798 | claws 1799 | instructor 1800 | wastes 1801 | supervisor 1802 | structure 1803 | solvents 1804 | detent 1805 | limit 1806 | branches 1807 | casts 1808 | feeders 1809 | skips 1810 | total 1811 | drinks 1812 | wave 1813 | yell 1814 | correction 1815 | revision 1816 | unit 1817 | million 1818 | letterheads 1819 | carriers 1820 | warning 1821 | adjectives 1822 | heads 1823 | radius 1824 | squeak 1825 | subordinate 1826 | credibility 1827 | applications 1828 | review 1829 | welders 1830 | exterior 1831 | cameras 1832 | flanges 1833 | asterisk 1834 | supplies 1835 | accruement 1836 | leaps 1837 | lights 1838 | signatures 1839 | davits 1840 | terminator 1841 | accumulations 1842 | offsets 1843 | array 1844 | bend 1845 | wholesale 1846 | painting 1847 | eyes 1848 | yield 1849 | applicant 1850 | decks 1851 | balloons 1852 | learning 1853 | efficiencies 1854 | anchors 1855 | berthings 1856 | contention 1857 | result 1858 | cables 1859 | nonavailabilities 1860 | department 1861 | locker 1862 | drunk 1863 | excess 1864 | source 1865 | north 1866 | thirteen 1867 | discussion 1868 | splint 1869 | drinks 1870 | wagon 1871 | doorstep 1872 | windings 1873 | kiss 1874 | dab 1875 | chambers 1876 | grid 1877 | goods 1878 | aluminum 1879 | multisystem 1880 | densities 1881 | realinement 1882 | photos 1883 | advisers 1884 | toe 1885 | speed 1886 | discussion 1887 | butts 1888 | additives 1889 | solenoids 1890 | door 1891 | leak 1892 | flow 1893 | sort 1894 | invention 1895 | devices 1896 | cracks 1897 | feet 1898 | ores 1899 | averages 1900 | wrecks 1901 | stakes 1902 | dispatches 1903 | acceptor 1904 | settlements 1905 | riddle 1906 | investigation 1907 | retractors 1908 | tin 1909 | library 1910 | narcotics 1911 | disposal 1912 | centimeters 1913 | advancements 1914 | steeples 1915 | addition 1916 | waterline 1917 | contention 1918 | jackbox 1919 | stations 1920 | rhythms 1921 | cheek 1922 | shields 1923 | electrodes 1924 | priorities 1925 | classifications 1926 | averages 1927 | sections 1928 | devices 1929 | rag 1930 | logs 1931 | professions 1932 | rowboats 1933 | ream 1934 | shaves 1935 | specialist 1936 | variation 1937 | splints 1938 | wish 1939 | acquisitions 1940 | rations 1941 | establishments 1942 | shelter 1943 | firmware 1944 | pilots 1945 | conveniences 1946 | toe 1947 | taxes 1948 | cheeses 1949 | standardization 1950 | tapes 1951 | wagons 1952 | alley 1953 | drives 1954 | additives 1955 | houses 1956 | towers 1957 | storage 1958 | apostrophes 1959 | brakes 1960 | scratches 1961 | retailer 1962 | memories 1963 | pumps 1964 | victims 1965 | spokes 1966 | stability 1967 | lots 1968 | checkers 1969 | stoppering 1970 | wounds 1971 | boatswains 1972 | radar 1973 | flights 1974 | utilization 1975 | hangars 1976 | associates 1977 | backups 1978 | click 1979 | day 1980 | hoofs 1981 | season 1982 | recordkeeping 1983 | mat 1984 | defenses 1985 | batteries 1986 | stitch 1987 | world 1988 | executives 1989 | curvatures 1990 | welds 1991 | pins 1992 | cheat 1993 | abrasive 1994 | defection 1995 | zone 1996 | sheeting 1997 | limits 1998 | monitor 1999 | -------------------------------------------------------------------------------- /GSKConfuse/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // GSKConfuse 4 | // 5 | // Created by gsk945 on 2019/7/1. 6 | // Copyright © 2017年 gsk. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /GSKConfuse/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // GSKConfuse 4 | // 5 | // Created by gsk945 on 2019/7/1. 6 | // Copyright © 2019年 gsk. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @interface ViewController () 12 | 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | // Do any additional setup after loading the view, typically from a nib. 20 | } 21 | -(void)Function2{ 22 | 23 | } 24 | -(void)Function2:(NSString *)str{ 25 | 26 | } 27 | - (void)handXXX{ 28 | 29 | } 30 | - (void)hand{ 31 | 32 | } 33 | - (void)start{ 34 | 35 | } 36 | - (void)hfunction{ 37 | 38 | } 39 | - (void)_hou{ 40 | 41 | } 42 | - (void)didReceiveMemoryWarning { 43 | [super didReceiveMemoryWarning]; 44 | // Dispose of any resources that can be recreated. 45 | } 46 | 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /GSKConfuse/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // GSKConfuse 4 | // 5 | // Created by gsk945 on 2019/7/1. 6 | // Copyright © 2017年 gsk. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # GSKConfuse 2 | iOS代码混淆(随机单词拼接) 3 | ## 前言 4 | 最近的一份工作,代码需要时时更新方法名,来降低重复率,网上搜罗了一下,发现随机命名都是随机字符串,这个对于提审到App Store简直是个噩梦,因为机审可能都过不去,所以借鉴https://github.com/housenkui/HSKConfuse自己改了一份,随机方法名为随机单词拼接,哪个方法需要随机混淆由自己定。也搞了份随机单词拼接更改文件名和属性名的,操作比较繁琐就不发在这了。 5 | ## 成果 6 | ![](https://github.com/gsk945/GSKConfuse/blob/master/screenshots/tu1.jpg) 7 | ![](https://github.com/gsk945/GSKConfuse/blob/master/screenshots/tu2.jpg) 8 | ## 使用方式 9 | 1. 在words.list文件中加入词库的词 10 | 2. 在func.list文件中加入想要替换的方法,例如 11 | ``` 12 | -(void)Function2:(NSString *)str; 13 | ``` 14 | 分别加入Function2和str就可以了,如果有同名的添加一次就可以 15 | 3. 在PrefixHeader.pch中加入 16 | ``` 17 | #import "codeObfuscation.h" 18 | ``` 19 | 4. 在Build Phases中新建一个Run Script中加入 20 | ``` 21 | $PROJECT_DIR/GSKConfuse/Resource/confuse.sh 22 | ``` 23 | 路径根据实际情况来 24 | 1. 需要替换confuse.sh中文件的路径 25 | ![](https://github.com/gsk945/GSKConfuse/blob/master/screenshots/tu3.jpg) 26 | ## 温馨提示 27 | 1. codeObfuscation.h这个文件不能删除,但是可以清空,清空之后就是没替换过混淆的方法名,可以方便调试 28 | 2. confuse.sh、words.list、func.list这三个文件都可以删除依赖关系,只要不删除文件就可以了,删除依赖关系之后打包不会有任何脚本信息,否则包内可能会有残留脚本 29 | 30 | -------------------------------------------------------------------------------- /screenshots/tu1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gsk945/GSKConfuse/ed866a879d7d1f7cfc63060b698a8d50763642fd/screenshots/tu1.jpg -------------------------------------------------------------------------------- /screenshots/tu2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gsk945/GSKConfuse/ed866a879d7d1f7cfc63060b698a8d50763642fd/screenshots/tu2.jpg -------------------------------------------------------------------------------- /screenshots/tu3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gsk945/GSKConfuse/ed866a879d7d1f7cfc63060b698a8d50763642fd/screenshots/tu3.jpg -------------------------------------------------------------------------------- /symbols: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gsk945/GSKConfuse/ed866a879d7d1f7cfc63060b698a8d50763642fd/symbols --------------------------------------------------------------------------------