├── BirdFaker.app ├── About.txt ├── AppIcon29x29.png ├── AppIcon29x29@2x.png ├── AppIcon29x29@2x~ipad.png ├── AppIcon29x29@3x.png ├── AppIcon29x29~ipad.png ├── AppIcon40x40@2x.png ├── AppIcon40x40@2x~ipad.png ├── AppIcon40x40@3x.png ├── AppIcon40x40~ipad.png ├── AppIcon50x50@2x~ipad.png ├── AppIcon50x50~ipad.png ├── AppIcon57x57.png ├── AppIcon57x57@2x.png ├── AppIcon60x60@2x.png ├── AppIcon60x60@3x.png ├── AppIcon72x72@2x~ipad.png ├── AppIcon72x72~ipad.png ├── AppIcon76x76@2x~ipad.png ├── AppIcon76x76~ipad.png ├── AppIcon83.5x83.5@2x~ipad.png ├── Assets.car ├── Base.lproj │ └── Main.storyboardc │ │ ├── 6aI-tj-5GI-view-IiP-E2-5XM.nib │ │ ├── 7G6-G0-3Nw-view-gwo-Qa-tCz.nib │ │ ├── AuthVc.nib │ │ ├── BYZ-38-t0r-view-8bC-Xf-vdC.nib │ │ ├── BaiduMapViewController.nib │ │ ├── C8l-4v-8Bb-view-O9b-A1-xmu.nib │ │ ├── ChongzhiVc.nib │ │ ├── ChooseTableVC.nib │ │ ├── ChooseTableVC2.nib │ │ ├── ClusterDemoViewController.nib │ │ ├── GAg-iI-zRn-view-kv9-bC-Yr1.nib │ │ ├── Gvk-dO-alX-view-UIV-XL-NFW.nib │ │ ├── Info.plist │ │ ├── Kaq-mh-sYF-view-cXa-2l-N5O.nib │ │ ├── UINavigationController-Zpu-ak-bJq.nib │ │ ├── UINavigationController-vHO-TX-YHL.nib │ │ ├── UINavigationController-y2p-2t-HlX.nib │ │ ├── ZengQiangPluginCtrl.nib │ │ ├── applistVc.nib │ │ ├── backupHisVC.nib │ │ ├── cleanSettingVc.nib │ │ ├── dailiVc.nib │ │ ├── e5V-O7-smm-view-CHf-9Z-sLP.nib │ │ ├── eFd-cC-7GF-view-PKH-7v-Ihp.nib │ │ ├── edx-oc-N6v-view-s4Y-4W-hXP.nib │ │ ├── ejj-dn-Stk-view-7Eg-I2-zno.nib │ │ ├── epv-ls-sme-view-XgE-au-zol.nib │ │ ├── fhu-vs-c4E-view-29O-TW-LEK.nib │ │ ├── forgetAccontVc.nib │ │ ├── jiaobenVC.nib │ │ ├── juB-Je-CKd-view-euT-Bc-tiu.nib │ │ ├── locationHistoryVC.nib │ │ ├── m5o-2E-93y-view-XeI-FR-3HQ.nib │ │ ├── mainVc.nib │ │ ├── ok0-EP-2K0-view-rn1-Zm-SDB.nib │ │ ├── pIp-wu-L3q-view-Ebo-KV-hDe.nib │ │ ├── pdM-qG-lDx-view-vdF-sk-Hrr.nib │ │ ├── r30-EQ-XxV-view-YI5-im-aFj.nib │ │ ├── settingsCtrl.nib │ │ ├── softHelperVc.nib │ │ ├── softModiVc.nib │ │ ├── table.nib │ │ ├── uqb-LE-0U1-view-heC-5h-w80.nib │ │ ├── w0E-vH-KIm-view-c88-aD-laU.nib │ │ ├── wLM-cp-TBi-view-RGu-Ka-gI0.nib │ │ ├── wx62data_pb_vc.nib │ │ ├── wxSixTwodataVc.nib │ │ ├── xvb-hR-aZZ-view-N9n-YA-whX.nib │ │ └── yasuobaoVC.nib ├── Base.xcconfig ├── BirdFaker ├── BirdFaker_ ├── Debug.xcconfig ├── Default-568h@2x.png ├── Entitlements.plist ├── Frameworks │ ├── RevealServer.framework │ │ ├── Headers │ │ │ └── RevealServer.h │ │ ├── Info.plist │ │ ├── Modules │ │ │ └── module.modulemap │ │ ├── RevealServer │ │ ├── Scripts │ │ │ └── copy_and_codesign_revealserver.sh │ │ └── _CodeSignature │ │ │ └── CodeResources │ ├── libX-BirdFakerDylib.dylib │ ├── libcycript.cy │ ├── libcycript.db │ ├── libcycript.dylib │ └── libsubstrate.dylib ├── HeaderView.nib ├── Info.plist ├── Info.plist.bak ├── Launch Screen.storyboardc │ ├── 01J-lp-oVM-view-Ze5-6b-2t3.nib │ ├── Info.plist │ └── UIViewController-01J-lp-oVM.nib ├── MDConfig.plist ├── PkgInfo ├── ReadMe.txt ├── SVProgressHUD.bundle │ ├── angle-mask.png │ ├── angle-mask@2x.png │ ├── angle-mask@3x.png │ ├── error.png │ ├── error@2x.png │ ├── error@3x.png │ ├── info.png │ ├── info@2x.png │ ├── info@3x.png │ ├── success.png │ ├── success@2x.png │ └── success@3x.png ├── ZRQRCode.bundle │ ├── ZR_Backward@2x.png │ ├── ZR_ScanFrame@2x.png │ ├── ZR_ScanFrame@3x.png │ ├── ZR_ScanLine@2x.png │ ├── ZR_ScanLine@3x.png │ ├── ZR_Scan_Success.wav │ ├── ZR_Victor0@2x.png │ ├── ZR_qrcode_torch_btn@2x.png │ ├── ZR_qrcode_torch_btn@3x.png │ ├── ZR_qrcode_torch_btn_selected@2x.png │ └── ZR_qrcode_torch_btn_selected@3x.png ├── _CodeSignature │ ├── CodeDirectory │ ├── CodeEntitlements │ ├── CodeRequirements │ ├── CodeResources │ └── CodeSignature ├── cb_box_off.png ├── cb_box_off@2x.png ├── cb_box_on.png ├── cb_box_on@2x.png ├── cb_dark_off.png ├── cb_dark_off@2x.png ├── cb_dark_on.png ├── cb_dark_on@2x.png ├── cb_glossy_off.png ├── cb_glossy_off@2x.png ├── cb_glossy_on.png ├── cb_glossy_on@2x.png ├── cb_green_off.png ├── cb_green_off@2x.png ├── cb_green_on.png ├── cb_green_on@2x.png ├── cb_mono_off.png ├── cb_mono_off@2x.png ├── cb_mono_on.png ├── cb_mono_on@2x.png ├── control ├── default.profraw ├── embedded.mobileprovision ├── ent.xml ├── icon.png ├── index.html ├── jixing.plist ├── killapp.entitlements ├── location.png ├── mapapi.bundle │ ├── files │ │ ├── Beijing, China.gpx │ │ ├── CustomIndex │ │ ├── DVDirectory.cfg │ │ ├── DVDirectory_Retina.cfg │ │ ├── DVHotMap.cfg │ │ ├── DVHotMap_Retina.cfg │ │ ├── DVHotcity.cfg │ │ ├── DVHotcity_Retina.cfg │ │ ├── DVSDirectory.cfg │ │ ├── DVSDirectory_Retina.cfg │ │ ├── DVVersion.cfg │ │ ├── DVVersion_Retina.cfg │ │ ├── ResPack.rs │ │ ├── channel │ │ ├── indoor │ │ │ ├── DVIndoor.cfg │ │ │ ├── IndoorResPack.rs │ │ │ └── baseindoormap.sty │ │ ├── mapstyle.sty │ │ ├── satellitestyle.sty │ │ └── trafficstyle.sty │ └── images │ │ ├── baidumap_logo.png │ │ ├── baidumap_logo@2x.png │ │ ├── bnavi_icon_location_fixed.png │ │ ├── bnavi_icon_location_fixed@2x.png │ │ ├── direction_wheel.png │ │ ├── direction_wheel@2x.png │ │ ├── icon_action_paopao_middle_left.png │ │ ├── icon_action_paopao_middle_left@2x.png │ │ ├── icon_action_paopao_middle_left_highlighted.png │ │ ├── icon_action_paopao_middle_left_highlighted@2x.png │ │ ├── icon_action_paopao_middle_right.png │ │ ├── icon_action_paopao_middle_right@2x.png │ │ ├── icon_action_paopao_middle_right_highlighted.png │ │ ├── icon_action_paopao_middle_right_highlighted@2x.png │ │ ├── icon_cellphone.png │ │ ├── icon_cellphone2.png │ │ ├── icon_cellphone2@2x.png │ │ ├── icon_cellphone@2x.png │ │ ├── icon_center_point.png │ │ ├── icon_center_point@2x.png │ │ ├── icon_compass.png │ │ ├── icon_compass@2x.png │ │ ├── icon_compass_background.png │ │ ├── icon_compass_background@2x.png │ │ ├── icon_direction.png │ │ ├── icon_direction@2x.png │ │ ├── icon_line_nofocus.png │ │ ├── icon_nav_bus.png │ │ ├── icon_nav_bus@2x.png │ │ ├── icon_nav_end.png │ │ ├── icon_nav_end@2x.png │ │ ├── icon_nav_rail.png │ │ ├── icon_nav_rail@2x.png │ │ ├── icon_nav_start.png │ │ ├── icon_nav_start@2x.png │ │ ├── icon_nav_waypoint.png │ │ ├── icon_nav_waypoint@2x.png │ │ ├── icon_paopao_middle_left.png │ │ ├── icon_paopao_middle_left@2x.png │ │ ├── icon_paopao_middle_left_highlighted.png │ │ ├── icon_paopao_middle_left_highlighted@2x.png │ │ ├── icon_paopao_middle_right.png │ │ ├── icon_paopao_middle_right@2x.png │ │ ├── icon_paopao_middle_right_highlighted.png │ │ ├── icon_paopao_middle_right_highlighted@2x.png │ │ ├── lineDashTexture.png │ │ ├── line_texture.png │ │ ├── pin_green.png │ │ ├── pin_green@2x.png │ │ ├── pin_purple.png │ │ ├── pin_purple@2x.png │ │ ├── pin_red.png │ │ └── pin_red@2x.png ├── more.png ├── navi_back_btn_bg.png ├── pngs.png ├── postinst ├── preinst ├── refresh@2x.png ├── role.plist ├── rootstrap.sh ├── shortcut_icon_search@2x.png ├── shutdown@2x.png ├── sign.entitlements └── sysVersions.plist ├── PrefixHeader_X-Faker.pch ├── README.md ├── X-Faker.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcuserdata │ │ └── whois.xcuserdatad │ │ └── UserInterfaceState.xcuserstate └── xcuserdata │ └── whois.xcuserdatad │ ├── xcdebugger │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ └── xcschememanagement.plist ├── X-Faker ├── AppDelegate.h ├── AppDelegate.m ├── AppListViewController.h ├── AppListViewController.m ├── ArgSetViewController.h ├── ArgSetViewController.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ ├── cb_box_off.imageset │ │ ├── Contents.json │ │ ├── cb_box_off.png │ │ └── cb_box_off@2x.png │ ├── cb_box_on.imageset │ │ ├── Contents.json │ │ ├── cb_box_on.png │ │ └── cb_box_on@2x.png │ ├── cb_dark_off.imageset │ │ ├── Contents.json │ │ ├── cb_dark_off.png │ │ └── cb_dark_off@2x.png │ ├── cb_dark_on.imageset │ │ ├── Contents.json │ │ ├── cb_dark_on.png │ │ └── cb_dark_on@2x.png │ ├── cb_glossy_off.imageset │ │ ├── Contents.json │ │ ├── cb_glossy_off.png │ │ └── cb_glossy_off@2x.png │ ├── cb_glossy_on.imageset │ │ ├── Contents.json │ │ ├── cb_glossy_on.png │ │ └── cb_glossy_on@2x.png │ ├── cb_green_off.imageset │ │ ├── Contents.json │ │ ├── cb_green_off.png │ │ └── cb_green_off@2x.png │ ├── cb_green_on.imageset │ │ ├── Contents.json │ │ ├── cb_green_on.png │ │ └── cb_green_on@2x.png │ ├── cb_mono_off.imageset │ │ ├── Contents.json │ │ ├── cb_mono_off.png │ │ └── cb_mono_off@2x.png │ ├── cb_mono_on.imageset │ │ ├── Contents.json │ │ ├── cb_mono_on.png │ │ └── cb_mono_on@2x.png │ ├── location.imageset │ │ ├── Contents.json │ │ └── location.png │ ├── more.imageset │ │ ├── Contents.json │ │ └── more.png │ ├── navi_back_btn_bg.imageset │ │ ├── Contents.json │ │ └── navi_back_btn_bg.png │ ├── refresh.imageset │ │ ├── Contents.json │ │ └── refresh@2x.png │ ├── shortcut_icon_search.imageset │ │ ├── Contents.json │ │ └── shortcut_icon_search@2x.png │ └── shutdown.imageset │ │ ├── Contents.json │ │ └── shutdown@2x.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── DylibBF.h ├── DylibBF.m ├── Info.plist ├── NSOBject+withArr.h ├── NSOBject+withArr.m ├── UI │ └── SSCheckBoxView │ │ ├── Graphics │ │ ├── cb_box_off.png │ │ ├── cb_box_off@2x.png │ │ ├── cb_box_on.png │ │ ├── cb_box_on@2x.png │ │ ├── cb_dark_off.png │ │ ├── cb_dark_off@2x.png │ │ ├── cb_dark_on.png │ │ ├── cb_dark_on@2x.png │ │ ├── cb_glossy_off.png │ │ ├── cb_glossy_off@2x.png │ │ ├── cb_glossy_on.png │ │ ├── cb_glossy_on@2x.png │ │ ├── cb_green_off.png │ │ ├── cb_green_off@2x.png │ │ ├── cb_green_on.png │ │ ├── cb_green_on@2x.png │ │ ├── cb_mono_off.png │ │ ├── cb_mono_off@2x.png │ │ ├── cb_mono_on.png │ │ └── cb_mono_on@2x.png │ │ ├── Helpers │ │ ├── ARCMacro.h │ │ ├── UIHelpers.h │ │ └── UIHelpers.m │ │ ├── SSCheckBoxView.h │ │ └── SSCheckBoxView.m ├── Utils │ ├── BirdFakerUtils.h │ ├── BirdFakerUtils.m │ ├── BrowseAllInstalledApplication.h │ ├── BrowseAllInstalledApplication.m │ ├── ClearHelper.h │ ├── ClearHelper.m │ ├── Constants.h │ ├── Constants.m │ ├── DateUtil.h │ ├── DateUtil.m │ ├── DeviceInfo.h │ ├── DeviceInfo.m │ ├── FileHelper.h │ ├── FileHelper.m │ ├── tools.h │ └── tools.m ├── ViewController.h ├── ViewController.m ├── X-FakerCommDef.h ├── defs.h ├── encrypt │ ├── EncryptUtil.h │ ├── EncryptUtil.m │ ├── GTMBase64 │ │ ├── GTMBase64.h │ │ ├── GTMBase64.m │ │ └── GTMDefines.h │ ├── NSData+crypt.h │ ├── NSData+crypt.m │ ├── NSString+MD5.h │ ├── NSString+MD5.m │ ├── NSString+SHA1.h │ ├── NSString+SHA1.m │ ├── NSString+_DES.h │ └── NSString+_DES.m └── main.m └── libBirdFaker.dylib /BirdFaker.app/About.txt: -------------------------------------------------------------------------------- 1 | CocoaLumberjack is under the New BSD License. 2 | https://github.com/robbiehanson/CocoaLumberjack 3 | 4 | Extensive documentation, tutorials, etc are available: 5 | https://github.com/robbiehanson/CocoaLumberjack/wiki 6 | 7 | Overview of the project (copied from google code homepage): 8 | 9 | 10 | 11 | The lumberjack framework is fast & simple, yet powerful & flexible. 12 | It is similar in concept to other popular logging frameworks such as log4j, yet is designed specifically for objective-c, and takes advantage of features such as multi-threading, grand central dispatch (if available), lockless atomic operations, and the dynamic nature of the objective-c runtime. 13 | 14 | Lumberjack is fast: 15 | In most cases it is an order of magnitude faster than NSLog. 16 | 17 | Lumberjack is simple: 18 | It takes as little as a single line of code to configure lumberjack when your application launches. Then simply replace your NSLog statements with DDLog statements and that's about it. (And the DDLog macros have the exact same format and syntax as NSLog, so it's super easy.) 19 | 20 | Lumberjack is powerful: 21 | One log statement can be sent to multiple loggers, meaning you can log to a file and the console simultaneously. Want more? Create your own loggers (it's easy) and send your log statements over the network. Or to a database or distributed file system. The sky is the limit. 22 | 23 | Lumberjack is flexible: 24 | Configure your logging however you want. Change log levels per file (perfect for debugging). Change log levels per logger (verbose console, but concise log file). Change log levels per xcode configuration (verbose debug, but concise release). Have your log statements compiled out of the release build. Customize the number of log levels for your application. Add your own fine-grained logging. Dynamically change log levels during runtime. Choose how & when you want your log files to be rolled. Upload your log files to a central server. Compress archived log files to save disk space... 25 | 26 | 27 | 28 | This framework is for you if: 29 | 30 | You're looking for a way to track down that impossible-to-reproduce bug that keeps popping up in the field. 31 | You're frustrated with the super short console log on the iPhone. 32 | You're looking to take your application to the next level in terms of support and stability. 33 | You're looking for an enterprise level logging solution for your application (Mac or iPhone). -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon29x29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon29x29.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon29x29@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon29x29@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon29x29@2x~ipad.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon29x29@3x.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon29x29~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon29x29~ipad.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon40x40@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon40x40@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon40x40@2x~ipad.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon40x40@3x.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon40x40~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon40x40~ipad.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon50x50@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon50x50@2x~ipad.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon50x50~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon50x50~ipad.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon57x57.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon57x57@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon57x57@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon60x60@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon60x60@3x.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon72x72@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon72x72@2x~ipad.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon72x72~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon72x72~ipad.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon76x76@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon76x76@2x~ipad.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon76x76~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon76x76~ipad.png -------------------------------------------------------------------------------- /BirdFaker.app/AppIcon83.5x83.5@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/AppIcon83.5x83.5@2x~ipad.png -------------------------------------------------------------------------------- /BirdFaker.app/Assets.car: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Assets.car -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/6aI-tj-5GI-view-IiP-E2-5XM.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/6aI-tj-5GI-view-IiP-E2-5XM.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/7G6-G0-3Nw-view-gwo-Qa-tCz.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/7G6-G0-3Nw-view-gwo-Qa-tCz.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/AuthVc.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/AuthVc.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/BaiduMapViewController.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/BaiduMapViewController.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/C8l-4v-8Bb-view-O9b-A1-xmu.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/C8l-4v-8Bb-view-O9b-A1-xmu.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/ChongzhiVc.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/ChongzhiVc.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/ChooseTableVC.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/ChooseTableVC.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/ChooseTableVC2.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/ChooseTableVC2.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/ClusterDemoViewController.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/ClusterDemoViewController.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/GAg-iI-zRn-view-kv9-bC-Yr1.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/GAg-iI-zRn-view-kv9-bC-Yr1.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/Gvk-dO-alX-view-UIV-XL-NFW.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/Gvk-dO-alX-view-UIV-XL-NFW.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/Info.plist -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/Kaq-mh-sYF-view-cXa-2l-N5O.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/Kaq-mh-sYF-view-cXa-2l-N5O.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/UINavigationController-Zpu-ak-bJq.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/UINavigationController-Zpu-ak-bJq.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/UINavigationController-vHO-TX-YHL.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/UINavigationController-vHO-TX-YHL.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/UINavigationController-y2p-2t-HlX.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/UINavigationController-y2p-2t-HlX.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/ZengQiangPluginCtrl.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/ZengQiangPluginCtrl.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/applistVc.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/applistVc.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/backupHisVC.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/backupHisVC.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/cleanSettingVc.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/cleanSettingVc.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/dailiVc.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/dailiVc.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/e5V-O7-smm-view-CHf-9Z-sLP.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/e5V-O7-smm-view-CHf-9Z-sLP.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/eFd-cC-7GF-view-PKH-7v-Ihp.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/eFd-cC-7GF-view-PKH-7v-Ihp.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/edx-oc-N6v-view-s4Y-4W-hXP.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/edx-oc-N6v-view-s4Y-4W-hXP.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/ejj-dn-Stk-view-7Eg-I2-zno.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/ejj-dn-Stk-view-7Eg-I2-zno.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/epv-ls-sme-view-XgE-au-zol.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/epv-ls-sme-view-XgE-au-zol.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/fhu-vs-c4E-view-29O-TW-LEK.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/fhu-vs-c4E-view-29O-TW-LEK.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/forgetAccontVc.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/forgetAccontVc.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/jiaobenVC.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/jiaobenVC.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/juB-Je-CKd-view-euT-Bc-tiu.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/juB-Je-CKd-view-euT-Bc-tiu.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/locationHistoryVC.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/locationHistoryVC.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/m5o-2E-93y-view-XeI-FR-3HQ.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/m5o-2E-93y-view-XeI-FR-3HQ.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/mainVc.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/mainVc.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/ok0-EP-2K0-view-rn1-Zm-SDB.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/ok0-EP-2K0-view-rn1-Zm-SDB.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/pIp-wu-L3q-view-Ebo-KV-hDe.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/pIp-wu-L3q-view-Ebo-KV-hDe.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/pdM-qG-lDx-view-vdF-sk-Hrr.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/pdM-qG-lDx-view-vdF-sk-Hrr.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/r30-EQ-XxV-view-YI5-im-aFj.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/r30-EQ-XxV-view-YI5-im-aFj.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/settingsCtrl.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/settingsCtrl.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/softHelperVc.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/softHelperVc.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/softModiVc.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/softModiVc.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/table.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/table.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/uqb-LE-0U1-view-heC-5h-w80.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/uqb-LE-0U1-view-heC-5h-w80.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/w0E-vH-KIm-view-c88-aD-laU.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/w0E-vH-KIm-view-c88-aD-laU.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/wLM-cp-TBi-view-RGu-Ka-gI0.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/wLM-cp-TBi-view-RGu-Ka-gI0.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/wx62data_pb_vc.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/wx62data_pb_vc.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/wxSixTwodataVc.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/wxSixTwodataVc.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/xvb-hR-aZZ-view-N9n-YA-whX.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/xvb-hR-aZZ-view-N9n-YA-whX.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.lproj/Main.storyboardc/yasuobaoVC.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Base.lproj/Main.storyboardc/yasuobaoVC.nib -------------------------------------------------------------------------------- /BirdFaker.app/Base.xcconfig: -------------------------------------------------------------------------------- 1 | // Common Settings 2 | ALWAYS_SEARCH_USER_PATHS = NO 3 | GCC_PRECOMPILE_PREFIX_HEADER = YES 4 | GCC_C_LANGUAGE_STANDARD = c99 5 | GCC_ENABLE_CPP_EXCEPTIONS = NO 6 | GCC_ENABLE_CPP_RTTI = NO 7 | 8 | // Common Warnings 9 | GCC_WARN_SHADOW = YES 10 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES 11 | GCC_WARN_ABOUT_RETURN_TYPE = YES 12 | GCC_WARN_MISSING_PARENTHESES = YES 13 | GCC_WARN_UNUSED_VARIABLE = YES 14 | WARNING_CFLAGS = -Wall -Winline 15 | 16 | // iOS SDK 17 | CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer 18 | 19 | 20 | -------------------------------------------------------------------------------- /BirdFaker.app/BirdFaker: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/BirdFaker -------------------------------------------------------------------------------- /BirdFaker.app/BirdFaker_: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/BirdFaker_ -------------------------------------------------------------------------------- /BirdFaker.app/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Base" 2 | 3 | // Common 4 | ONLY_ACTIVE_ARCH = YES 5 | GCC_OPTIMIZATION_LEVEL = 0 6 | -------------------------------------------------------------------------------- /BirdFaker.app/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Default-568h@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/Entitlements.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Entitlements.plist -------------------------------------------------------------------------------- /BirdFaker.app/Frameworks/RevealServer.framework/Headers/RevealServer.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2015 Itty Bitty Apps, Pty Ltd. All rights reserved. 3 | 4 | #import 5 | 6 | //! Project version number for RevealServer. 7 | FOUNDATION_EXPORT double RevealServerVersionNumber; 8 | 9 | //! Project version string for RevealServer. 10 | FOUNDATION_EXPORT const unsigned char RevealServerVersionString[]; 11 | 12 | -------------------------------------------------------------------------------- /BirdFaker.app/Frameworks/RevealServer.framework/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 17G65 7 | CFBundleDevelopmentRegion 8 | en 9 | CFBundleExecutable 10 | RevealServer 11 | CFBundleIdentifier 12 | com.ittybittyapps.RevealServer 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | RevealServer 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 17 21 | CFBundleSignature 22 | ???? 23 | CFBundleSupportedPlatforms 24 | 25 | iPhoneOS 26 | 27 | CFBundleVersion 28 | 10807 29 | DTCompiler 30 | com.apple.compilers.llvm.clang.1_0 31 | DTPlatformBuild 32 | 15F79 33 | DTPlatformName 34 | iphoneos 35 | DTPlatformVersion 36 | 11.4 37 | DTSDKBuild 38 | 15F79 39 | DTSDKName 40 | iphoneos11.4 41 | DTXcode 42 | 0940 43 | DTXcodeBuild 44 | 9F2000 45 | MinimumOSVersion 46 | 8.0 47 | UIDeviceFamily 48 | 49 | 1 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /BirdFaker.app/Frameworks/RevealServer.framework/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module RevealServer { 2 | umbrella header "RevealServer.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /BirdFaker.app/Frameworks/RevealServer.framework/RevealServer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Frameworks/RevealServer.framework/RevealServer -------------------------------------------------------------------------------- /BirdFaker.app/Frameworks/RevealServer.framework/Scripts/copy_and_codesign_revealserver.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -o errexit 3 | set -o nounset 4 | 5 | # Ensure that we have a valid OTHER_LDFLAGS environment variable 6 | OTHER_LDFLAGS=${OTHER_LDFLAGS:=""} 7 | 8 | # Ensure that we have a valid REVEAL_SERVER_FILENAME environment variable 9 | REVEAL_SERVER_FILENAME=${REVEAL_SERVER_FILENAME:="RevealServer.framework"} 10 | 11 | # Ensure that we have a valid REVEAL_SERVER_PATH environment variable 12 | REVEAL_SERVER_PATH=${REVEAL_SERVER_PATH:="${SRCROOT}/${REVEAL_SERVER_FILENAME}"} 13 | 14 | # The path to copy the framework to 15 | app_frameworks_dir="${CODESIGNING_FOLDER_PATH}/Frameworks" 16 | 17 | copy_library() { 18 | mkdir -p "$app_frameworks_dir" 19 | cp -vRf "$REVEAL_SERVER_PATH" "${app_frameworks_dir}/" 20 | } 21 | 22 | codesign_library() { 23 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" ]; then 24 | codesign -fs "${EXPANDED_CODE_SIGN_IDENTITY}" "${app_frameworks_dir}/${REVEAL_SERVER_FILENAME}" 25 | fi 26 | } 27 | 28 | main() { 29 | if [[ $OTHER_LDFLAGS =~ "RevealServer" ]]; then 30 | if [ -e "$REVEAL_SERVER_PATH" ]; then 31 | copy_library 32 | codesign_library 33 | echo "${REVEAL_SERVER_FILENAME} is included in this build, and has been copied to $CODESIGNING_FOLDER_PATH" 34 | else 35 | echo "${REVEAL_SERVER_FILENAME} is not included in this build, as it could not be found at $REVEAL_SERVER_PATH" 36 | fi 37 | else 38 | echo "${REVEAL_SERVER_FILENAME} is not included in this build because RevealServer was not present in the OTHER_LDFLAGS environment variable." 39 | fi 40 | } 41 | 42 | main 43 | -------------------------------------------------------------------------------- /BirdFaker.app/Frameworks/RevealServer.framework/_CodeSignature/CodeResources: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | files 6 | 7 | Headers/RevealServer.h 8 | 9 | JavE2LI6bNGfH9W90/bDxwIxVlg= 10 | 11 | Info.plist 12 | 13 | 5EjmEEQEDZC2NtzXZCfAK0EB8H4= 14 | 15 | Modules/module.modulemap 16 | 17 | EuDEeG1dcC1sd+hIW2SkUAImUg8= 18 | 19 | Scripts/copy_and_codesign_revealserver.sh 20 | 21 | yB2zXTggmRD0rra2Hbpxn2zfCRo= 22 | 23 | 24 | files2 25 | 26 | Headers/RevealServer.h 27 | 28 | hash 29 | 30 | JavE2LI6bNGfH9W90/bDxwIxVlg= 31 | 32 | hash2 33 | 34 | weLK/65HyV1EiL9dd4xoAqQhf0/0r/Oy6os2nXCA+Ew= 35 | 36 | 37 | Modules/module.modulemap 38 | 39 | hash 40 | 41 | EuDEeG1dcC1sd+hIW2SkUAImUg8= 42 | 43 | hash2 44 | 45 | tstqiJpIPr4iEd3MDHClLuTB/ciSC/zNlke1AjfSVuU= 46 | 47 | 48 | Scripts/copy_and_codesign_revealserver.sh 49 | 50 | hash 51 | 52 | yB2zXTggmRD0rra2Hbpxn2zfCRo= 53 | 54 | hash2 55 | 56 | SL0x5cGSOyS1RcojHFEmFX5IDfon/vO37cFsjSIX7LA= 57 | 58 | 59 | 60 | rules 61 | 62 | ^ 63 | 64 | ^.*\.lproj/ 65 | 66 | optional 67 | 68 | weight 69 | 1000 70 | 71 | ^.*\.lproj/locversion.plist$ 72 | 73 | omit 74 | 75 | weight 76 | 1100 77 | 78 | ^Base\.lproj/ 79 | 80 | weight 81 | 1010 82 | 83 | ^version.plist$ 84 | 85 | 86 | rules2 87 | 88 | .*\.dSYM($|/) 89 | 90 | weight 91 | 11 92 | 93 | ^ 94 | 95 | weight 96 | 20 97 | 98 | ^(.*/)?\.DS_Store$ 99 | 100 | omit 101 | 102 | weight 103 | 2000 104 | 105 | ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ 106 | 107 | nested 108 | 109 | weight 110 | 10 111 | 112 | ^.* 113 | 114 | ^.*\.lproj/ 115 | 116 | optional 117 | 118 | weight 119 | 1000 120 | 121 | ^.*\.lproj/locversion.plist$ 122 | 123 | omit 124 | 125 | weight 126 | 1100 127 | 128 | ^Base\.lproj/ 129 | 130 | weight 131 | 1010 132 | 133 | ^Info\.plist$ 134 | 135 | omit 136 | 137 | weight 138 | 20 139 | 140 | ^PkgInfo$ 141 | 142 | omit 143 | 144 | weight 145 | 20 146 | 147 | ^[^/]+$ 148 | 149 | nested 150 | 151 | weight 152 | 10 153 | 154 | ^embedded\.provisionprofile$ 155 | 156 | weight 157 | 20 158 | 159 | ^version\.plist$ 160 | 161 | weight 162 | 20 163 | 164 | 165 | 166 | 167 | -------------------------------------------------------------------------------- /BirdFaker.app/Frameworks/libX-BirdFakerDylib.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Frameworks/libX-BirdFakerDylib.dylib -------------------------------------------------------------------------------- /BirdFaker.app/Frameworks/libcycript.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Frameworks/libcycript.db -------------------------------------------------------------------------------- /BirdFaker.app/Frameworks/libcycript.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Frameworks/libcycript.dylib -------------------------------------------------------------------------------- /BirdFaker.app/Frameworks/libsubstrate.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Frameworks/libsubstrate.dylib -------------------------------------------------------------------------------- /BirdFaker.app/HeaderView.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/HeaderView.nib -------------------------------------------------------------------------------- /BirdFaker.app/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Info.plist -------------------------------------------------------------------------------- /BirdFaker.app/Info.plist.bak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Info.plist.bak -------------------------------------------------------------------------------- /BirdFaker.app/Launch Screen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Launch Screen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib -------------------------------------------------------------------------------- /BirdFaker.app/Launch Screen.storyboardc/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Launch Screen.storyboardc/Info.plist -------------------------------------------------------------------------------- /BirdFaker.app/Launch Screen.storyboardc/UIViewController-01J-lp-oVM.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/Launch Screen.storyboardc/UIViewController-01J-lp-oVM.nib -------------------------------------------------------------------------------- /BirdFaker.app/MDConfig.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/MDConfig.plist -------------------------------------------------------------------------------- /BirdFaker.app/PkgInfo: -------------------------------------------------------------------------------- 1 | APPL???? -------------------------------------------------------------------------------- /BirdFaker.app/ReadMe.txt: -------------------------------------------------------------------------------- 1 | Since there are so many different sample Xcode projects, we use these Xcode config files to help simplify a lot configuring of the projects and targets, and ensuring they are all in sync. 2 | 3 | Please note: These settings are not required if you want to include the CocoaHTTPServer in your project. They mostly help the developers of the project by ensuring that many compiler warnings are turned on so we don't introduce compiler issues into the project. -------------------------------------------------------------------------------- /BirdFaker.app/SVProgressHUD.bundle/angle-mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/SVProgressHUD.bundle/angle-mask.png -------------------------------------------------------------------------------- /BirdFaker.app/SVProgressHUD.bundle/angle-mask@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/SVProgressHUD.bundle/angle-mask@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/SVProgressHUD.bundle/angle-mask@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/SVProgressHUD.bundle/angle-mask@3x.png -------------------------------------------------------------------------------- /BirdFaker.app/SVProgressHUD.bundle/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/SVProgressHUD.bundle/error.png -------------------------------------------------------------------------------- /BirdFaker.app/SVProgressHUD.bundle/error@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/SVProgressHUD.bundle/error@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/SVProgressHUD.bundle/error@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/SVProgressHUD.bundle/error@3x.png -------------------------------------------------------------------------------- /BirdFaker.app/SVProgressHUD.bundle/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/SVProgressHUD.bundle/info.png -------------------------------------------------------------------------------- /BirdFaker.app/SVProgressHUD.bundle/info@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/SVProgressHUD.bundle/info@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/SVProgressHUD.bundle/info@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/SVProgressHUD.bundle/info@3x.png -------------------------------------------------------------------------------- /BirdFaker.app/SVProgressHUD.bundle/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/SVProgressHUD.bundle/success.png -------------------------------------------------------------------------------- /BirdFaker.app/SVProgressHUD.bundle/success@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/SVProgressHUD.bundle/success@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/SVProgressHUD.bundle/success@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/SVProgressHUD.bundle/success@3x.png -------------------------------------------------------------------------------- /BirdFaker.app/ZRQRCode.bundle/ZR_Backward@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/ZRQRCode.bundle/ZR_Backward@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/ZRQRCode.bundle/ZR_ScanFrame@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/ZRQRCode.bundle/ZR_ScanFrame@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/ZRQRCode.bundle/ZR_ScanFrame@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/ZRQRCode.bundle/ZR_ScanFrame@3x.png -------------------------------------------------------------------------------- /BirdFaker.app/ZRQRCode.bundle/ZR_ScanLine@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/ZRQRCode.bundle/ZR_ScanLine@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/ZRQRCode.bundle/ZR_ScanLine@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/ZRQRCode.bundle/ZR_ScanLine@3x.png -------------------------------------------------------------------------------- /BirdFaker.app/ZRQRCode.bundle/ZR_Scan_Success.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/ZRQRCode.bundle/ZR_Scan_Success.wav -------------------------------------------------------------------------------- /BirdFaker.app/ZRQRCode.bundle/ZR_Victor0@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/ZRQRCode.bundle/ZR_Victor0@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/ZRQRCode.bundle/ZR_qrcode_torch_btn@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/ZRQRCode.bundle/ZR_qrcode_torch_btn@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/ZRQRCode.bundle/ZR_qrcode_torch_btn@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/ZRQRCode.bundle/ZR_qrcode_torch_btn@3x.png -------------------------------------------------------------------------------- /BirdFaker.app/ZRQRCode.bundle/ZR_qrcode_torch_btn_selected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/ZRQRCode.bundle/ZR_qrcode_torch_btn_selected@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/ZRQRCode.bundle/ZR_qrcode_torch_btn_selected@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/ZRQRCode.bundle/ZR_qrcode_torch_btn_selected@3x.png -------------------------------------------------------------------------------- /BirdFaker.app/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /BirdFaker.app/_CodeSignature/CodeEntitlements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/_CodeSignature/CodeEntitlements -------------------------------------------------------------------------------- /BirdFaker.app/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /BirdFaker.app/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /BirdFaker.app/cb_box_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_box_off.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_box_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_box_off@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_box_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_box_on.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_box_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_box_on@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_dark_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_dark_off.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_dark_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_dark_off@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_dark_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_dark_on.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_dark_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_dark_on@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_glossy_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_glossy_off.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_glossy_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_glossy_off@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_glossy_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_glossy_on.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_glossy_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_glossy_on@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_green_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_green_off.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_green_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_green_off@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_green_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_green_on.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_green_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_green_on@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_mono_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_mono_off.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_mono_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_mono_off@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_mono_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_mono_on.png -------------------------------------------------------------------------------- /BirdFaker.app/cb_mono_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/cb_mono_on@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/control: -------------------------------------------------------------------------------- 1 | Package:IFaker 2 | Name:IFaker_IOS6.0-10.2.1 3 | Version: 3.6.0 4 | Description:IFaker 兼容IOS6.0-10.2.1越狱系统一键新机神器、全息备份、自定义设备信息、修改地理位置。 5 | Section: Tweaks 6 | Depends:firmware (>= 6.0), mobilesubstrate 7 | Conflicts: 8 | Replaces: 9 | Priority:optional 10 | Architecture: iphoneos-arm 11 | Author: 12 | dev: 13 | Homepage: 14 | Depiction: 15 | Maintainer: 16 | Icon: 17 | 18 | -------------------------------------------------------------------------------- /BirdFaker.app/default.profraw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/default.profraw -------------------------------------------------------------------------------- /BirdFaker.app/embedded.mobileprovision: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/embedded.mobileprovision -------------------------------------------------------------------------------- /BirdFaker.app/ent.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | com.apple.private.security.no-container 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /BirdFaker.app/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/icon.png -------------------------------------------------------------------------------- /BirdFaker.app/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | iPhone HTTP Server 5 | 6 | 7 |
8 |







恭喜你 服务器运行成功!

9 |

有疑问联系:OPTJoker
QQ: 494058733
10 | 11 |
12 |
13 | 14 | -------------------------------------------------------------------------------- /BirdFaker.app/jixing.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/jixing.plist -------------------------------------------------------------------------------- /BirdFaker.app/killapp.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.multitasking.termination 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /BirdFaker.app/location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/location.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/files/Beijing, China.gpx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Beijing, China 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/files/CustomIndex: -------------------------------------------------------------------------------- 1 | {"land":[72,73,75,76,2000,2001,2003,2004,61196],"green":[1544,1545,1546,1547,1548,1550,2529,2530,2531,2532,2533,2534,2535,2536,2537,2538,2539,2540,2541,2542,2543,2544,2545,2546,2547,2548,2549,2550,2551,2552,2553,2554,2555,2556,2557,2558,20586,20587,20588,20589,20902,60006,60007,60290],"water":[60001,60002,60003,60004,60005,60050,60212,2395,2403,2509,2510,2511,2512,2513,2514,2515,2516,2517,2518,2519,2520,2521,2522,2523,2524,2525,2526,2527,2528,20582,20583,20584,20585,20752,20754,20756,20758,20760,1503,1504,1505,1506,1507,1522,1533],"building":[20590,20660,20763,20764,1606,2420,2765,2766,2825],"manmade":[1549,1559,1563,1564,1570,1573,1574,1601,1603,1604,2929,2930,2931,2932,2933,2934,2935,2937,2938,2940,2941,2942,2943,20591,20592,20593,20594,20595,20596,20597,20598,20753,20755,20757,20759,20761,20765,20891,20893,20894,20892,20903,20904,20905,20906,20907,20908,20909,60052,60053,60054,60055,60056,60057,60058,60059,60060,60061,60062,60063,60064,60065,60066,60067,60068,60069,60070,60071,60072,60073,60074,60075,60077,60078,60079,60080,60081,60082,60083,60084,60085,60086,60087,60088,60089,60090,60091,60092,60093,60094,60095,60096,60097,60098,60099,60100,60101,60102,60103,60104,60105,60106,60107,60108,60120,60121,60122,60123,60124,60125,60126,60127,60128,60129,60130,60131,60132,60133,60134,60135,60136,60137,60138,60139,60140,60145,60146,60147,60148,60149,60150,60151,60152,60153,60154,60155,60172,60173,60174,60175,60176,60177,60178,60179,60180,60181,60182,60183,60184,60185,60186],"boundary":[57,58,59,60,61,62,2020,2393,2394],"highway":[60543,60574,60575,60576,60577,60578,60584,60585,60586,60587,60589,60590,60591,60592,60593,60594,60595,60596,60597,60598,60604,60605,60606,60607,60608,60609,60610,60611,60612,60613,60704,60705,60709,60710,60714,60715,60718,60724,60725,60728,60729,60730,60733,60886,60887,60913,60914],"arterial":[60524,60525,60526,60527,60528,60534,60535,60536,60538,60544,60546,60559,60560,60561,60562,60563,60564,60565,60566,60567,60579,60580,60581,60582,60583,60644,60645,60654,60655,60679,60680,60684,60685,60699,60700,60881,60884,60885,60891,60892,60907,60908,60911,60912,60918,60919],"local":[1149,1150,20126,20153,20659,21208,60258,60421,60499,60500,60501,60502,60504,60505,60506,60507,60509,60510,60511,60512,60529,60530,60531,60532,60533,60539,60540,60541,60542,60549,60551,60619,60624,60629,60649,60650,60659,60660,60889,60890,60894,60895,60896,60916,60917,60921,60922,60923],"railway":[1803,1804,1813,1814,20795,20796,20797,20798,20799,20800,20801,20802,20803,20804,20805,20806,20807,20808,20809,20810,20811,20812,20813,20814,20815,20816,20817,20818,20819,20820,20821,20822,20823,20824,20825,20826,20827,20828],"subway":[20002,20003,20004,20005,20006,20007,20008,20009,20010,20011,20012,20013,20014,20015,20016,20017,20018,20019,20020,20021,20022,20023,20024,20025,20027,20028,20029,20030,20031,20032,20033,20034,20035,20036,20037,20038,20039,20040,20041,20042,20043,20044,20045,20046,20047,20048,20049,20050,20051,20052,20053,20054,20055,20056,20057,20058,20070,20071,20072,20073,20074,20075,20076,20077,20078,20079,20080,20081,20082,20083,20084,20087,20088,20089,20090,20091,20092,20097,20098,20099,20101,20102,20103,20104,20105,20911,21205,21206,21207,2824,60156,60157,60158,60159,60160,60161,60162,60163,60164,60165,60166,60167,60168,60169,60170,60171,60187,60188,60189,60190,60191,60192,60193,60194,60195,60196,60197],"districtlabel":[29,30,31,32,33,34,35,2396,2397,2398,2399,2400,2402,2404,1602],"roadlabel":[2596,2597,2598,2599,2600],"highwaylabel":[60814,60815,60816,60817,60818,60834,60835,60836,60837,60838,60844,60845,60846,60847,60848,60849,60850,60851,60852,60853],"arteriallabel":[60764,60766,60768,60774,60776,60778,60784,60786,60799,60800,60801,60802,60803,60804,60806,60819,60820,60821,60822,60823],"locallabel":[60629,60739,60741,60744,60746,60749,60751,60769,60771,60779,60781,60783],"poilabel":[0]} -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/files/DVDirectory.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/files/DVDirectory.cfg -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/files/DVDirectory_Retina.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/files/DVDirectory_Retina.cfg -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/files/DVHotcity.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/files/DVHotcity.cfg -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/files/DVHotcity_Retina.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/files/DVHotcity_Retina.cfg -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/files/DVSDirectory.cfg: -------------------------------------------------------------------------------- 1 | {"cities":[{"i":1,"s":0},{"i":33,"s":0},{"i":34,"s":0},{"i":35,"s":0},{"i":36,"s":0},{"i":37,"s":0},{"i":38,"s":0},{"i":39,"s":0},{"i":40,"s":0},{"i":41,"s":0},{"i":42,"s":0},{"i":43,"s":0},{"i":44,"s":0},{"i":45,"s":0},{"i":46,"s":0},{"i":47,"s":0},{"i":48,"s":0},{"i":49,"s":0},{"i":50,"s":0},{"i":51,"s":0},{"i":52,"s":0},{"i":53,"s":0},{"i":54,"s":0},{"i":55,"s":0},{"i":56,"s":0},{"i":57,"s":0},{"i":58,"s":0},{"i":59,"s":0},{"i":60,"s":0},{"i":61,"s":0},{"i":62,"s":0},{"i":63,"s":0},{"i":64,"s":0},{"i":65,"s":0},{"i":66,"s":0},{"i":67,"s":0},{"i":68,"s":0},{"i":69,"s":0},{"i":70,"s":0},{"i":71,"s":0},{"i":72,"s":0},{"i":73,"s":0},{"i":74,"s":0},{"i":75,"s":0},{"i":76,"s":0},{"i":77,"s":0},{"i":78,"s":0},{"i":79,"s":0},{"i":80,"s":0},{"i":81,"s":0},{"i":82,"s":0},{"i":83,"s":0},{"i":84,"s":0},{"i":85,"s":0},{"i":86,"s":0},{"i":87,"s":0},{"i":88,"s":0},{"i":89,"s":0},{"i":90,"s":0},{"i":91,"s":0},{"i":92,"s":0},{"i":93,"s":0},{"i":94,"s":0},{"i":95,"s":0},{"i":96,"s":0},{"i":97,"s":0},{"i":98,"s":0},{"i":99,"s":0},{"i":100,"s":0},{"i":101,"s":0},{"i":102,"s":0},{"i":103,"s":0},{"i":104,"s":0},{"i":105,"s":0},{"i":106,"s":0},{"i":107,"s":0},{"i":108,"s":0},{"i":109,"s":0},{"i":110,"s":0},{"i":111,"s":0},{"i":112,"s":0},{"i":113,"s":0},{"i":114,"s":0},{"i":115,"s":0},{"i":116,"s":0},{"i":117,"s":0},{"i":118,"s":0},{"i":119,"s":0},{"i":120,"s":0},{"i":121,"s":0},{"i":122,"s":0},{"i":123,"s":0},{"i":124,"s":0},{"i":125,"s":0},{"i":126,"s":0},{"i":127,"s":0},{"i":128,"s":0},{"i":129,"s":0},{"i":130,"s":0},{"i":131,"s":0},{"i":132,"s":0},{"i":133,"s":0},{"i":134,"s":0},{"i":135,"s":0},{"i":136,"s":0},{"i":137,"s":0},{"i":138,"s":0},{"i":139,"s":0},{"i":140,"s":0},{"i":141,"s":0},{"i":142,"s":0},{"i":143,"s":0},{"i":144,"s":0},{"i":145,"s":0},{"i":146,"s":0},{"i":147,"s":0},{"i":148,"s":0},{"i":149,"s":0},{"i":150,"s":0},{"i":151,"s":0},{"i":152,"s":0},{"i":153,"s":0},{"i":154,"s":0},{"i":155,"s":0},{"i":156,"s":0},{"i":157,"s":0},{"i":158,"s":0},{"i":159,"s":0},{"i":160,"s":0},{"i":161,"s":0},{"i":162,"s":0},{"i":163,"s":0},{"i":164,"s":0},{"i":165,"s":0},{"i":166,"s":0},{"i":167,"s":0},{"i":168,"s":0},{"i":169,"s":0},{"i":170,"s":0},{"i":171,"s":0},{"i":172,"s":0},{"i":173,"s":0},{"i":174,"s":0},{"i":175,"s":0},{"i":176,"s":0},{"i":177,"s":0},{"i":178,"s":0},{"i":179,"s":0},{"i":180,"s":0},{"i":181,"s":0},{"i":182,"s":0},{"i":183,"s":0},{"i":184,"s":0},{"i":185,"s":0},{"i":186,"s":0},{"i":187,"s":0},{"i":188,"s":0},{"i":189,"s":0},{"i":190,"s":0},{"i":191,"s":0},{"i":192,"s":0},{"i":193,"s":0},{"i":194,"s":0},{"i":195,"s":0},{"i":196,"s":0},{"i":197,"s":0},{"i":198,"s":0},{"i":199,"s":0},{"i":200,"s":0},{"i":201,"s":0},{"i":202,"s":0},{"i":203,"s":0},{"i":204,"s":0},{"i":205,"s":0},{"i":206,"s":0},{"i":207,"s":0},{"i":208,"s":0},{"i":209,"s":0},{"i":210,"s":0},{"i":211,"s":0},{"i":212,"s":0},{"i":213,"s":0},{"i":214,"s":0},{"i":215,"s":0},{"i":216,"s":0},{"i":217,"s":0},{"i":218,"s":0},{"i":219,"s":0},{"i":220,"s":0},{"i":221,"s":0},{"i":222,"s":0},{"i":223,"s":0},{"i":224,"s":0},{"i":225,"s":0},{"i":226,"s":0},{"i":227,"s":0},{"i":228,"s":0},{"i":229,"s":0},{"i":230,"s":0},{"i":231,"s":0},{"i":232,"s":0},{"i":233,"s":0},{"i":234,"s":0},{"i":235,"s":0},{"i":236,"s":0},{"i":237,"s":0},{"i":238,"s":0},{"i":239,"s":0},{"i":240,"s":0},{"i":241,"s":0},{"i":242,"s":0},{"i":243,"s":0},{"i":244,"s":0},{"i":245,"s":0},{"i":246,"s":0},{"i":247,"s":0},{"i":248,"s":0},{"i":249,"s":0},{"i":250,"s":0},{"i":251,"s":0},{"i":252,"s":0},{"i":253,"s":0},{"i":254,"s":0},{"i":255,"s":0},{"i":256,"s":0},{"i":257,"s":0},{"i":258,"s":0},{"i":259,"s":0},{"i":260,"s":0},{"i":261,"s":0},{"i":262,"s":0},{"i":263,"s":0},{"i":264,"s":0},{"i":265,"s":0},{"i":266,"s":0},{"i":267,"s":0},{"i":268,"s":0},{"i":269,"s":0},{"i":270,"s":0},{"i":271,"s":0},{"i":272,"s":0},{"i":273,"s":0},{"i":274,"s":0},{"i":275,"s":0},{"i":276,"s":0},{"i":277,"s":0},{"i":278,"s":0},{"i":279,"s":0},{"i":280,"s":0},{"i":281,"s":0},{"i":282,"s":0},{"i":283,"s":0},{"i":284,"s":0},{"i":285,"s":0},{"i":286,"s":0},{"i":287,"s":0},{"i":288,"s":0},{"i":289,"s":0},{"i":290,"s":0},{"i":291,"s":0},{"i":292,"s":0},{"i":293,"s":0},{"i":294,"s":0},{"i":295,"s":0},{"i":296,"s":0},{"i":297,"s":0},{"i":298,"s":0},{"i":299,"s":0},{"i":300,"s":0},{"i":301,"s":0},{"i":302,"s":0},{"i":303,"s":0},{"i":304,"s":0},{"i":305,"s":0},{"i":306,"s":0},{"i":307,"s":0},{"i":308,"s":0},{"i":309,"s":0},{"i":310,"s":0},{"i":311,"s":0},{"i":312,"s":0},{"i":313,"s":0},{"i":314,"s":0},{"i":315,"s":0},{"i":316,"s":0},{"i":317,"s":0},{"i":318,"s":0},{"i":319,"s":0},{"i":320,"s":0},{"i":321,"s":0},{"i":322,"s":0},{"i":323,"s":0},{"i":324,"s":0},{"i":325,"s":0},{"i":326,"s":0},{"i":327,"s":0},{"i":328,"s":0},{"i":329,"s":0},{"i":330,"s":0},{"i":331,"s":0},{"i":332,"s":0},{"i":333,"s":0},{"i":334,"s":0},{"i":335,"s":0},{"i":336,"s":0},{"i":337,"s":0},{"i":338,"s":0},{"i":339,"s":0},{"i":340,"s":0},{"i":341,"s":0},{"i":342,"s":0},{"i":343,"s":0},{"i":344,"s":0},{"i":345,"s":0},{"i":346,"s":0},{"i":347,"s":0},{"i":348,"s":0},{"i":349,"s":0},{"i":350,"s":0},{"i":351,"s":0},{"i":352,"s":0},{"i":353,"s":0},{"i":354,"s":0},{"i":355,"s":0},{"i":356,"s":0},{"i":357,"s":0},{"i":358,"s":0},{"i":359,"s":0},{"i":360,"s":0},{"i":361,"s":0},{"i":362,"s":0},{"i":363,"s":0},{"i":364,"s":0},{"i":365,"s":0},{"i":366,"s":0},{"i":367,"s":0},{"i":368,"s":0},{"i":369,"s":0},{"i":370,"s":0},{"i":371,"s":0},{"i":372,"s":0},{"i":373,"s":0},{"i":1277,"s":0},{"i":2911,"s":0},{"i":2912,"s":0}],"fver":1,"dver":20150320} -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/files/DVSDirectory_Retina.cfg: -------------------------------------------------------------------------------- 1 | {"cities":[{"i":1,"s":0},{"i":33,"s":0},{"i":34,"s":0},{"i":35,"s":0},{"i":36,"s":0},{"i":37,"s":0},{"i":38,"s":0},{"i":39,"s":0},{"i":40,"s":0},{"i":41,"s":0},{"i":42,"s":0},{"i":43,"s":0},{"i":44,"s":0},{"i":45,"s":0},{"i":46,"s":0},{"i":47,"s":0},{"i":48,"s":0},{"i":49,"s":0},{"i":50,"s":0},{"i":51,"s":0},{"i":52,"s":0},{"i":53,"s":0},{"i":54,"s":0},{"i":55,"s":0},{"i":56,"s":0},{"i":57,"s":0},{"i":58,"s":0},{"i":59,"s":0},{"i":60,"s":0},{"i":61,"s":0},{"i":62,"s":0},{"i":63,"s":0},{"i":64,"s":0},{"i":65,"s":0},{"i":66,"s":0},{"i":67,"s":0},{"i":68,"s":0},{"i":69,"s":0},{"i":70,"s":0},{"i":71,"s":0},{"i":72,"s":0},{"i":73,"s":0},{"i":74,"s":0},{"i":75,"s":0},{"i":76,"s":0},{"i":77,"s":0},{"i":78,"s":0},{"i":79,"s":0},{"i":80,"s":0},{"i":81,"s":0},{"i":82,"s":0},{"i":83,"s":0},{"i":84,"s":0},{"i":85,"s":0},{"i":86,"s":0},{"i":87,"s":0},{"i":88,"s":0},{"i":89,"s":0},{"i":90,"s":0},{"i":91,"s":0},{"i":92,"s":0},{"i":93,"s":0},{"i":94,"s":0},{"i":95,"s":0},{"i":96,"s":0},{"i":97,"s":0},{"i":98,"s":0},{"i":99,"s":0},{"i":100,"s":0},{"i":101,"s":0},{"i":102,"s":0},{"i":103,"s":0},{"i":104,"s":0},{"i":105,"s":0},{"i":106,"s":0},{"i":107,"s":0},{"i":108,"s":0},{"i":109,"s":0},{"i":110,"s":0},{"i":111,"s":0},{"i":112,"s":0},{"i":113,"s":0},{"i":114,"s":0},{"i":115,"s":0},{"i":116,"s":0},{"i":117,"s":0},{"i":118,"s":0},{"i":119,"s":0},{"i":120,"s":0},{"i":121,"s":0},{"i":122,"s":0},{"i":123,"s":0},{"i":124,"s":0},{"i":125,"s":0},{"i":126,"s":0},{"i":127,"s":0},{"i":128,"s":0},{"i":129,"s":0},{"i":130,"s":0},{"i":131,"s":0},{"i":132,"s":0},{"i":133,"s":0},{"i":134,"s":0},{"i":135,"s":0},{"i":136,"s":0},{"i":137,"s":0},{"i":138,"s":0},{"i":139,"s":0},{"i":140,"s":0},{"i":141,"s":0},{"i":142,"s":0},{"i":143,"s":0},{"i":144,"s":0},{"i":145,"s":0},{"i":146,"s":0},{"i":147,"s":0},{"i":148,"s":0},{"i":149,"s":0},{"i":150,"s":0},{"i":151,"s":0},{"i":152,"s":0},{"i":153,"s":0},{"i":154,"s":0},{"i":155,"s":0},{"i":156,"s":0},{"i":157,"s":0},{"i":158,"s":0},{"i":159,"s":0},{"i":160,"s":0},{"i":161,"s":0},{"i":162,"s":0},{"i":163,"s":0},{"i":164,"s":0},{"i":165,"s":0},{"i":166,"s":0},{"i":167,"s":0},{"i":168,"s":0},{"i":169,"s":0},{"i":170,"s":0},{"i":171,"s":0},{"i":172,"s":0},{"i":173,"s":0},{"i":174,"s":0},{"i":175,"s":0},{"i":176,"s":0},{"i":177,"s":0},{"i":178,"s":0},{"i":179,"s":0},{"i":180,"s":0},{"i":181,"s":0},{"i":182,"s":0},{"i":183,"s":0},{"i":184,"s":0},{"i":185,"s":0},{"i":186,"s":0},{"i":187,"s":0},{"i":188,"s":0},{"i":189,"s":0},{"i":190,"s":0},{"i":191,"s":0},{"i":192,"s":0},{"i":193,"s":0},{"i":194,"s":0},{"i":195,"s":0},{"i":196,"s":0},{"i":197,"s":0},{"i":198,"s":0},{"i":199,"s":0},{"i":200,"s":0},{"i":201,"s":0},{"i":202,"s":0},{"i":203,"s":0},{"i":204,"s":0},{"i":205,"s":0},{"i":206,"s":0},{"i":207,"s":0},{"i":208,"s":0},{"i":209,"s":0},{"i":210,"s":0},{"i":211,"s":0},{"i":212,"s":0},{"i":213,"s":0},{"i":214,"s":0},{"i":215,"s":0},{"i":216,"s":0},{"i":217,"s":0},{"i":218,"s":0},{"i":219,"s":0},{"i":220,"s":0},{"i":221,"s":0},{"i":222,"s":0},{"i":223,"s":0},{"i":224,"s":0},{"i":225,"s":0},{"i":226,"s":0},{"i":227,"s":0},{"i":228,"s":0},{"i":229,"s":0},{"i":230,"s":0},{"i":231,"s":0},{"i":232,"s":0},{"i":233,"s":0},{"i":234,"s":0},{"i":235,"s":0},{"i":236,"s":0},{"i":237,"s":0},{"i":238,"s":0},{"i":239,"s":0},{"i":240,"s":0},{"i":241,"s":0},{"i":242,"s":0},{"i":243,"s":0},{"i":244,"s":0},{"i":245,"s":0},{"i":246,"s":0},{"i":247,"s":0},{"i":248,"s":0},{"i":249,"s":0},{"i":250,"s":0},{"i":251,"s":0},{"i":252,"s":0},{"i":253,"s":0},{"i":254,"s":0},{"i":255,"s":0},{"i":256,"s":0},{"i":257,"s":0},{"i":258,"s":0},{"i":259,"s":0},{"i":260,"s":0},{"i":261,"s":0},{"i":262,"s":0},{"i":263,"s":0},{"i":264,"s":0},{"i":265,"s":0},{"i":266,"s":0},{"i":267,"s":0},{"i":268,"s":0},{"i":269,"s":0},{"i":270,"s":0},{"i":271,"s":0},{"i":272,"s":0},{"i":273,"s":0},{"i":274,"s":0},{"i":275,"s":0},{"i":276,"s":0},{"i":277,"s":0},{"i":278,"s":0},{"i":279,"s":0},{"i":280,"s":0},{"i":281,"s":0},{"i":282,"s":0},{"i":283,"s":0},{"i":284,"s":0},{"i":285,"s":0},{"i":286,"s":0},{"i":287,"s":0},{"i":288,"s":0},{"i":289,"s":0},{"i":290,"s":0},{"i":291,"s":0},{"i":292,"s":0},{"i":293,"s":0},{"i":294,"s":0},{"i":295,"s":0},{"i":296,"s":0},{"i":297,"s":0},{"i":298,"s":0},{"i":299,"s":0},{"i":300,"s":0},{"i":301,"s":0},{"i":302,"s":0},{"i":303,"s":0},{"i":304,"s":0},{"i":305,"s":0},{"i":306,"s":0},{"i":307,"s":0},{"i":308,"s":0},{"i":309,"s":0},{"i":310,"s":0},{"i":311,"s":0},{"i":312,"s":0},{"i":313,"s":0},{"i":314,"s":0},{"i":315,"s":0},{"i":316,"s":0},{"i":317,"s":0},{"i":318,"s":0},{"i":319,"s":0},{"i":320,"s":0},{"i":321,"s":0},{"i":322,"s":0},{"i":323,"s":0},{"i":324,"s":0},{"i":325,"s":0},{"i":326,"s":0},{"i":327,"s":0},{"i":328,"s":0},{"i":329,"s":0},{"i":330,"s":0},{"i":331,"s":0},{"i":332,"s":0},{"i":333,"s":0},{"i":334,"s":0},{"i":335,"s":0},{"i":336,"s":0},{"i":337,"s":0},{"i":338,"s":0},{"i":339,"s":0},{"i":340,"s":0},{"i":341,"s":0},{"i":342,"s":0},{"i":343,"s":0},{"i":344,"s":0},{"i":345,"s":0},{"i":346,"s":0},{"i":347,"s":0},{"i":348,"s":0},{"i":349,"s":0},{"i":350,"s":0},{"i":351,"s":0},{"i":352,"s":0},{"i":353,"s":0},{"i":354,"s":0},{"i":355,"s":0},{"i":356,"s":0},{"i":357,"s":0},{"i":358,"s":0},{"i":359,"s":0},{"i":360,"s":0},{"i":361,"s":0},{"i":362,"s":0},{"i":363,"s":0},{"i":364,"s":0},{"i":365,"s":0},{"i":366,"s":0},{"i":367,"s":0},{"i":368,"s":0},{"i":369,"s":0},{"i":370,"s":0},{"i":371,"s":0},{"i":372,"s":0},{"i":373,"s":0},{"i":1277,"s":0},{"i":2911,"s":0},{"i":2912,"s":0}],"fver":1,"dver":20150320} -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/files/DVVersion.cfg: -------------------------------------------------------------------------------- 1 | {"d":33,"gd":0,"note":0,"maps":107,"mapsearchs":0,"maproutes":0,"itss":6,"itsls":0,"doms":11,"didr":0,"idrs":0,"idrresver":0,"idrcfgver":0,"internalmaps":0,"v_rscinternal":0,"internalspecialmaps":0,"v_rscinternalspecial":0,"busstyver":0,"c":44,"gc":0,"sc":0,"v_rsc":2,"v_rscsearch":0,"v_rscroute":0,"walkdaymstyle":0,"walkdaysstyle":0,"h":0} -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/files/DVVersion_Retina.cfg: -------------------------------------------------------------------------------- 1 | {"d":33,"gd":0,"note":0,"maps":121,"mapsearchs":0,"maproutes":0,"itss":7,"itsls":0,"doms":17,"didr":0,"idrs":1006,"idrresver":132,"idrcfgver":1110,"internalmaps":0,"v_rscinternal":0,"internalspecialmaps":0,"v_rscinternalspecial":0,"busstyver":0,"c":44,"gc":0,"sc":0,"v_rsc":2,"v_rscsearch":0,"v_rscroute":0,"walkdaymstyle":0,"walkdaysstyle":0,"h":0} -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/files/ResPack.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/files/ResPack.rs -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/files/channel: -------------------------------------------------------------------------------- 1 | 1099a -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/files/indoor/IndoorResPack.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/files/indoor/IndoorResPack.rs -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/files/indoor/baseindoormap.sty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/files/indoor/baseindoormap.sty -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/files/mapstyle.sty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/files/mapstyle.sty -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/files/satellitestyle.sty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/files/satellitestyle.sty -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/files/trafficstyle.sty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/files/trafficstyle.sty -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/baidumap_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/baidumap_logo.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/baidumap_logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/baidumap_logo@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/bnavi_icon_location_fixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/bnavi_icon_location_fixed.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/bnavi_icon_location_fixed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/bnavi_icon_location_fixed@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/direction_wheel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/direction_wheel.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/direction_wheel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/direction_wheel@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_action_paopao_middle_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_action_paopao_middle_left.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_action_paopao_middle_left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_action_paopao_middle_left@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_action_paopao_middle_left_highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_action_paopao_middle_left_highlighted.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_action_paopao_middle_left_highlighted@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_action_paopao_middle_left_highlighted@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_action_paopao_middle_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_action_paopao_middle_right.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_action_paopao_middle_right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_action_paopao_middle_right@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_action_paopao_middle_right_highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_action_paopao_middle_right_highlighted.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_action_paopao_middle_right_highlighted@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_action_paopao_middle_right_highlighted@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_cellphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_cellphone.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_cellphone2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_cellphone2.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_cellphone2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_cellphone2@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_cellphone@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_cellphone@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_center_point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_center_point.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_center_point@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_center_point@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_compass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_compass.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_compass@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_compass@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_compass_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_compass_background.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_compass_background@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_compass_background@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_direction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_direction.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_direction@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_direction@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_line_nofocus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_line_nofocus.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_nav_bus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_nav_bus.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_nav_bus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_nav_bus@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_nav_end.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_nav_end.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_nav_end@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_nav_end@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_nav_rail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_nav_rail.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_nav_rail@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_nav_rail@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_nav_start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_nav_start.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_nav_start@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_nav_start@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_nav_waypoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_nav_waypoint.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_nav_waypoint@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_nav_waypoint@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_paopao_middle_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_paopao_middle_left.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_paopao_middle_left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_paopao_middle_left@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_paopao_middle_left_highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_paopao_middle_left_highlighted.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_paopao_middle_left_highlighted@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_paopao_middle_left_highlighted@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_paopao_middle_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_paopao_middle_right.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_paopao_middle_right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_paopao_middle_right@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_paopao_middle_right_highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_paopao_middle_right_highlighted.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/icon_paopao_middle_right_highlighted@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/icon_paopao_middle_right_highlighted@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/lineDashTexture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/lineDashTexture.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/line_texture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/line_texture.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/pin_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/pin_green.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/pin_green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/pin_green@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/pin_purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/pin_purple.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/pin_purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/pin_purple@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/pin_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/pin_red.png -------------------------------------------------------------------------------- /BirdFaker.app/mapapi.bundle/images/pin_red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/mapapi.bundle/images/pin_red@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/more.png -------------------------------------------------------------------------------- /BirdFaker.app/navi_back_btn_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/navi_back_btn_bg.png -------------------------------------------------------------------------------- /BirdFaker.app/pngs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/pngs.png -------------------------------------------------------------------------------- /BirdFaker.app/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | declare -a cydia 3 | cydia=($CYDIA) 4 | 5 | killall -9 BirdFaker 6 | 7 | chown -R root:wheel /Applications/BirdFaker.app 8 | chmod -R 0755 /Applications/BirdFaker.app 9 | 10 | chmod a+s /Applications/BirdFaker.app/BirdFaker 11 | 12 | chown root:wheel /Library/MobileSubstrate/DynamicLibraries/*.dylib 13 | chown root:wheel /Library/MobileSubstrate/DynamicLibraries/*.plist 14 | 15 | chmod 0755 /Library/MobileSubstrate/DynamicLibraries/*.dylib 16 | chmod 0644 /Library/MobileSubstrate/DynamicLibraries/*.plist 17 | 18 | 19 | chmod a+x /var/root/bdfix 20 | 21 | mkdir -p /var/mobile/Library/Preferences/BirdFaker 22 | chmod -R 777 /var/mobile/Library/Preferences/BirdFaker 23 | 24 | su mobile -c uicache 25 | #解决中文输入法无法调出问题 26 | rm -rf "/var/root/Library/Preferences/com.apple.Preferences.plist" 27 | rm -rf "/var/root/Library/Preferences/.GlobalPreferences.plist" 28 | ln -s "/var/mobile/Library/Preferences/com.apple.Preferences.plist" "/var/root/Library/Preferences/com.apple.Preferences.plist" 29 | ln -s "/var/mobile/Library/Preferences/.GlobalPreferences.plist" "/var/root/Library/Preferences/.GlobalPreferences.plist" 30 | 31 | 32 | if [[ ${CYDIA+@} ]]; then 33 | eval "echo 'finish:reboot' >&${cydia[0]}" 34 | fi 35 | 36 | exit 0 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /BirdFaker.app/preinst: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | declare -a cydia 4 | cydia=($CYDIA) 5 | 6 | if [[ $1 == upgrade ]]; then 7 | if [[ ${CYDIA+@} ]]; then 8 | if [[ ${cydia[1]} -lt 1 ]]; then 9 | echo 'PLEASE RESTART CYDIA!' 10 | echo 'PLEASE RESTART CYDIA!' 11 | echo 'PLEASE RESTART CYDIA!' 12 | else 13 | eval "echo 'finish:reopen' >&${cydia[0]}" 14 | fi 15 | fi 16 | fi 17 | 18 | exit 0 19 | -------------------------------------------------------------------------------- /BirdFaker.app/refresh@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/refresh@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/role.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/role.plist -------------------------------------------------------------------------------- /BirdFaker.app/rootstrap.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | root=$(dirname "$0") 3 | exec "${root}"/BirdFaker -------------------------------------------------------------------------------- /BirdFaker.app/shortcut_icon_search@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/shortcut_icon_search@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/shutdown@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/shutdown@2x.png -------------------------------------------------------------------------------- /BirdFaker.app/sign.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.private.security.no-container 6 | 7 | com.apple.private.MobileGestalt.AllowedProtectedKeys 8 | 9 | UniqueDeviceID 10 | InternationalMobileEquipmentIdentity 11 | CarrierBundleInfoArray 12 | SerialNumber 13 | WifiAddress 14 | BluetoothAddress 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /BirdFaker.app/sysVersions.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/BirdFaker.app/sysVersions.plist -------------------------------------------------------------------------------- /PrefixHeader_X-Faker.pch: -------------------------------------------------------------------------------- 1 | // 2 | // PrefixHeader_X-Faker.pch 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/15. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #ifndef PrefixHeader_X_Faker_pch 10 | #define PrefixHeader_X_Faker_pch 11 | 12 | // Include any system framework and library headers here that should be included in all compilation units. 13 | // You will also need to set the Prefix Header build setting of one or more of your targets to reference this file. 14 | #import 15 | #import "DateUtil.h" 16 | #import "BirdFakerUtils.h" 17 | #import "Constants.h" 18 | #import "ClearHelper.h" 19 | #import "FileHelper.h" 20 | #import "DeviceInfo.h" 21 | #import "BrowseAllInstalledApplication.h" 22 | #import "EncryptUtil.h" 23 | #import "NSOBject+withArr.h" 24 | #import "DylibBF.h" 25 | #import "SSCheckBoxView.h" 26 | #import "UIHelpers.h" 27 | 28 | #import 29 | #import 30 | #import 31 | #include "X-FakerCommDef.h" 32 | #include "defs.h" 33 | #include "tools.h" 34 | #endif /* PrefixHeader_X_Faker_pch */ 35 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # X-Faker 2 | OneKeyNewDevice(一键新机半成品),此代码为逆向iFaker的半成品。 3 | -------------------------------------------------------------------------------- /X-Faker.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /X-Faker.xcodeproj/project.xcworkspace/xcuserdata/whois.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker.xcodeproj/project.xcworkspace/xcuserdata/whois.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /X-Faker.xcodeproj/xcuserdata/whois.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | X-Faker.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | X-Faker.xcscheme_^#shared#^_ 13 | 14 | orderHint 15 | 0 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /X-Faker/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/15. 6 | // Copyright © 2018年 whois. 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 | -------------------------------------------------------------------------------- /X-Faker/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/15. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @interface AppDelegate () 12 | 13 | @end 14 | 15 | 16 | 17 | @implementation AppDelegate 18 | 19 | // /var/mobile/Library/Preferences/BirdFaker/BirdFaker_global_settings.plist 20 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 21 | // Override point for customization after application launch. 22 | [self performSelector:@selector(configLocalHttpServer) withObject:0 afterDelay:1.0]; 23 | 24 | return YES; 25 | } 26 | 27 | - (void)configLocalHttpServer{ 28 | NSLog(@"配置Http服务"); 29 | } 30 | - (void)applicationWillResignActive:(UIApplication *)application { 31 | // 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. 32 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. 33 | } 34 | 35 | 36 | - (void)applicationDidEnterBackground:(UIApplication *)application { 37 | // 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. 38 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 39 | } 40 | 41 | 42 | - (void)applicationWillEnterForeground:(UIApplication *)application { 43 | // 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. 44 | } 45 | 46 | 47 | - (void)applicationDidBecomeActive:(UIApplication *)application { 48 | // 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. 49 | } 50 | 51 | 52 | - (void)applicationWillTerminate:(UIApplication *)application { 53 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 54 | } 55 | 56 | 57 | @end 58 | -------------------------------------------------------------------------------- /X-Faker/AppListViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppListViewController.h 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/15. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class NSMutableArray, NSMutableDictionary, NSString, UIButton, UISwitch, UITableView; 12 | 13 | __attribute__((visibility("hidden"))) 14 | @interface AppListViewController : UIViewController 15 | 16 | 17 | 18 | @property(nonatomic,retain) DylibBF *dylibCls; 19 | 20 | @property (weak, nonatomic) IBOutlet UITableView *AppTableV; 21 | @property (weak, nonatomic) IBOutlet UINavigationBar *AppNaviBar; 22 | 23 | 24 | @property(nonatomic,copy) NSMutableArray *apps; // @synthesize apps=_apps; 25 | @property(retain) NSString *autoOpenAppBundleId; // @synthesize autoOpenAppBundleId=_autoOpenAppBundleId; 26 | @property(nonatomic) __weak IBOutlet UITableView *applist_tableview; // @synthesize applist_tableview=_applist_tableview; 27 | - (IBAction)back_btn_click:(id)arg1; 28 | - (IBAction)check_all_btn_click:(id)arg1; 29 | - (void)applist_teach_btn_click:(id)arg1; 30 | - (void)auto_open_app_remind_btn_click:(id)arg1; 31 | - (void)backup_initial_data_btn:(id)arg1; 32 | - (void)cancel_all_check_btn_click:(id)arg1; 33 | - (void)chushihuadata_remind_btn:(id)arg1; 34 | - (void)download_api_btn_click:(id)arg1; 35 | - (void)empty_initialdata_btn_click:(id)arg1; 36 | - (void)oneApponeInfo_switch_click:(id)arg1; 37 | - (void)restore_initialdata_btn_click:(id)arg1; 38 | - (void)save_btn_click:(id)arg1; 39 | - (IBAction)selectAll_btn_click:(id)arg1; 40 | - (void)jiaoben_store_btn_click:(id)arg1; 41 | - (void)fenbieweizhuang_switch_click:(id)arg1; 42 | 43 | - (void)alertView:(id)arg1 clickedButtonAtIndex:(long long)arg2; 44 | 45 | - (void)checkJiaoben:(id)arg1; 46 | + (instancetype)sharedInstance; 47 | @property(nonatomic) __weak UISwitch *fenbieweizhuang_switch; // @synthesize fenbieweizhuang_switch=_fenbieweizhuang_switch; 48 | 49 | @property _Bool isSelectedAll; // @synthesize isSelectedAll=_isSelectedAll; 50 | @property int itemIndex; // @synthesize itemIndex=_itemIndex; 51 | 52 | - (void)longPressToDo:(id)arg1; 53 | @property(retain) NSMutableArray *mBundleIdsArray; // @synthesize mBundleIdsArray=_mBundleIdsArray; 54 | @property(retain) NSMutableArray *mNeedBackupBundleIdsArray; // @synthesize mNeedBackupBundleIdsArray=_mNeedBackupBundleIdsArray; 55 | @property(nonatomic) __weak UISwitch *oneApponeInfo_switch; // @synthesize oneApponeInfo_switch=_oneApponeInfo_switch; 56 | 57 | @property(retain) NSMutableDictionary *settingInfo; // @synthesize settingInfo=_settingInfo; 58 | @property(retain) NSMutableArray *topedArray; // @synthesize topedArray=_topedArray; 59 | 60 | 61 | - (void)viewDidAppear:(_Bool)arg1; 62 | - (void)viewDidLoad; 63 | - (id)xhqVSHjNJGfcqvUz:(id)arg1; 64 | @end 65 | -------------------------------------------------------------------------------- /X-Faker/ArgSetViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ArgSetViewController.h 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/15. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ArgSetViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /X-Faker/ArgSetViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ArgSetViewController.m 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/15. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import "ArgSetViewController.h" 10 | 11 | @implementation ArgSetViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "size" : "1024x1024", 91 | "scale" : "1x" 92 | } 93 | ], 94 | "info" : { 95 | "version" : 1, 96 | "author" : "xcode" 97 | } 98 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_box_off.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "cb_box_off.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "cb_box_off@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_box_off.imageset/cb_box_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_box_off.imageset/cb_box_off.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_box_off.imageset/cb_box_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_box_off.imageset/cb_box_off@2x.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_box_on.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "cb_box_on.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "cb_box_on@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_box_on.imageset/cb_box_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_box_on.imageset/cb_box_on.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_box_on.imageset/cb_box_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_box_on.imageset/cb_box_on@2x.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_dark_off.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "cb_dark_off.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "cb_dark_off@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_dark_off.imageset/cb_dark_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_dark_off.imageset/cb_dark_off.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_dark_off.imageset/cb_dark_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_dark_off.imageset/cb_dark_off@2x.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_dark_on.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "cb_dark_on.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "cb_dark_on@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_dark_on.imageset/cb_dark_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_dark_on.imageset/cb_dark_on.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_dark_on.imageset/cb_dark_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_dark_on.imageset/cb_dark_on@2x.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_glossy_off.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "cb_glossy_off.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "cb_glossy_off@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_glossy_off.imageset/cb_glossy_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_glossy_off.imageset/cb_glossy_off.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_glossy_off.imageset/cb_glossy_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_glossy_off.imageset/cb_glossy_off@2x.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_glossy_on.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "cb_glossy_on.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "cb_glossy_on@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_glossy_on.imageset/cb_glossy_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_glossy_on.imageset/cb_glossy_on.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_glossy_on.imageset/cb_glossy_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_glossy_on.imageset/cb_glossy_on@2x.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_green_off.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "cb_green_off.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "cb_green_off@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_green_off.imageset/cb_green_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_green_off.imageset/cb_green_off.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_green_off.imageset/cb_green_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_green_off.imageset/cb_green_off@2x.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_green_on.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "cb_green_on.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "cb_green_on@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_green_on.imageset/cb_green_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_green_on.imageset/cb_green_on.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_green_on.imageset/cb_green_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_green_on.imageset/cb_green_on@2x.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_mono_off.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "cb_mono_off.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "cb_mono_off@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_mono_off.imageset/cb_mono_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_mono_off.imageset/cb_mono_off.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_mono_off.imageset/cb_mono_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_mono_off.imageset/cb_mono_off@2x.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_mono_on.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "cb_mono_on.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "cb_mono_on@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_mono_on.imageset/cb_mono_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_mono_on.imageset/cb_mono_on.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/cb_mono_on.imageset/cb_mono_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/cb_mono_on.imageset/cb_mono_on@2x.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/location.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "location.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/location.imageset/location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/location.imageset/location.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/more.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "more.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/more.imageset/more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/more.imageset/more.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/navi_back_btn_bg.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "navi_back_btn_bg.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/navi_back_btn_bg.imageset/navi_back_btn_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/navi_back_btn_bg.imageset/navi_back_btn_bg.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/refresh.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "refresh@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/refresh.imageset/refresh@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/refresh.imageset/refresh@2x.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/shortcut_icon_search.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "shortcut_icon_search@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/shortcut_icon_search.imageset/shortcut_icon_search@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/shortcut_icon_search.imageset/shortcut_icon_search@2x.png -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/shutdown.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "shutdown@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /X-Faker/Assets.xcassets/shutdown.imageset/shutdown@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/Assets.xcassets/shutdown.imageset/shutdown@2x.png -------------------------------------------------------------------------------- /X-Faker/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 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /X-Faker/DylibBF.h: -------------------------------------------------------------------------------- 1 | // 2 | // DylibBF.h 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/22. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface DylibBF : NSObject 12 | 13 | 14 | @property(nonatomic,retain) id BirdFakerUtils; 15 | @property(nonatomic,retain) id DateUtil; 16 | @property(nonatomic,retain) id Constants; 17 | @property(nonatomic,retain) id BrowseAllInstalledApplication; 18 | @property(nonatomic,retain) id DeviceInfo; 19 | @property(nonatomic,retain) id SSCheckBoxView; 20 | @property(nonatomic,retain) id MainViewController; 21 | @property(nonatomic,retain) id MasterViewController; 22 | 23 | 24 | - (instancetype)init; 25 | @end 26 | -------------------------------------------------------------------------------- /X-Faker/DylibBF.m: -------------------------------------------------------------------------------- 1 | // 2 | // DylibBF.m 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/22. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import "DylibBF.h" 10 | 11 | @implementation DylibBF 12 | 13 | 14 | 15 | -(instancetype)init{ 16 | self = [super init]; 17 | if (self) { 18 | _BrowseAllInstalledApplication = NSClassFromString(@"BrowseAllInstalledApplication"); 19 | _Constants = NSClassFromString(@"Constants"); 20 | _DateUtil = NSClassFromString(@"DateUtil"); 21 | _BirdFakerUtils = NSClassFromString(@"BirdFakerUtils"); 22 | _DeviceInfo = NSClassFromString(@"DeviceInfo"); 23 | _SSCheckBoxView = NSClassFromString(@"SSCheckBoxView"); 24 | _MainViewController =NSClassFromString(@"MainViewController"); 25 | _MasterViewController = NSClassFromString(@"MasterViewController"); 26 | } 27 | return self; 28 | } 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /X-Faker/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 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 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 | -------------------------------------------------------------------------------- /X-Faker/NSOBject+withArr.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSOBject+withArr.h 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/22. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | 13 | @interface NSObject(Arr) 14 | 15 | - (id)performSelector:(SEL)aSelector withObjects:(NSArray *)objects; 16 | @end 17 | 18 | 19 | -------------------------------------------------------------------------------- /X-Faker/NSOBject+withArr.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSOBject+withArr.m 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/22. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import "NSOBject+withArr.h" 10 | 11 | @implementation NSObject(Arr) 12 | 13 | 14 | - (id)performSelector:(SEL)aSelector withObjects:(NSArray *)objects{ 15 | 16 | NSMethodSignature *methodSignature = [[self class] instanceMethodSignatureForSelector:aSelector]; 17 | if(methodSignature == nil) 18 | { 19 | @throw [NSException exceptionWithName:@"抛异常错误" reason:@"没有这个方法,或者方法名字错误" userInfo:nil]; 20 | return nil; 21 | } 22 | else 23 | { 24 | NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:methodSignature]; 25 | [invocation setTarget:self]; 26 | [invocation setSelector:aSelector]; 27 | //签名中方法参数的个数,内部包含了self和_cmd,所以参数从第3个开始 28 | NSInteger signatureParamCount = methodSignature.numberOfArguments - 2; 29 | NSInteger requireParamCount = objects.count; 30 | NSInteger resultParamCount = MIN(signatureParamCount, requireParamCount); 31 | for (NSInteger i = 0; i < resultParamCount; i++) { 32 | id obj = objects[i]; 33 | [invocation setArgument:&obj atIndex:i+2]; 34 | } 35 | [invocation invoke]; 36 | //返回值处理 37 | id callBackObject = nil; 38 | if(methodSignature.methodReturnLength) 39 | { 40 | [invocation getReturnValue:&callBackObject]; 41 | } 42 | return callBackObject; 43 | } 44 | 45 | } 46 | @end 47 | -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_box_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_box_off.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_box_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_box_off@2x.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_box_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_box_on.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_box_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_box_on@2x.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_dark_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_dark_off.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_dark_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_dark_off@2x.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_dark_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_dark_on.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_dark_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_dark_on@2x.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_glossy_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_glossy_off.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_glossy_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_glossy_off@2x.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_glossy_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_glossy_on.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_glossy_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_glossy_on@2x.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_green_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_green_off.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_green_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_green_off@2x.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_green_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_green_on.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_green_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_green_on@2x.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_mono_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_mono_off.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_mono_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_mono_off@2x.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_mono_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_mono_on.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Graphics/cb_mono_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/X-Faker/UI/SSCheckBoxView/Graphics/cb_mono_on@2x.png -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Helpers/ARCMacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * ARCMacro.h 1.1 2012/05/29 https://gist.github.com/2823399 3 | * 4 | * ARCMacro.h realizes coexistence of both the ARC (Automatic 5 | * Reference Counting) mode and the Non-ARC mode of Objective-C 6 | * in the same source code. This macro works for iOS and Mac OS X. 7 | * 8 | * This is a by-product of joint research by AIST and The University of Ryukyu. 9 | * HIRANO Satoshi (AIST), NAKAMURA Morikazu (U. Ryukyu) and GUAN Senlin (U. Ryukyu) 10 | * 11 | * Author: HIRANO Satoshi (AIST, Japan) on 2011/11/14 12 | * Copyright 2011-2012 National Institute of Advanced Industrial Science 13 | * and Technology (AIST), Japan. Apache License 2.0. 14 | * 15 | * Usage: 16 | * #import "ARCMacro.h" 17 | * [o1 RETAIN]; 18 | * o2 = [[o3 RETAIN] AUTORELEASE]; 19 | * [super DEALLOC]; 20 | */ 21 | 22 | #if __has_feature(objc_arc) 23 | #define RETAIN self 24 | #define AUTORELEASE self 25 | #define RELEASE self 26 | #define DEALLOC self 27 | #else 28 | #define RETAIN retain 29 | #define AUTORELEASE autorelease 30 | #define RELEASE release 31 | #define DEALLOC dealloc 32 | #endif 33 | -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Helpers/UIHelpers.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | Copyright 2011 Ahmet Ardal 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"); 6 | you may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | */ 17 | 18 | // 19 | // UIHelpers.h 20 | // Trendle 21 | // 22 | // Created by Ahmet Ardal on 6/25/10. 23 | // Copyright 2010 SpinningSphere Labs. All rights reserved. 24 | // 25 | 26 | #import 27 | 28 | 29 | #pragma mark - 30 | #pragma mark Common Macro Definitions 31 | 32 | #define RgbHex2UIColor(r, g, b) [UIColor colorWithRed:((r) / 256.0) green:((g) / 256.0) blue:((b) / 256.0) alpha:1.0] 33 | #define RgbHex2UIColorWithAlpha(r, g, b, a) [UIColor colorWithRed:((r) / 256.0) green:((g) / 256.0) blue:((b) / 256.0) alpha:(a)] 34 | #define CArrayLength(arr) (sizeof(arr) / sizeof(*(arr))) 35 | #define GetStringFromCArraySafely(arr, idx) (((idx) >= 0) && (((idx) < CArrayLength(arr))) ? (arr)[idx] : @"") 36 | #define GetNumberFromCArraySafely(arr, idx) (((idx) >= 0) && (((idx) < CArrayLength(arr))) ? (arr)[idx] : 0) 37 | #define NSNumWithInt(i) ([NSNumber numberWithInt:(i)]) 38 | #define NSNumWithFloat(f) ([NSNumber numberWithFloat:(f)]) 39 | #define NSNumWithBool(b) ([NSNumber numberWithBool:(b)]) 40 | #define IntFromNSNum(n) ([(n) intValue]) 41 | #define FloatFromNSNum(n) ([(n) floatValue]) 42 | #define BoolFromNSNum(n) ([(n) boolValue]) 43 | #define ToString(o) [NSString stringWithFormat:@"%@", (o)] 44 | // ------ 45 | #define ContinueIf(expr) if ((expr)) { continue; } 46 | #define BreakIf(expr) if ((expr)) { break; } 47 | #define ReturnIf(expr) if ((expr)) { return; } 48 | #define ReturnValIf(expr, val) if ((expr)) { return (val); } 49 | #define ContinueIfNot(expr) if (!(expr)) { continue; } 50 | #define BreakIfNot(expr) if (!(expr)) { break; } 51 | #define ReturnIfNot(expr) if (!(expr)) { return; } 52 | #define ReturnValIfNot(expr, val) if (!(expr)) { return (val); } 53 | // ------ 54 | 55 | @interface UIHelpers: NSObject 56 | { 57 | } 58 | 59 | + (void) showAlertWithTitle:(NSString *)title; 60 | + (void) showAlertWithTitle:(NSString *)title 61 | msg:(NSString *)msg; 62 | + (void) showAlertWithTitle:(NSString *)title 63 | msg:(NSString *)msg 64 | buttonTitle:(NSString *)btnTitle; 65 | 66 | @end 67 | -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/Helpers/UIHelpers.m: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | Copyright 2011 Ahmet Ardal 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"); 6 | you may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | */ 17 | 18 | // 19 | // UIHelpers.m 20 | // Trendle 21 | // 22 | // Created by Ahmet Ardal on 6/25/10. 23 | // Copyright 2010 SpinningSphere Labs. All rights reserved. 24 | // 25 | 26 | #import "UIHelpers.h" 27 | 28 | @implementation UIHelpers 29 | 30 | #pragma mark - 31 | #pragma mark UIAlertView showing Methods 32 | 33 | + (void) showAlertWithTitle:(NSString *)title 34 | msg:(NSString *)msg 35 | buttonTitle:(NSString *)btnTitle 36 | { 37 | UIAlertView *av = [[UIAlertView alloc] initWithTitle:title 38 | message:msg 39 | delegate:nil 40 | cancelButtonTitle:btnTitle 41 | otherButtonTitles:nil]; 42 | [av show]; 43 | } 44 | 45 | + (void) showAlertWithTitle:(NSString *)title 46 | { 47 | [UIHelpers showAlertWithTitle:title 48 | msg:nil 49 | buttonTitle:NSLocalizedString(@"OK", @"ok")]; 50 | } 51 | 52 | + (void) showAlertWithTitle:(NSString *)title 53 | msg:(NSString *)msg 54 | { 55 | [UIHelpers showAlertWithTitle:title 56 | msg:msg 57 | buttonTitle:NSLocalizedString(@"OK", @"ok")]; 58 | } 59 | 60 | @end 61 | -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/SSCheckBoxView.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | Copyright 2011 Ahmet Ardal 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"); 6 | you may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | */ 17 | 18 | // 19 | // SSCheckBoxView.h 20 | // SSCheckBoxView 21 | // 22 | // Created by Ahmet Ardal on 12/6/11. 23 | // Copyright 2011 SpinningSphere Labs. All rights reserved. 24 | // 25 | 26 | #import 27 | 28 | typedef enum SSCheckBoxViewStyle_ { 29 | kSSCheckBoxViewStyleBox = 0, 30 | kSSCheckBoxViewStyleDark, 31 | kSSCheckBoxViewStyleGlossy, 32 | kSSCheckBoxViewStyleGreen, 33 | kSSCheckBoxViewStyleMono, 34 | 35 | kSSCheckBoxViewStylesCount 36 | } SSCheckBoxViewStyle; 37 | 38 | @interface SSCheckBoxView: UIView 39 | { 40 | SSCheckBoxViewStyle style; 41 | BOOL checked; 42 | BOOL enabled; 43 | 44 | UIImageView *checkBoxImageView; 45 | UILabel *textLabel; 46 | 47 | /* Called when check box changes state if it's set to some 48 | * value by calling setStateChangedTarget:selector: 49 | * This method should have the following signature: 50 | * - (void) checkBoxViewChangedState:(SSCheckBoxView *)cbv; 51 | */ 52 | SEL stateChangedSelector; 53 | id delegate; 54 | 55 | void (^stateChangedBlock)(SSCheckBoxView *cbv); 56 | } 57 | 58 | @property (nonatomic, readonly) SSCheckBoxViewStyle style; 59 | @property (nonatomic, readonly) BOOL checked; 60 | @property (nonatomic, getter=enabled, setter=setEnabled:) BOOL enabled; 61 | @property (nonatomic, copy) void (^stateChangedBlock)(SSCheckBoxView *cbv); 62 | @property (nonatomic, retain) UILabel *textLabel; 63 | 64 | - (id) initWithFrame:(CGRect)frame 65 | style:(SSCheckBoxViewStyle)aStyle 66 | checked:(BOOL)aChecked; 67 | 68 | - (void) setText:(NSString *)text; 69 | 70 | - (void) setChecked:(BOOL)isChecked; 71 | 72 | - (void) setStateChangedTarget:(id)target 73 | selector:(SEL)selector; 74 | 75 | @end 76 | -------------------------------------------------------------------------------- /X-Faker/UI/SSCheckBoxView/SSCheckBoxView.m: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | Copyright 2011 Ahmet Ardal 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"); 6 | you may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | */ 17 | 18 | // 19 | // SSCheckBoxView.m 20 | // SSCheckBoxView 21 | // 22 | // Created by Ahmet Ardal on 12/6/11. 23 | // Copyright 2011 SpinningSphere Labs. All rights reserved. 24 | // 25 | 26 | #pragma clang diagnostic ignored "-Warc-performSelector-leaks" 27 | 28 | #import "SSCheckBoxView.h" 29 | #import "UIHelpers.h" 30 | #import "ARCMacro.h" 31 | 32 | static const CGFloat kHeight = 36.0f; 33 | 34 | @interface SSCheckBoxView(Private) 35 | - (UIImage *) checkBoxImageForStyle:(SSCheckBoxViewStyle)s 36 | checked:(BOOL)isChecked; 37 | - (CGRect) imageViewFrameForCheckBoxImage:(UIImage *)img; 38 | - (void) updateCheckBoxImage; 39 | @end 40 | 41 | @implementation SSCheckBoxView 42 | 43 | @synthesize style, checked, enabled, textLabel; 44 | @synthesize stateChangedBlock; 45 | 46 | - (id) initWithFrame:(CGRect)frame 47 | style:(SSCheckBoxViewStyle)aStyle 48 | checked:(BOOL)aChecked 49 | { 50 | frame.size.height = kHeight; 51 | if (!(self = [super initWithFrame:frame])) { 52 | return self; 53 | } 54 | 55 | stateChangedSelector = nil; 56 | self.stateChangedBlock = nil; 57 | delegate = nil; 58 | style = aStyle; 59 | checked = aChecked; 60 | self.enabled = YES; 61 | 62 | self.userInteractionEnabled = YES; 63 | self.backgroundColor = [UIColor clearColor]; 64 | 65 | CGRect labelFrame = CGRectMake(32.0f, 7.0f, self.frame.size.width - 32, 20.0f); 66 | UILabel *l = [[UILabel alloc] initWithFrame:labelFrame]; 67 | l.textAlignment = UITextAlignmentLeft; 68 | l.backgroundColor = [UIColor clearColor]; 69 | l.font = [UIFont fontWithName:@"Helvetica-Bold" size:15]; 70 | l.textColor = RgbHex2UIColor(0x2E, 0x2E, 0x2E); 71 | l.autoresizingMask = UIViewAutoresizingFlexibleWidth; 72 | l.shadowColor = [UIColor whiteColor]; 73 | l.shadowOffset = CGSizeMake(0, 1); 74 | [self addSubview:l]; 75 | self.textLabel = l; 76 | [l RELEASE]; 77 | 78 | UIImage *img = [self checkBoxImageForStyle:style checked:checked]; 79 | CGRect imageViewFrame = [self imageViewFrameForCheckBoxImage:img]; 80 | UIImageView *iv = [[UIImageView alloc] initWithFrame:imageViewFrame]; 81 | iv.image = img; 82 | [self addSubview:iv]; 83 | checkBoxImageView = iv; 84 | 85 | return self; 86 | } 87 | 88 | - (void) dealloc 89 | { 90 | [self.stateChangedBlock RELEASE]; 91 | [checkBoxImageView RELEASE]; 92 | [textLabel RELEASE]; 93 | [super DEALLOC]; 94 | } 95 | 96 | - (void) setEnabled:(BOOL)isEnabled 97 | { 98 | textLabel.enabled = isEnabled; 99 | enabled = isEnabled; 100 | checkBoxImageView.alpha = isEnabled ? 1.0f: 0.6f; 101 | } 102 | 103 | - (BOOL) enabled 104 | { 105 | return enabled; 106 | } 107 | 108 | - (void) setText:(NSString *)text 109 | { 110 | [textLabel setText:text]; 111 | } 112 | 113 | - (void) setChecked:(BOOL)isChecked 114 | { 115 | checked = isChecked; 116 | [self updateCheckBoxImage]; 117 | } 118 | 119 | - (void) setStateChangedTarget:(id)target 120 | selector:(SEL)selector 121 | { 122 | delegate = target; 123 | stateChangedSelector = selector; 124 | } 125 | 126 | 127 | #pragma mark - Touch-related Methods 128 | 129 | - (void) touchesBegan:(NSSet *)touches 130 | withEvent:(UIEvent *)event 131 | { 132 | if (!enabled) { 133 | return; 134 | } 135 | 136 | self.alpha = 0.8f; 137 | [super touchesBegan:touches withEvent:event]; 138 | } 139 | 140 | - (void) touchesCancelled:(NSSet *)touches 141 | withEvent:(UIEvent *)event 142 | { 143 | if (!enabled) { 144 | return; 145 | } 146 | 147 | self.alpha = 1.0f; 148 | [super touchesCancelled:touches withEvent:event]; 149 | } 150 | 151 | - (void) touchesEnded:(NSSet *)touches 152 | withEvent:(UIEvent *)event 153 | { 154 | if (!enabled) { 155 | return; 156 | } 157 | 158 | // restore alpha 159 | self.alpha = 1.0f; 160 | 161 | // check touch up inside 162 | if ([self superview]) { 163 | UITouch *touch = [touches anyObject]; 164 | CGPoint point = [touch locationInView:[self superview]]; 165 | CGRect validTouchArea = CGRectMake((self.frame.origin.x - 5), 166 | (self.frame.origin.y - 10), 167 | (self.frame.size.width + 5), 168 | (self.frame.size.height + 10)); 169 | if (CGRectContainsPoint(validTouchArea, point)) { 170 | checked = !checked; 171 | [self updateCheckBoxImage]; 172 | if (delegate && stateChangedSelector) { 173 | [delegate performSelector:stateChangedSelector withObject:self]; 174 | } 175 | else if (stateChangedBlock) { 176 | stateChangedBlock(self); 177 | } 178 | } 179 | } 180 | 181 | [super touchesEnded:touches withEvent:event]; 182 | } 183 | 184 | - (BOOL) canBecomeFirstResponder 185 | { 186 | return YES; 187 | } 188 | 189 | 190 | #pragma mark - Private Methods 191 | 192 | - (UIImage *) checkBoxImageForStyle:(SSCheckBoxViewStyle)s 193 | checked:(BOOL)isChecked 194 | { 195 | NSString *suffix = isChecked ? @"on" : @"off"; 196 | NSString *imageName = @""; 197 | switch (s) { 198 | case kSSCheckBoxViewStyleBox: 199 | imageName = @"cb_box_"; 200 | break; 201 | case kSSCheckBoxViewStyleDark: 202 | imageName = @"cb_dark_"; 203 | break; 204 | case kSSCheckBoxViewStyleGlossy: 205 | imageName = @"cb_glossy_"; 206 | break; 207 | case kSSCheckBoxViewStyleGreen: 208 | imageName = @"cb_green_"; 209 | break; 210 | case kSSCheckBoxViewStyleMono: 211 | imageName = @"cb_mono_"; 212 | break; 213 | default: 214 | return nil; 215 | } 216 | imageName = [NSString stringWithFormat:@"%@%@", imageName, suffix]; 217 | return [UIImage imageNamed:imageName]; 218 | } 219 | 220 | - (CGRect) imageViewFrameForCheckBoxImage:(UIImage *)img 221 | { 222 | CGFloat y = floorf((kHeight - img.size.height) / 2.0f); 223 | return CGRectMake(5.0f, y, img.size.width, img.size.height); 224 | } 225 | 226 | - (void) updateCheckBoxImage 227 | { 228 | checkBoxImageView.image = [self checkBoxImageForStyle:style 229 | checked:checked]; 230 | } 231 | 232 | @end 233 | -------------------------------------------------------------------------------- /X-Faker/Utils/BirdFakerUtils.h: -------------------------------------------------------------------------------- 1 | // 2 | // BirdFakerUtils.h 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/16. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface WIM_BirdFakerUtils : NSObject 12 | 13 | + (instancetype)sharedInstance; 14 | + (_Bool)dx_isNullOrNilWithObject:(id)arg1; 15 | + (id)getAppBundlePathByBundleId:(id)arg1 choosedAppInfoDictionary:(id)arg2; 16 | + (id)getAutoKKKKKK; 17 | + (id)getDefaultKKKKKK; 18 | + (_Bool)isCanConnectServer; 19 | + (void)setAutoED:(id)arg1 dd:(id)arg2; 20 | + (void)setAutoKKKKKK:(id)arg1 key:(id)arg2; 21 | - (id)BFErdXtGxBzJjYVU; 22 | - (id)LbPzuqMbDtYUeXdW; 23 | - (id)choosedAppInfoDictionary:(id)arg1; 24 | - (id)ekdfrOLMBOUUTFom:(id)arg1; 25 | - (id)filesByCreateDate:(id)arg1; 26 | - (id)getAPPGroup_Random_DirName_byBundleId2:(id)arg1; 27 | - (id)getAPPGroup_Random_DirName_byBundleId:(id)arg1 choosedAppInfoDictionary:(id)arg2; 28 | - (id)getAPPGroup_Random_DirPath_byBundleId:(id)arg1 choosedAppInfoDictionary:(id)arg2; 29 | - (id)getAPPGroup_Random_DirPath_byBundleIdIOS7:(id)arg1 choosedAppInfoDictionary:(id)arg2; 30 | - (id)getAPP_Random_DirName_byBundleId:(id)arg1 choosedAppInfoDictionary:(id)arg2; 31 | - (id)getAPP_Random_DirPath_byBundleId:(id)arg1 choosedAppInfoDictionary:(id)arg2; 32 | - (id)getAllAppInfoDictionary; 33 | - (id)getAppNameByBundleId:(id)arg1 choosedAppInfoDictionary:(id)arg2; 34 | - (id)getAppNameByBundleId_from_DataFile:(id)arg1 choosedAppInfoDictionary:(id)arg2; 35 | - (id)getBackupDateDirList; 36 | - (id)getBackupDateDirListByCreateDate; 37 | - (id)getBackupDateDirListByFileName; 38 | - (id)getBackupDateDirListByUpdateDate; 39 | - (id)getLatitudeWithJingdu:(id)arg1 randomNum:(int)arg2 settingsInfo:(id)arg3; 40 | - (id)getLocationByIp; 41 | - (id)getLongitudeWithJingdu:(id)arg1 randomNum:(int)arg2 settingsInfo:(id)arg3; 42 | - (NSString *) getValueByBundleIdAndKey:(NSString *)bundleID key:(id)a4 choosedAppInfoDictionary:(NSDictionary *)Dict; 43 | - (id)isAppDataOk:(id)arg1 choosedAppInfoDictionary:(id)arg2; 44 | - (id)runningProcesses; 45 | @end 46 | -------------------------------------------------------------------------------- /X-Faker/Utils/BirdFakerUtils.m: -------------------------------------------------------------------------------- 1 | // 2 | // BirdFakerUtils.m 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/16. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import "BirdFakerUtils.h" 10 | 11 | @implementation WIM_BirdFakerUtils 12 | 13 | 14 | + (instancetype)sharedInstance { 15 | static dispatch_once_t onceToken; 16 | static WIM_BirdFakerUtils *dUtil = nil; 17 | dispatch_once(&onceToken, ^{ 18 | dUtil = [[WIM_BirdFakerUtils alloc] init]; 19 | }); 20 | 21 | return dUtil; 22 | } 23 | 24 | -(NSString *) getValueByBundleIdAndKey:(NSString *)bundleID key:(id)a4 choosedAppInfoDictionary:(NSDictionary *)Dict{ 25 | NSString * retStr =[[NSString alloc] init]; 26 | 27 | for (NSDictionary* item in Dict) { 28 | NSString *bundleidStr = [item objectForKey:@"bundleid"]; 29 | if ([bundleidStr isEqualToString:bundleID]) { 30 | NSString *keyStr =[item objectForKey:a4]; 31 | if (keyStr) { 32 | retStr = keyStr; 33 | } 34 | } 35 | } 36 | return retStr; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /X-Faker/Utils/BrowseAllInstalledApplication.h: -------------------------------------------------------------------------------- 1 | // 2 | // BrowseAllInstalledApplication.h 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/20. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface WIM_BrowseAllInstalledApplication : NSObject 12 | 13 | 14 | 15 | + (id)RxtCydFysivAqliu:(id)arg1; 16 | + (NSArray *)browseInstalledAppLisWithSystemApp; 17 | + (id)rZfhyJIIExroWxWw; 18 | @end 19 | -------------------------------------------------------------------------------- /X-Faker/Utils/BrowseAllInstalledApplication.m: -------------------------------------------------------------------------------- 1 | // 2 | // BrowseAllInstalledApplication.m 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/20. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import "BrowseAllInstalledApplication.h" 10 | 11 | @implementation WIM_BrowseAllInstalledApplication 12 | 13 | 14 | 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /X-Faker/Utils/ClearHelper.h: -------------------------------------------------------------------------------- 1 | // 2 | // ClearHelper.h 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/19. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @class NSMutableDictionary, NSString; 13 | 14 | __attribute__((visibility("hidden"))) 15 | @interface WIM_ClearHelper : NSObject 16 | { 17 | NSString *_app_name_path; 18 | NSString *_app_bundle_path; 19 | NSString *_locationName; 20 | NSMutableDictionary *_randomParams_settingDic; 21 | } 22 | 23 | @property(retain) NSMutableDictionary *randomParams_settingDic; // @synthesize randomParams_settingDic=_randomParams_settingDic; 24 | @property(retain) NSString *locationName; // @synthesize locationName=_locationName; 25 | @property(retain) NSString *app_bundle_path; // @synthesize app_bundle_path=_app_bundle_path; 26 | @property(retain) NSString *app_name_path; // @synthesize app_name_path=_app_name_path; 27 | + (instancetype)sharedInstance; 28 | - (void)killTwoProcess; 29 | 30 | - (void)NgLoxniRqLHaNHYP:(id)arg1; 31 | - (_Bool)sHdldTyHrAxoBNSy:(id)arg1; 32 | - (_Bool)GsHtzXCukAVZeLcX:(id)arg1 choosedAppInfoDictionary:(id)arg2; 33 | - (_Bool)cySkXEGcEKKBddWD:(id)arg1 fileManager:(id)arg2 dontEmptyFilesNames:(id)arg3; 34 | - (_Bool)YnMVSxfsrGhtrwZX:(id)arg1; 35 | - (_Bool)WjxVHZUXTgBMgluQ:(id)arg1 desPath:(id)arg2; 36 | - (_Bool)qKAOSYaKkecEhTdI:(id)arg1 desPath:(id)arg2; 37 | - (_Bool)tgkMKPgoieoBkaod:(id)arg1 desPath:(id)arg2; 38 | - (id)runningProcesses; 39 | - (_Bool)DmTfTYUCvovwIPtn:(id)arg1; 40 | - (id)IBDhdkZJhzdIaBCP:(id)arg1; 41 | - (id)ytqiIpjsnYDTtQmS:(id)arg1; 42 | - (_Bool)isBlankString:(id)arg1; 43 | - (_Bool)RIqrFuKwaXxJLLfN:(id)arg1 sri:(id)arg2 udid:(id)arg3 nickNameStr:(id)arg4 macStr:(id)arg5 paramsFileNameNosubfix:(id)arg6; 44 | - (_Bool)ReCSdpHRwXajRFdI:(id)arg1 sri:(id)arg2 udid:(id)arg3 nickNameStr:(id)arg4 macStr:(id)arg5 paramsFileNameNosubfix:(id)arg6; 45 | - (void)doData:(int)arg1 olddic:(id)arg2 key:(id)arg3 stmt:(struct sqlite3_stmt *)arg4; 46 | - (_Bool)tWsyCHNbxFlbemzy:(id)arg1 desFilePath:(id)arg2; 47 | - (void)IqKgHntmRsLOdDIU; 48 | - (void)customer_delete_filePath; 49 | - (_Bool)mergeKeycahinWal; 50 | - (_Bool)jcJRupGkSfglqpsq:(id)arg1; 51 | - (_Bool)UEeNqhfOadFyBVbf; 52 | - (_Bool)wCUmjbqCbeZMgjzm; 53 | - (_Bool)kwFIVJZcDowWYVeM:(NSString *)path fileManager:(NSFileManager *)fm; 54 | - (void)SYkPrjucPyUwXjbY; 55 | - (NSMutableArray *)kJOafYNkORgfdIkj:(NSString *)arg1; 56 | - (float)mhvQjzcEHXGpLfMs:(id)arg1; 57 | - (long long)NdLcFYIKNEBsCbiM:(id)arg1; 58 | - (_Bool)moveDirToOtherPlace:(id)arg1 desPath:(id)arg2 isMustMove:(_Bool)arg3; 59 | - (_Bool)backupOneAppInfoByCopy:(id)arg1 bundleId:(id)arg2 choosedAppInfoDictionary:(id)arg3 backup_appGroupPath:(id)arg4 backup_appPath:(id)arg5; 60 | - (_Bool)vMEasOSLcpHLrLob:(id)arg1 bundleId:(id)arg2 choosedAppInfoDictionary:(id)arg3 backup_appGroupPath:(id)arg4 backup_appPath:(id)arg5; 61 | - (_Bool)xeZJIASwklrlVJDP:(id)arg1 backup_appPath:(id)arg2 choosedAPPBundlesArray:(id)arg3 plistPath:(id)arg4 plistDict:(id)arg5; 62 | - (void)vPzKgkkueCdlQoMz:(id)arg1; 63 | - (_Bool)KPTpwOKWlOEnhhEC; 64 | - (_Bool)HapxwEsqsEKhoyCN; 65 | - (_Bool)wIHOHydDoolvxrdD:(id)arg1 owner:(id)arg2 ownerGroup:(id)arg3; 66 | - (_Bool)KTyKvIYAPWBLFrZa:(id)arg1; 67 | 68 | //清理cookie 69 | - (_Bool)sJFoURBOtHmrutgZ; 70 | - (_Bool)OmwiUsMqcZqCHiUo; 71 | - (_Bool)rFVarJnvgiBZajpg:(id)arg1; 72 | 73 | @end 74 | 75 | -------------------------------------------------------------------------------- /X-Faker/Utils/ClearHelper.m: -------------------------------------------------------------------------------- 1 | // 2 | // ClearHelper.m 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/19. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import "ClearHelper.h" 10 | 11 | @implementation WIM_ClearHelper 12 | 13 | 14 | 15 | + (instancetype)sharedInstance { 16 | static dispatch_once_t onceToken; 17 | static WIM_ClearHelper *dUtil = nil; 18 | dispatch_once(&onceToken, ^{ 19 | //dUtil = [[WIM_ClearHelper alloc] init]; 20 | dUtil = NSClassFromString(@"ClearHelper"); 21 | }); 22 | 23 | return dUtil; 24 | } 25 | 26 | //- (NSMutableArray *)kJOafYNkORgfdIkj:(NSString *)arg1{ 27 | // NSFileManager *fm =[NSFileManager defaultManager]; 28 | // NSMutableArray *mArr = [[NSMutableArray alloc] initWithArray:[fm contentsOfDirectoryAtPath:arg1 error:nil]]; 29 | // return mArr; 30 | //} 31 | // 32 | //- (void)NgLoxniRqLHaNHYP:(id)arg1{ 33 | // NSString *str_v1 =[WIM_Constants qxrnrEEOKZPjKpQh]; 34 | // NSDictionary *dict_v1 =[[NSDictionary alloc] initWithContentsOfFile:str_v1]; 35 | // [WIM_Constants vPzKgkkueCdlQoMz:@"清理cookie...."]; 36 | // if (dict_v1) { 37 | // NSString *str_v2 = [dict_v1 objectForKey:@"clearsafari"]; 38 | // if (str_v2) { 39 | // if ([str_v2 isEqualToString:@"YES"]) { 40 | // [self sJFoURBOtHmrutgZ]; // 41 | // } 42 | // } 43 | // } 44 | // [self wCUmjbqCbeZMgjzm]; 45 | // [WIM_Constants vPzKgkkueCdlQoMz:@"清理pastboard....."]; 46 | // if (dict_v1) { 47 | // NSString *str_v2 = [dict_v1 objectForKey:@"cleanpastboard"]; 48 | // if (str_v2) { 49 | // if ([str_v2 isEqualToString:@"YES"]) { 50 | // [self UEeNqhfOadFyBVbf]; 51 | // } 52 | // } 53 | // } 54 | // [WIM_Constants vPzKgkkueCdlQoMz:@"清理keychain....."]; 55 | // [self jcJRupGkSfglqpsq:arg1]; 56 | // 57 | //} 58 | // 59 | //- (_Bool)sJFoURBOtHmrutgZ{ 60 | // [self OmwiUsMqcZqCHiUo]; 61 | // NSFileManager *fm =[NSFileManager defaultManager]; 62 | // int sysVer = [WIM_DeviceInfo systemVersion_big]; 63 | // if ((unsigned int)(sysVer-8)<3){ 64 | // [self kwFIVJZcDowWYVeM:@"/var/mobile/Library/Caches/com.apple.mobilesafari" fileManager:fm]; 65 | // [self kwFIVJZcDowWYVeM:@"/var/mobile/Library/Caches/Safari" fileManager:fm]; 66 | // [self kwFIVJZcDowWYVeM:@"/var/mobile/Library/Safari" fileManager:fm]; 67 | // [self kwFIVJZcDowWYVeM:@"/var/mobile/Library/WebKit" fileManager:fm]; 68 | // //system("rm /var/mobile/Library/Safari/History.plist"); 69 | // //system("rm /var/mobile/Library/Safari/SuspendState.plist"); 70 | // run_cmd("rm /var/mobile/Library/Safari/History.plist"); 71 | // run_cmd("rm /var/mobile/Library/Safari/SuspendState.plist"); 72 | // NSString *str_v1 =[[NSString alloc] init]; 73 | // NSArray *Arr_v1 = [WIM_BrowseAllInstalledApplication browseInstalledAppLisWithSystemApp]; 74 | // for (NSDictionary *item in Arr_v1) { 75 | // NSString *str_v2 = [item objectForKey:@"bundleid"]; 76 | // if (str_v2 && [str_v2 isEqualToString:@"com.apple.mobilesafari"]) { 77 | // NSString *str_v3 = [[item objectForKey:@"appStoreReceiptURL"] absoluteString]; 78 | // NSArray *arr_v2 = [str_v3 componentsSeparatedByString:@"/private"]; 79 | // NSString *str_v4 = [arr_v2 objectAtIndexedSubscript:1]; 80 | // NSArray *arr_v3 = [str_v4 componentsSeparatedByString:@"/StoreKit/"]; 81 | // str_v1 =[arr_v3 objectAtIndexedSubscript:0]; 82 | // } 83 | // } 84 | // if (str_v1 && [str_v1 length]) { 85 | // NSString *str_l1 = [str_v1 stringByAppendingString:@"/Library"]; 86 | // [self kwFIVJZcDowWYVeM:str_l1 fileManager:fm]; 87 | // NSString *str_l2 = [str_v1 stringByAppendingString:@"/Documents"]; 88 | // [self kwFIVJZcDowWYVeM:str_l1 fileManager:fm]; 89 | // NSString *str_l3 = [str_v1 stringByAppendingString:@"/tmp"]; 90 | // [self kwFIVJZcDowWYVeM:str_l1 fileManager:fm]; 91 | // } 92 | // 93 | // } 94 | // if (sysVer == 7) { 95 | // [fm removeItemAtPath:@"/var/mobile/Library/Safari/History.plist" error:nil]; 96 | // [fm removeItemAtPath:@"/var/mobile/Library/Safari/SuspendState.plist" error:nil]; 97 | // return true; 98 | // } 99 | // return false; 100 | //} 101 | // 102 | // 103 | //- (_Bool)kwFIVJZcDowWYVeM:(NSString *)path fileManager:(NSFileManager *)fm{ 104 | // WIM_FileHelper *fileH = [WIM_FileHelper sharedInstance]; 105 | // if ([fileH isDirectoryExit:path]) { 106 | // NSMutableArray *arry = [self kJOafYNkORgfdIkj:path]; 107 | // for (NSString *item in arry) { 108 | // NSString *str_v1 = [[NSString alloc] initWithFormat:@"%@/%@",path,item]; 109 | // [fm removeItemAtPath:str_v1 error:nil]; 110 | // } 111 | // } 112 | // return true; 113 | //} 114 | // 115 | //- (void)killTwoProcess{ 116 | // NSString *str_v1 = [EncryptUtil1 vHCspdGrJYjXlaGh:@"txqqMyL6gpStQzmWzU7UBBGRv2FRf+xo"]; 117 | // run_cmd([str_v1 UTF8String]); 118 | // NSString *str_v2 = [EncryptUtil1 vHCspdGrJYjXlaGh:@"txqqMyL6gpRaukQGbUhN7qKIJD6lgZVH"]; 119 | // run_cmd([str_v2 UTF8String]); 120 | //} 121 | @end 122 | -------------------------------------------------------------------------------- /X-Faker/Utils/Constants.h: -------------------------------------------------------------------------------- 1 | // 2 | // Constants.h 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/17. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface WIM_Constants : NSObject 12 | 13 | + (NSString *)getBackupTopedArrayPath; 14 | + (NSString *)getCustomJixingPath; 15 | + (NSString *)getCustomSysVersionsPath; 16 | + (NSString *)randomJixingItouchPath; 17 | + (NSString *)randomJixingIpadPath; 18 | + (NSString *)randomJixingIphoneIOS8Path; 19 | + (NSString *)randomJixingIphoneIOSOtherPath; 20 | + (NSString *)locationHistoryPath; 21 | + (void)writeToBirdFakerResultFile:(id)arg1; 22 | + (void)deleteBirdFakerResultFile; 23 | + (NSString *)accountCachePath; 24 | + (NSString *)wx62dataOutputPath; 25 | + (NSString *)wx62dataImportPath; 26 | + (NSString *)getTempPlistPath; 27 | //日志记录函数 28 | + (void)vPzKgkkueCdlQoMz:(NSString *)arg1; 29 | + (NSString *)getBirdFaker_NeedBackup_BundleIds_File_Path; 30 | + (NSString *)RewuEHyIVVNKhqFS; 31 | + (NSString *)getBirdFaker_randomParams_setting_path; 32 | + (NSString *)qxrnrEEOKZPjKpQh; 33 | + (NSString *)cWcERBwbrvyPMjDy; 34 | + (NSString *)FVsaeZLIAOUOenvc; 35 | + (NSString *)FSLUMfjGywFpHmle; 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /X-Faker/Utils/Constants.m: -------------------------------------------------------------------------------- 1 | // 2 | // Constants.m 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/17. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import "Constants.h" 10 | #import "EncryptUtil.h" 11 | 12 | @implementation WIM_Constants :NSObject 13 | 14 | + (instancetype)sharedInstance { 15 | static dispatch_once_t onceToken; 16 | static WIM_Constants *dUtil = nil; 17 | dispatch_once(&onceToken, ^{ 18 | dUtil = [[WIM_Constants alloc] init]; 19 | }); 20 | 21 | return dUtil; 22 | } 23 | 24 | //日志记录 25 | + (void)vPzKgkkueCdlQoMz:(NSString *)arg1{ 26 | 27 | return; 28 | } 29 | + (NSString *) FSLUMfjGywFpHmle{ 30 | 31 | return @"http://www.taobaoer.cc/forgeManage/mobile/"; 32 | 33 | } 34 | + (NSString *) FVsaeZLIAOUOenvc{ 35 | return [EncryptUtil1 vHCspdGrJYjXlaGh:@"AGgBM35AzmftIjky+tB16wEON/3lUNNkzYSPuOle1v9ucxiZbfoRn7s6YeWmQrkZ"]; 36 | } 37 | + (NSString *) cWcERBwbrvyPMjDy 38 | { 39 | return [EncryptUtil1 vHCspdGrJYjXlaGh:@"AGgBM35AzmftIjky+tB16wEON/3lUNNkzYSPuOle1v9ucxiZbfoRn1Bskn5+tLH9ymM7uvZ6aj0="]; 40 | } 41 | + (NSString *) qxrnrEEOKZPjKpQh 42 | { 43 | return [EncryptUtil1 vHCspdGrJYjXlaGh:@"AGgBM35AzmftIjky+tB16wEON/3lUNNkzYSPuOle1v9ucxiZbfoRn1abDAmAq5GQVQhuqsNWezoo3c1j4JGOjjoBCLFHMuO7QAjBEsEe7P0="]; 44 | } 45 | 46 | + (NSString *) getBirdFaker_randomParams_setting_path 47 | { 48 | return [EncryptUtil1 vHCspdGrJYjXlaGh:@"AGgBM35AzmftIjky+tB16wEON/3lUNNkzYSPuOle1v9ucxiZbfoRn1abDAmAq5GQSCjdAAslvrrrGrUM5b7xNgiyVWLMeKFM"]; 49 | } 50 | 51 | + (NSString *) RewuEHyIVVNKhqFS 52 | { 53 | return [EncryptUtil1 vHCspdGrJYjXlaGh:@"AGgBM35AzmftIjky+tB16wEON/3lUNNkzYSPuOle1v9ucxiZbfoRn1abDAmAq5GQNXZkVvADtAtYrO1Y7IA9WnNM+zwJf6cJ"]; 54 | } 55 | + (NSString *) getBirdFaker_NeedBackup_BundleIds_File_Path 56 | { 57 | return [EncryptUtil1 vHCspdGrJYjXlaGh:@"AGgBM35AzmftIjky+tB16wEON/3lUNNkzYSPuOle1v9ucxiZbfoRn1Bskn5+tLH9LwdZ5b/QSc992Ereyo83vw=="]; 58 | } 59 | 60 | + (NSString *) getTempPlistPath 61 | { 62 | return [EncryptUtil1 vHCspdGrJYjXlaGh:@"AGgBM35AzmftIjky+tB16wEON/3lUNNkzYSPuOle1v9ucxiZbfoRn8HA4veXqyVdbrithb4jaY0="]; 63 | } 64 | 65 | + (NSString *)wx62dataImportPath 66 | { 67 | return [EncryptUtil1 vHCspdGrJYjXlaGh:@"AGgBM35AzmftIjky+tB16wEON/3lUNNkzYSPuOle1v9ucxiZbfoRn5zMtaFvDWBO7qygz8f5ocUh2AVXzK5rvw=="]; 68 | } 69 | + (NSString *)wx62dataOutputPath 70 | { 71 | return [EncryptUtil1 vHCspdGrJYjXlaGh:@"AGgBM35AzmftIjky+tB16wEON/3lUNNkzYSPuOle1v9ucxiZbfoRn5zMtaFvDWBO7qygz8f5ocUtWf/jhf7Eaw=="]; 72 | } 73 | + (NSString *)accountCachePath 74 | { 75 | return [EncryptUtil1 vHCspdGrJYjXlaGh:@"AGgBM35AzmftIjky+tB16wEON/3lUNNkzYSPuOle1v9ucxiZbfoRn4gUUVMWmBlA4UtIlS6n+gkmirEKGc98Ew=="]; 76 | } 77 | 78 | 79 | + (void)deleteBirdFakerResultFile 80 | { 81 | NSFileManager *v2 =nil; // x0 82 | 83 | v2 = [NSFileManager defaultManager]; 84 | [v2 removeItemAtPath:@"/var/mobile/Library/Preferences/BirdFaker/BirdFakerResult.plist" error:0]; 85 | } 86 | + (void)writeToBirdFakerResultFile: (NSString *)a3 87 | { 88 | id v3; // x19 89 | __int64 v4; // x22 90 | id v6; // x20 91 | 92 | v3 = a3; 93 | NSMutableDictionary *v5 = [[NSMutableDictionary alloc ]init]; 94 | [v5 setObject:a3 forKey:@"result"]; 95 | [v5 writeToFile:@"/var/mobile/Library/Preferences/BirdFaker/BirdFakerResult.plist" atomically:NO]; 96 | } 97 | 98 | + (NSString *)locationHistoryPath 99 | { 100 | //objc_retainAutorelease(@"/var/mobile/Library/Preferences/BirdFaker/locationHistory.plist")]; 101 | return (id)@"/var/mobile/Library/Preferences/BirdFaker/locationHistory.plist"; 102 | } 103 | 104 | + (NSString *)randomJixingIphoneIOSOtherPath 105 | { 106 | //objc_retainAutorelease(@"/var/mobile/Library/Preferences/BirdFaker/randomJixingIphoneOther.plist")]; 107 | return (id)@"/var/mobile/Library/Preferences/BirdFaker/randomJixingIphoneOther.plist"; 108 | } 109 | 110 | + (NSString *)randomJixingIphoneIOS8Path 111 | { 112 | //objc_retainAutorelease(@"/var/mobile/Library/Preferences/BirdFaker/randomJixingIphoneIOS8.plist")]; 113 | return (id)@"/var/mobile/Library/Preferences/BirdFaker/randomJixingIphoneIOS8.plist"; 114 | } 115 | + (NSString *)randomJixingIpadPath 116 | { 117 | //objc_retainAutorelease(@"/var/mobile/Library/Preferences/BirdFaker/randomJixingIpad.plist")]; 118 | return (id)@"/var/mobile/Library/Preferences/BirdFaker/randomJixingIpad.plist"; 119 | } 120 | + (NSString *)randomJixingItouchPath 121 | { 122 | //objc_retainAutorelease(@"/var/mobile/Library/Preferences/BirdFaker/randomJixingItouch.plist")]; 123 | return (id)@"/var/mobile/Library/Preferences/BirdFaker/randomJixingItouch.plist"; 124 | } 125 | + (NSString *)getCustomSysVersionsPath 126 | { 127 | //objc_retainAutorelease(@"/var/mobile/Library/Preferences/BirdFaker/customSysVersions.plist")]; 128 | return (id)@"/var/mobile/Library/Preferences/BirdFaker/customSysVersions.plist"; 129 | } 130 | 131 | + (NSString *)getCustomJixingPath 132 | { 133 | //objc_retainAutorelease(@"/var/mobile/Library/Preferences/BirdFaker/customJixing.plist")]; 134 | return (id)@"/var/mobile/Library/Preferences/BirdFaker/customJixing.plist"; 135 | } 136 | 137 | @end 138 | -------------------------------------------------------------------------------- /X-Faker/Utils/DateUtil.h: -------------------------------------------------------------------------------- 1 | // 2 | // DateUtil.h 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/16. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface WIM_DateUtil : NSObject 12 | 13 | + (instancetype)sharedInstance; 14 | - (NSDate *)dateWithString:(NSString *)arg1; 15 | - (id)getInternetDate2:(id)arg1; 16 | - (NSString *)getInternetDate:(id)arg1; 17 | - (NSString *)getNowDateStr; 18 | - (NSString *)getNowDateStr3; 19 | - (NSString *)zNLrTJXOLYObrKvO; 20 | @end 21 | -------------------------------------------------------------------------------- /X-Faker/Utils/DateUtil.m: -------------------------------------------------------------------------------- 1 | // 2 | // DateUtil.m 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/16. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import "DateUtil.h" 10 | 11 | @implementation WIM_DateUtil 12 | 13 | 14 | 15 | + (instancetype)sharedInstance { 16 | static dispatch_once_t onceToken; 17 | static WIM_DateUtil *dUtil = nil; 18 | dispatch_once(&onceToken, ^{ 19 | dUtil = [[WIM_DateUtil alloc] init]; 20 | }); 21 | 22 | return dUtil; 23 | } 24 | 25 | 26 | - (NSString *)getNowDateStr{ 27 | NSDateFormatter *dtF = [[NSDateFormatter alloc] init]; 28 | [dtF setDateFormat:@"YYYY-MM-dd-HH-mm-ss"]; 29 | return [dtF stringFromDate:[NSDate date]]; 30 | } 31 | 32 | - (NSString *)getNowDateStr3{ 33 | NSDateFormatter *dtF = [[NSDateFormatter alloc] init]; 34 | [dtF setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; 35 | return [dtF stringFromDate:[NSDate date]]; 36 | } 37 | - (NSDate *)dateWithString:(NSString *)arg1{ 38 | NSDateFormatter *dtF = [[NSDateFormatter alloc] init]; 39 | [dtF setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 40 | return [dtF dateFromString:arg1]; 41 | } 42 | 43 | 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /X-Faker/Utils/DeviceInfo.h: -------------------------------------------------------------------------------- 1 | // 2 | // DeviceInfo.h 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/20. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface WIM_DeviceInfo : NSObject 12 | + (instancetype)sharedInstance; 13 | 14 | + (double)deviceScreenHeight; 15 | + (double)deviceScreenWith; 16 | + (_Bool)isIphone; 17 | + (int)systemVersion_big; 18 | + (float)systemVersion; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /X-Faker/Utils/DeviceInfo.m: -------------------------------------------------------------------------------- 1 | // 2 | // DeviceInfo.m 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/20. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import "DeviceInfo.h" 10 | 11 | @implementation WIM_DeviceInfo 12 | 13 | 14 | + (instancetype)sharedInstance { 15 | static dispatch_once_t onceToken; 16 | static WIM_DeviceInfo *dUtil = nil; 17 | dispatch_once(&onceToken, ^{ 18 | dUtil = [[WIM_DeviceInfo alloc] init]; 19 | }); 20 | 21 | return dUtil; 22 | } 23 | 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /X-Faker/Utils/FileHelper.h: -------------------------------------------------------------------------------- 1 | // 2 | // FileHelper.h 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/19. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | __attribute__((visibility("hidden"))) 13 | @interface WIM_FileHelper : NSObject 14 | { 15 | } 16 | + (instancetype)sharedInstance; 17 | - (_Bool)wIHOHydDoolvxrdD:(id)arg1 owner:(id)arg2 ownerGroup:(id)arg3; 18 | - (_Bool)KTyKvIYAPWBLFrZa:(id)arg1; 19 | - (_Bool)isDirectoryExit:(NSString *)arg1; 20 | - (_Bool)appendDictionary:(id)arg1 dicData:(id)arg2; 21 | - (void)deleteFile:(id)arg1 fileName:(id)arg2; 22 | - (id)getFileAttriutes:(id)arg1; 23 | - (id)readFile:(id)arg1; 24 | - (void)writeFile:(id)arg1 arraycContent:(id)arg2; 25 | - (void)writeFile:(id)arg1 strcontent:(id)arg2; 26 | - (void)createFile:(id)arg1; 27 | - (id)getTempPath; 28 | - (id)getCachePath; 29 | - (void)deleteFile:(id)arg1; 30 | - (id)getFileAttribute:(id)arg1; 31 | - (id)getDocPath; 32 | - (id)getHomePath; 33 | 34 | @end 35 | 36 | -------------------------------------------------------------------------------- /X-Faker/Utils/FileHelper.m: -------------------------------------------------------------------------------- 1 | // 2 | // FileHelper.m 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/19. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import "FileHelper.h" 10 | 11 | @implementation WIM_FileHelper 12 | 13 | 14 | + (instancetype)sharedInstance { 15 | static dispatch_once_t onceToken; 16 | static WIM_FileHelper *dUtil = nil; 17 | dispatch_once(&onceToken, ^{ 18 | dUtil = [[WIM_FileHelper alloc] init]; 19 | }); 20 | 21 | return dUtil; 22 | } 23 | 24 | 25 | - (_Bool)isDirectoryExit:(NSString *)arg1{ 26 | NSFileManager *fm = [NSFileManager defaultManager]; 27 | BOOL *isDiret = nil; 28 | BOOL ret =[fm fileExistsAtPath:arg1 isDirectory:isDiret]; 29 | return ret & (isDiret != 0); 30 | } 31 | @end 32 | -------------------------------------------------------------------------------- /X-Faker/Utils/tools.h: -------------------------------------------------------------------------------- 1 | // 2 | // tools.h 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/20. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface tools : NSObject 12 | 13 | void run_cmd(char *cmd); 14 | @end 15 | -------------------------------------------------------------------------------- /X-Faker/Utils/tools.m: -------------------------------------------------------------------------------- 1 | // 2 | // tools.m 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/20. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import "tools.h" 10 | #include 11 | @implementation tools 12 | 13 | @end 14 | 15 | 16 | 17 | 18 | extern char **environ; 19 | 20 | void run_cmd(char *cmd) 21 | { 22 | pid_t pid; 23 | char *argv[] = {"sh", "-c", cmd, NULL}; 24 | int status; 25 | 26 | status = posix_spawn(&pid, "/bin/sh", NULL, NULL, argv, environ); 27 | if (status == 0) { 28 | if (waitpid(pid, &status, 0) == -1) { 29 | perror("waitpid"); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /X-Faker/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/15. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "ArgSetViewController.h" 11 | #import "AppListViewController.h" 12 | @interface ViewController : UIViewController 13 | 14 | 15 | @property (strong, nonatomic) ArgSetViewController *ArgSetVc; 16 | @property (strong, nonatomic) AppListViewController *ApplistVc; 17 | @property(nonatomic,retain) DylibBF *dylibCls; 18 | 19 | 20 | @property(nonatomic,retain) NSMutableDictionary *settingInfo; 21 | @property(retain) NSString *trueDeviceInfo; // @synthesize trueDeviceInfo=_trueDeviceInfo; 22 | @property(retain) NSString *tempAction; // @synthesize tempAction=_tempAction; 23 | @property _Bool setLocationByIp; // @synthesize setLocationByIp=_setLocationByIp; 24 | @property _Bool isMZSMDialogShowing; // @synthesize isMZSMDialogShowing=_isMZSMDialogShowing; 25 | @property _Bool isBackgrounAuthResultDialogShowing; // @synthesize isBackgrounAuthResultDialogShowing=_isBackgrounAuthResultDialogShowing; 26 | @property(retain) NSString *autoKey; // @synthesize autoKey=_autoKey; 27 | @property(retain) NSString *systemTongzhi; // @synthesize systemTongzhi=_systemTongzhi; 28 | @property _Bool neterror; // @synthesize neterror=_neterror; 29 | @property _Bool clear_status_flag; // @synthesize clear_status_flag=_clear_status_flag; 30 | @property(retain) NSString *IPStr; // @synthesize IPStr=_IPStr; 31 | @property(retain) NSString *settingsPath; // @synthesize settingsPath=_settingsPath; 32 | @property(retain) NSString *url; // @synthesize url=_url; 33 | @property(retain) NSString *gonwangIpStr; // @synthesize gonwangIpStr=_gonwangIpStr; 34 | @property(retain) NSString *token2; // @synthesize token2=_token2; 35 | @property int cleanAppNum; // @synthesize cleanAppNum=_cleanAppNum; 36 | @property(retain) NSString *accounttoken; // @synthesize accounttoken=_accounttoken; 37 | @property int type; // @synthesize type=_type; 38 | @property(retain) NSString *app_bundle_path; // @synthesize app_bundle_path=_app_bundle_path; 39 | @property(retain) NSString *app_name_path; // @synthesize app_name_path=_app_name_path; 40 | @property(retain, nonatomic) UIWindow *window; // @synthesize window=_window; 41 | @property(nonatomic) __weak UIButton *mainVc_icon_btn; // @synthesize mainVc_icon_btn=_mainVc_icon_btn; 42 | @property(retain) NSString *expiredateStr; // @synthesize expiredateStr=_expiredateStr; 43 | @property(retain) NSString *bfname; // @synthesize bfname=_bfname; 44 | @property(retain) NSString *action; // @synthesize action=_action; 45 | @property(nonatomic) __weak UILabel *clear_status_label; // @synthesize clear_status_label=_clear_status_label; 46 | @property(nonatomic) __weak UILabel *detail_xinghao_label; // @synthesize detail_xinghao_label=_detail_xinghao_label; 47 | @property(nonatomic) __weak UIButton *version_btn; // @synthesize version_btn=_version_btn; 48 | @property(nonatomic) __weak UISwitch *save_params_switch; // @synthesize save_params_switch=_save_params_switch; 49 | @property(nonatomic) __weak UISegmentedControl *device_type_seg; // @synthesize device_type_seg=_device_type_seg; 50 | @property(nonatomic) __weak UIButton *zengqiangchajian_btn; // @synthesize zengqiangchajian_btn=_zengqiangchajian_btn; 51 | @property(nonatomic) __weak UILabel *main_verion_label; // @synthesize main_verion_label=_main_verion_label; 52 | @property(nonatomic) __weak UISwitch *mainVC_backup_switch; // @synthesize mainVC_backup_switch=_mainVC_backup_switch; 53 | @property(nonatomic) __weak UILabel *gongwangIp_label; // @synthesize gongwangIp_label=_gongwangIp_label; 54 | @property(nonatomic) __weak UILabel *expireDate_label; // @synthesize expireDate_label=_expireDate_label; 55 | @property(nonatomic) __weak UIButton *choosedApps_btn; // @synthesize choosedApps_btn=_choosedApps_btn; 56 | 57 | - (void)mainVc_icon_btn_click:(id)arg1; 58 | - (void)nztDataImportError:(id)arg1; 59 | - (void)location_by_ip_btn_click:(id)arg1; 60 | - (void)nzt_data_import_btn_click:(id)arg1; 61 | - (void)mzsm_mainVc_btn_click:(id)arg1; 62 | - (void)wx62data_pb_btn_click:(id)arg1; 63 | - (void)cleanSetting_btn_click:(id)arg1; 64 | - (void)umGiMfdqmeAxrvhH; 65 | - (void)justGaichuanUi; 66 | - (void)justupdatefake_clean_btn_click:(id)arg1; 67 | - (void)justCleanUi; 68 | - (void)just_clean_btn_click:(id)arg1; 69 | - (void)justBackUpUi; 70 | - (void)just_backup_btn_click:(id)arg1; 71 | - (id)convertDataToHexStr:(id)arg1; 72 | - (id)convertStringToHexStr:(id)arg1; 73 | - (id)save62data_Api; 74 | - (void)main_bugAndSuggest_btn_click:(id)arg1; 75 | - (void)main_jiaoben_store_btn_click:(id)arg1; 76 | - (void)main_dinggzhiSoft_btn_click:(id)arg1; 77 | - (id)checkIpIsUsed_api; 78 | - (void)ucNNpxwUTrXnJgbG; 79 | - (void)new_version_remind_btn_click:(id)arg1; 80 | - (void)jiaoben_fuzhu_btn_click:(id)arg1; 81 | - (void)async_task_remind:(id)arg1; 82 | - (id)IBDhdkZJhzdIaBCP:(id)arg1; 83 | - (id)ytqiIpjsnYDTtQmS:(id)arg1; 84 | - (void)softModify_btn_click:(id)arg1; 85 | - (void)device_type_seg_click:(id)arg1; 86 | - (id)ekdfrOLMBOUUTFom:(id)arg1; 87 | - (id)yhzpYMvYsjOpaKiN; 88 | - (void)alertView:(id)arg1 clickedButtonAtIndex:(long long)arg2; 89 | - (void)nErEElRjAHupWOVz; 90 | - (void)zengQiangPlugin_btn_click:(id)arg1; 91 | - (void)save_params_switch:(id)arg1; 92 | - (_Bool)SXjxMdWDglmpHATw; 93 | - (void)original_deviceInfo_btn_click:(id)arg1; 94 | - (void)version_btn_click:(id)arg1; 95 | - (void)ip_remind:(id)arg1; 96 | - (void)LbPzuqMbDtYUeXdW; 97 | - (void)backuphis_btn_click:(id)arg1; 98 | - (void)backup_switch_click:(id)arg1; 99 | - (void)systemSettings_btn_click:(id)arg1; 100 | - (void)vPzKgkkueCdlQoMz; 101 | - (id)ZTZuDIGhbbZlSajE:(id)arg1; 102 | - (void)AqkdRyrDSdgoQjjE:(id)arg1 processName:(id)arg2; 103 | - (void)LFVwRryncEyqfAIo:(id)arg1; 104 | - (void)nLYSKyXoUZTiGYol:(id)arg1; 105 | - (void)yrunsyxuxehoUbQR:(id)arg1; 106 | - (void)checkIsIllegalServer:(id)arg1; 107 | - (void)plzwPPpAiETdBxsJ:(id)arg1; 108 | - (void)kLCLcYiioGRsxiPn; 109 | - (id)vAILbkabsPhFGfAV; 110 | - (void)YHFGNWhWiFaoPnzh:(NSString *)arg1 deviceInfoDic:(NSDictionary *)arg2; 111 | - (void)JfyPWwLBznrQXAZl; 112 | - (void)nTbYlMcDJHeCLLIC:(id)arg1; 113 | - (void)JTyhoekNYDxanxpP:(id)arg1; 114 | - (id)LGpmJhOsgvMSUboM; 115 | - (id)bZfKNiMvotuQrEkk; 116 | - (id)imfJRpHYiYCmjIHz; 117 | - (id)UOapxkUiuqfTMiTa:(id)arg1; 118 | - (id)md5:(id)arg1; 119 | - (void)QjzDebSmCgJuVAqs:(id)arg1; 120 | - (void)one_key_new_device_btn_click:(id)arg1; 121 | - (_Bool)KTyKvIYAPWBLFrZa:(NSString *)arg1; 122 | - (struct CGAffineTransform)transformForOrientation; 123 | - (void)FUBLeHYOpRqEtLBu:(id)arg1; 124 | - (void)quit_app_btn_click:(id)arg1; 125 | - (void)didReceiveMemoryWarning; 126 | - (void)KmbvVGRWtZakZZOG; 127 | - (void)GjxLfoTplsCSdKmA:(id)arg1; 128 | - (void)applist_btn_click:(id)arg1; 129 | - (void)wVxlFxnMbJndmMAq; 130 | - (void)KLQKOnluyivPLRGr:(id)arg1; 131 | - (void)operationAuth_serverRetunNothing; 132 | - (void)CnSwXmJEJaCIMufa:(id)arg1; 133 | - (void)fake_locaiton_btn_click:(id)arg1; 134 | - (void)fake_device_info_click:(id)arg1; 135 | - (void)viewWillAppear:(_Bool)arg1; 136 | - (_Bool)FdllRgtdMEXVqVRG:(id)arg1; 137 | - (void)setDeviceInfoByRealInfo; 138 | - (id)TmffGoZHEWyhulXo; 139 | - (void)xYJsWltMFJhrWQYt; 140 | - (void)LAJbHBrAMEgFWInE; 141 | - (void)MwDnELzwBRVPPlaU; 142 | - (void)KPQdPdJvPTgMfnTl; 143 | - (void)viewDidAppear:(_Bool)arg1; 144 | - (void)viewDidLoad; 145 | - (void)MOSKiBeDaaMnJwaK; 146 | - (id)init; 147 | 148 | 149 | - (BOOL) jnzXnlnkhhfEtvix:(NSString *)srcString; 150 | 151 | @end 152 | 153 | -------------------------------------------------------------------------------- /X-Faker/X-FakerCommDef.h: -------------------------------------------------------------------------------- 1 | // 2 | // X-FakerCommDef.h 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/16. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #ifndef X_FakerCommDef_h 10 | #define X_FakerCommDef_h 11 | 12 | //#define ISJialBreak 13 | 14 | 15 | 16 | 17 | /* 18 | settinginfo dic 19 | { 20 | autoOpenAppBundleId = "cn.shuzilm.eXscan"; 21 | backup = NO; 22 | backupOrderType = byCreateDate; 23 | checkiptime = 1; 24 | cleanpastboard = YES; 25 | clearsafari = YES; 26 | devicetypeiii = iphone; 27 | e94d8940ffbe6b0bbc3e5a4c9bbace18 = "qHNlemncO0c="; 28 | ed = 997dc10fe03a21c6118411f8ca7693a5bb4a52d1785d1c9aee08ed98975010f0; 29 | fangazjc = YES; 30 | fkx = ( 31 | "BHbBdFuVtG/iUw0WVJ5i5KfYFn927UnR" 32 | ); 33 | forceclean = YES; 34 | "his_jingdu" = m; 35 | isCleaned = NO; 36 | isModifyedDeviceInfo = YES; 37 | isfakelocation = YES; 38 | jingdu = m; 39 | key = 9368595d122c6160f1f7af500a10622fda0d6da52dbedb861dc50bc37cf16a2f; 40 | mzsm = YES; 41 | netstate = WIFI; 42 | paixuDaoxu = YES; 43 | randomlocation = YES; 44 | "re_backup_num" = "2018-12-15-22-40-50"; 45 | "save_params" = YES; 46 | shortcutrename = NO; 47 | shotcutrenamebackup = NO; 48 | softmodi = YES; 49 | update356 = YES; 50 | useguid = NO; 51 | yunyingshang = yidong; 52 | zjjrcsjljm = YES; 53 | } 54 | */ 55 | 56 | 57 | 58 | 59 | #endif /* X_FakerCommDef_h */ 60 | -------------------------------------------------------------------------------- /X-Faker/encrypt/EncryptUtil.h: -------------------------------------------------------------------------------- 1 | // 2 | // EncryptUtil.h 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/15. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "GTMBase64.h" 11 | #import "GTMDefines.h" 12 | #import "NSData+crypt.h" 13 | #import "NSString+MD5.h" 14 | #import "NSString+_DES.h" 15 | #import "NSString+SHA1.h" 16 | #import 17 | @interface EncryptUtil1 : NSObject 18 | 19 | + (NSString *)encryptOrDecrypt:(NSString *)srcStr1 encryptOrDecrypt:(CCOperation)encryptOperation key:(NSString *)key; 20 | //解密 21 | + (NSString *) MWerGhKZaDBbiUxH:(NSString *)srcStr; 22 | //加密 23 | + (NSString *) vHCspdGrJYjXlaGh:(NSString *)srcStr; 24 | 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /X-Faker/encrypt/EncryptUtil.m: -------------------------------------------------------------------------------- 1 | // 2 | // EncryptUtil.m 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/15. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import "EncryptUtil.h" 10 | #import 11 | 12 | @implementation EncryptUtil1 13 | 14 | 15 | 16 | 17 | + (NSString *)encryptOrDecrypt:(NSString *)srcStr encryptOrDecrypt:(CCOperation)encryptOperation key:(NSString *)key1 18 | { 19 | 20 | Class cEncryptUtil = NSClassFromString(@"EncryptUtil"); 21 | NSString * cipher =[cEncryptUtil DrtKqgfDEPvmyXEP:srcStr encryptOrDecrypt:encryptOperation key:key1]; 22 | //NSArray *arr=[NSArray arrayWithObjects:srcStr,encryptOperation,key1, nil]; 23 | //NSString * cipher = [cEncryptUtil performSelector:NSSelectorFromString(@"DrtKqgfDEPvmyXEP:encryptOrDecrypt:key:") withObjects:arr]; 24 | NSLog(@"ciphertext: %@", cipher); 25 | 26 | 27 | const void *vplainText; 28 | size_t plainTextBufferSize; 29 | //NSString *srcStr =[[NSString alloc]initWithUTF8String:"dlvXS8jCkYFQUk5r9O3mAg=="]; 30 | if (encryptOperation == kCCDecrypt) 31 | { 32 | NSData *decryptData = [NSData dataWithContentsOfFile:@"/Users/whois/Desktop/123.bin"]; 33 | //NSData *decryptData = [GTMBase64 decodeData:[srcStr dataUsingEncoding:NSUTF8StringEncoding]]; 34 | plainTextBufferSize = [decryptData length]; 35 | vplainText = [decryptData bytes]; 36 | 37 | } 38 | else 39 | { 40 | NSData* encryptData = [srcStr dataUsingEncoding:NSUTF8StringEncoding]; 41 | plainTextBufferSize = [encryptData length]; 42 | vplainText = (const void *)[encryptData bytes]; 43 | } 44 | 45 | CCCryptorStatus ccStatus; 46 | uint8_t *bufferPtr = NULL; 47 | size_t bufferPtrSize = 0; 48 | size_t movedBytes = 0; 49 | 50 | bufferPtrSize = ((plainTextBufferSize + 8) & -8uLL); 51 | bufferPtr = malloc( bufferPtrSize * sizeof(uint8_t)); 52 | bzero((void *)bufferPtr, bufferPtrSize); 53 | NSString *key =@"Kurodo"; 54 | NSString *initVec = @"init Kurodo"; 55 | const void *vkey = (const void *) [key UTF8String]; 56 | const void *vinitVec = (const void *) [initVec UTF8String]; 57 | 58 | ccStatus = CCCrypt(encryptOperation,2LL,1LL,vkey,24,vinitVec,vplainText,plainTextBufferSize,(void *)bufferPtr,bufferPtrSize,&movedBytes); 59 | 60 | NSString *result = nil; 61 | 62 | if (encryptOperation == kCCDecrypt) 63 | { 64 | result = [[NSString alloc] initWithData:[NSData dataWithBytes:(const void *)bufferPtr length:(NSUInteger)movedBytes] encoding:NSUTF8StringEncoding]; 65 | } 66 | else 67 | { 68 | NSData *data = [NSData dataWithBytes:(const void *)bufferPtr length:(NSUInteger)movedBytes]; 69 | result = [GTMBase64 stringByEncodingData:data]; 70 | } 71 | 72 | return result; 73 | } 74 | 75 | //加密 76 | + (NSString *) MWerGhKZaDBbiUxH:(NSString *)srcStr{ 77 | return [EncryptUtil1 encryptOrDecrypt:srcStr encryptOrDecrypt:kCCEncrypt key:@"Kurodo"]; 78 | } 79 | 80 | //解密 81 | + (NSString *) vHCspdGrJYjXlaGh:(NSString *)srcStr{ 82 | return [EncryptUtil1 encryptOrDecrypt:srcStr encryptOrDecrypt:kCCDecrypt key:@"Kurodo"]; 83 | } 84 | @end 85 | -------------------------------------------------------------------------------- /X-Faker/encrypt/GTMBase64/GTMBase64.h: -------------------------------------------------------------------------------- 1 | // 2 | // GTMBase64.h 3 | // 4 | // Copyright 2006-2008 Google Inc. 5 | // 6 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not 7 | // use this file except in compliance with the License. You may obtain a copy 8 | // of the License at 9 | // 10 | // http://www.apache.org/licenses/LICENSE-2.0 11 | // 12 | // Unless required by applicable law or agreed to in writing, software 13 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 14 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 15 | // License for the specific language governing permissions and limitations under 16 | // the License. 17 | // 18 | 19 | #import 20 | #import "GTMDefines.h" 21 | 22 | // GTMBase64 23 | // 24 | /// Helper for handling Base64 and WebSafeBase64 encodings 25 | // 26 | /// The webSafe methods use different character set and also the results aren't 27 | /// always padded to a multiple of 4 characters. This is done so the resulting 28 | /// data can be used in urls and url query arguments without needing any 29 | /// encoding. You must use the webSafe* methods together, the data does not 30 | /// interop with the RFC methods. 31 | // 32 | @interface GTMBase64 : NSObject 33 | 34 | // 35 | // Standard Base64 (RFC) handling 36 | // 37 | 38 | // encodeData: 39 | // 40 | /// Base64 encodes contents of the NSData object. 41 | // 42 | /// Returns: 43 | /// A new autoreleased NSData with the encoded payload. nil for any error. 44 | // 45 | +(NSData *)encodeData:(NSData *)data; 46 | 47 | // decodeData: 48 | // 49 | /// Base64 decodes contents of the NSData object. 50 | // 51 | /// Returns: 52 | /// A new autoreleased NSData with the decoded payload. nil for any error. 53 | // 54 | +(NSData *)decodeData:(NSData *)data; 55 | 56 | // encodeBytes:length: 57 | // 58 | /// Base64 encodes the data pointed at by |bytes|. 59 | // 60 | /// Returns: 61 | /// A new autoreleased NSData with the encoded payload. nil for any error. 62 | // 63 | +(NSData *)encodeBytes:(const void *)bytes length:(NSUInteger)length; 64 | 65 | // decodeBytes:length: 66 | // 67 | /// Base64 decodes the data pointed at by |bytes|. 68 | // 69 | /// Returns: 70 | /// A new autoreleased NSData with the encoded payload. nil for any error. 71 | // 72 | +(NSData *)decodeBytes:(const void *)bytes length:(NSUInteger)length; 73 | 74 | // stringByEncodingData: 75 | // 76 | /// Base64 encodes contents of the NSData object. 77 | // 78 | /// Returns: 79 | /// A new autoreleased NSString with the encoded payload. nil for any error. 80 | // 81 | +(NSString *)stringByEncodingData:(NSData *)data; 82 | 83 | // stringByEncodingBytes:length: 84 | // 85 | /// Base64 encodes the data pointed at by |bytes|. 86 | // 87 | /// Returns: 88 | /// A new autoreleased NSString with the encoded payload. nil for any error. 89 | // 90 | +(NSString *)stringByEncodingBytes:(const void *)bytes length:(NSUInteger)length; 91 | 92 | // decodeString: 93 | // 94 | /// Base64 decodes contents of the NSString. 95 | // 96 | /// Returns: 97 | /// A new autoreleased NSData with the decoded payload. nil for any error. 98 | // 99 | +(NSData *)decodeString:(NSString *)string; 100 | 101 | // 102 | // Modified Base64 encoding so the results can go onto urls. 103 | // 104 | // The changes are in the characters generated and also allows the result to 105 | // not be padded to a multiple of 4. 106 | // Must use the matching call to encode/decode, won't interop with the 107 | // RFC versions. 108 | // 109 | 110 | // webSafeEncodeData:padded: 111 | // 112 | /// WebSafe Base64 encodes contents of the NSData object. If |padded| is YES 113 | /// then padding characters are added so the result length is a multiple of 4. 114 | // 115 | /// Returns: 116 | /// A new autoreleased NSData with the encoded payload. nil for any error. 117 | // 118 | +(NSData *)webSafeEncodeData:(NSData *)data 119 | padded:(BOOL)padded; 120 | 121 | // webSafeDecodeData: 122 | // 123 | /// WebSafe Base64 decodes contents of the NSData object. 124 | // 125 | /// Returns: 126 | /// A new autoreleased NSData with the decoded payload. nil for any error. 127 | // 128 | +(NSData *)webSafeDecodeData:(NSData *)data; 129 | 130 | // webSafeEncodeBytes:length:padded: 131 | // 132 | /// WebSafe Base64 encodes the data pointed at by |bytes|. If |padded| is YES 133 | /// then padding characters are added so the result length is a multiple of 4. 134 | // 135 | /// Returns: 136 | /// A new autoreleased NSData with the encoded payload. nil for any error. 137 | // 138 | +(NSData *)webSafeEncodeBytes:(const void *)bytes 139 | length:(NSUInteger)length 140 | padded:(BOOL)padded; 141 | 142 | // webSafeDecodeBytes:length: 143 | // 144 | /// WebSafe Base64 decodes the data pointed at by |bytes|. 145 | // 146 | /// Returns: 147 | /// A new autoreleased NSData with the encoded payload. nil for any error. 148 | // 149 | +(NSData *)webSafeDecodeBytes:(const void *)bytes length:(NSUInteger)length; 150 | 151 | // stringByWebSafeEncodingData:padded: 152 | // 153 | /// WebSafe Base64 encodes contents of the NSData object. If |padded| is YES 154 | /// then padding characters are added so the result length is a multiple of 4. 155 | // 156 | /// Returns: 157 | /// A new autoreleased NSString with the encoded payload. nil for any error. 158 | // 159 | +(NSString *)stringByWebSafeEncodingData:(NSData *)data 160 | padded:(BOOL)padded; 161 | 162 | // stringByWebSafeEncodingBytes:length:padded: 163 | // 164 | /// WebSafe Base64 encodes the data pointed at by |bytes|. If |padded| is YES 165 | /// then padding characters are added so the result length is a multiple of 4. 166 | // 167 | /// Returns: 168 | /// A new autoreleased NSString with the encoded payload. nil for any error. 169 | // 170 | +(NSString *)stringByWebSafeEncodingBytes:(const void *)bytes 171 | length:(NSUInteger)length 172 | padded:(BOOL)padded; 173 | 174 | // webSafeDecodeString: 175 | // 176 | /// WebSafe Base64 decodes contents of the NSString. 177 | // 178 | /// Returns: 179 | /// A new autoreleased NSData with the decoded payload. nil for any error. 180 | // 181 | +(NSData *)webSafeDecodeString:(NSString *)string; 182 | 183 | 184 | 185 | #pragma mark - base64 186 | + (NSString*)md5_base64: (NSString *) inPutText; 187 | + (NSString*)encodeBase64String:(NSString *)input; 188 | + (NSString*)decodeBase64String:(NSString *)input; 189 | + (NSString*)encodeBase64Data:(NSData *)data; 190 | + (NSString*)decodeBase64Data:(NSData *)data; 191 | 192 | @end 193 | -------------------------------------------------------------------------------- /X-Faker/encrypt/NSData+crypt.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSData+crypt.h 3 | // DrawRactTest 4 | // 5 | // Created by ZF on 16/3/23. 6 | // Copyright © 2016年 ZF. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSData (crypt) 12 | /**加密*/ 13 | - (NSData *)AES256EncryptWithKey:(NSString *)key; 14 | /**解密*/ 15 | - (NSData *)AES256DecryptWithKey:(NSString *)key; 16 | /**二进制转成Base64字符串*/ 17 | - (NSString *)newStringInBase64FromData; 18 | @end 19 | -------------------------------------------------------------------------------- /X-Faker/encrypt/NSData+crypt.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSData+crypt.m 3 | // DrawRactTest 4 | // 5 | // Created by ZF on 16/3/23. 6 | // Copyright © 2016年 ZF. All rights reserved. 7 | // 该分类用来加密解密 8 | 9 | #import "NSData+crypt.h" 10 | #import 11 | 12 | static char base64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; 13 | 14 | @implementation NSData (crypt) 15 | /** 16 | * AES加密 17 | * 18 | * @param key 明文 19 | * 20 | * @return 返回加密数据 21 | */ 22 | - (NSData *)AES256EncryptWithKey:(NSString *)key { 23 | 24 | char keyPtr[kCCKeySizeAES256+1]; 25 | bzero(keyPtr, sizeof(keyPtr)); 26 | 27 | [key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding]; 28 | 29 | NSUInteger dataLength = [self length]; 30 | 31 | size_t bufferSize = dataLength + kCCBlockSizeAES128; 32 | void *buffer = malloc(bufferSize); 33 | 34 | size_t numBytesEncrypted = 0; 35 | CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt, kCCAlgorithmAES128, 36 | kCCOptionPKCS7Padding | kCCOptionECBMode, 37 | keyPtr, kCCBlockSizeAES128, 38 | NULL, 39 | [self bytes], dataLength, 40 | buffer, bufferSize, 41 | &numBytesEncrypted); 42 | if (cryptStatus == kCCSuccess) { 43 | return [NSData dataWithBytesNoCopy:buffer length:numBytesEncrypted]; 44 | } 45 | free(buffer); 46 | return nil; 47 | } 48 | 49 | /** 50 | * AES解密 51 | * 52 | * @param key 密文 53 | * 54 | * @return 返回解谜数据 55 | */ 56 | - (NSData *)AES256DecryptWithKey:(NSString *)key { 57 | 58 | char keyPtr[kCCKeySizeAES256+1]; 59 | bzero(keyPtr, sizeof(keyPtr)); 60 | 61 | [key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding]; 62 | 63 | NSUInteger dataLength = [self length]; 64 | 65 | size_t bufferSize = dataLength + kCCBlockSizeAES128; 66 | void *buffer = malloc(bufferSize); 67 | 68 | size_t numBytesDecrypted = 0; 69 | CCCryptorStatus cryptStatus = CCCrypt(kCCDecrypt, kCCAlgorithmAES128, 70 | kCCOptionPKCS7Padding | kCCOptionECBMode, 71 | keyPtr, kCCBlockSizeAES128, 72 | NULL, 73 | [self bytes], dataLength, 74 | buffer, bufferSize, 75 | &numBytesDecrypted); 76 | 77 | if (cryptStatus == kCCSuccess) { 78 | 79 | return [NSData dataWithBytesNoCopy:buffer length:numBytesDecrypted]; 80 | 81 | } 82 | free(buffer); 83 | return nil; 84 | } 85 | /** 86 | * 二进制转成base64字符串 87 | * 88 | * @return 返回base64数据 89 | */ 90 | - (NSString *)newStringInBase64FromData { 91 | 92 | NSMutableString *dest = [[NSMutableString alloc] initWithString:@""]; 93 | unsigned char * working = (unsigned char *)[self bytes]; 94 | NSUInteger srcLen = [self length]; 95 | 96 | for (int i=0; i= srcLen) break; 102 | 103 | unsigned char curr = ((working[i+byt] << (8-ix)) & 0x3F); 104 | 105 | if (i+nib < srcLen) curr |= ((working[i+nib] >> ix) & 0x3F); 106 | 107 | [dest appendFormat:@"%c", base64[curr]]; 108 | } 109 | } 110 | return dest; 111 | } 112 | @end 113 | -------------------------------------------------------------------------------- /X-Faker/encrypt/NSString+MD5.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+MD5.h 3 | // DrawRactTest 4 | // 5 | // Created by ZF on 16/3/23. 6 | // Copyright © 2016年 ZF. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSString (MD5) 12 | /** 13 | * 32位加密 14 | * 15 | * @param upperCase 大小写 16 | * 17 | * @return 加密字符串 18 | */ 19 | - (NSString *)encodeUsing32BitsMD5WithUpperCaseOption:(BOOL)upperCase; 20 | /** 21 | * 16位加密 22 | * 23 | * @param upperCase 大小写 24 | * 25 | * @return 加密字符串 26 | */ 27 | - (NSString *)encodeUsing16BitsMD5WithUpperCaseOption:(BOOL)upperCase; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /X-Faker/encrypt/NSString+MD5.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+MD5.m 3 | // DrawRactTest 4 | // 5 | // Created by ZF on 16/3/23. 6 | // Copyright © 2016年 ZF. All rights reserved. 7 | // 8 | 9 | #import "NSString+MD5.h" 10 | #import 11 | 12 | @implementation NSString (MD5) 13 | /** 14 | * 32位MD5加密 15 | * 16 | * @param string 加密字符串 17 | * @param upperCase 加密选项 {YES:大写;NO:小写} 18 | * 19 | * @return 加密后的字符串 20 | */ 21 | - (NSString *)encodeUsing32BitsMD5WithUpperCaseOption:(BOOL)upperCase{ 22 | const char *cStr = [self UTF8String]; 23 | unsigned char digest[CC_MD5_DIGEST_LENGTH]; 24 | CC_MD5( cStr, (unsigned)strlen(cStr), digest ); 25 | NSMutableString *encodeString = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; 26 | 27 | for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) 28 | [encodeString appendFormat:@"%02x", digest[i]]; 29 | 30 | NSString *cipherText = nil; 31 | 32 | if (upperCase) { 33 | cipherText = [encodeString uppercaseString]; 34 | }else{ 35 | cipherText = [encodeString lowercaseString]; 36 | } 37 | 38 | return cipherText; 39 | } 40 | 41 | 42 | /** 43 | * 16位MD5加密 44 | * 45 | * @param plainText 明文 46 | * @param upperCase 大小写选项 47 | * 48 | * @return 加密结果 49 | */ 50 | - (NSString *)encodeUsing16BitsMD5WithUpperCaseOption:(BOOL)upperCase{ 51 | const char *cStr = [self UTF8String]; 52 | unsigned char result[16]; 53 | CC_MD5(cStr, (unsigned)strlen(cStr), result); 54 | 55 | NSString *encodeString = [NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X", 56 | result[0], result[1], result[2], result[3], 57 | result[4], result[5], result[6], result[7], 58 | result[8], result[9], result[10], result[11], 59 | result[12], result[13], result[14], result[15] 60 | ]; 61 | 62 | NSString *cipherText = nil; 63 | 64 | if (upperCase) { 65 | cipherText = [encodeString uppercaseString]; 66 | }else{ 67 | cipherText = [encodeString lowercaseString]; 68 | } 69 | 70 | return cipherText; 71 | } 72 | 73 | 74 | @end 75 | -------------------------------------------------------------------------------- /X-Faker/encrypt/NSString+SHA1.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+SHA1.h 3 | // DrawRactTest 4 | // 5 | // Created by ZF on 16/3/25. 6 | // Copyright © 2016年 ZF. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSString (SHA1) 12 | /** 13 | * SHA1加密 14 | */ 15 | - (NSString *) SHA1; 16 | /** 17 | * SHA1加密加base64转码 18 | */ 19 | - (NSString *) SHA1_base64; 20 | /** 21 | * md5加密 22 | */ 23 | - (NSString *) md5; 24 | /** 25 | * md5加密加base64转码 26 | */ 27 | - (NSString *) md5_base64; 28 | @end 29 | -------------------------------------------------------------------------------- /X-Faker/encrypt/NSString+SHA1.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+SHA1.m 3 | // DrawRactTest 4 | // 5 | // Created by ZF on 16/3/25. 6 | // Copyright © 2016年 ZF. All rights reserved. 7 | // 8 | 9 | #import "NSString+SHA1.h" 10 | #import 11 | #import "GTMBase64.h" 12 | /** 13 | * MD5,SHA-1,SHA-224,SHA-256,SHA-384,SHA-512,以及它们对应的HMAC算法,都属于散列算法,又叫摘要算法,单向运算,不可逆,所以没法解密。 14 | */ 15 | @implementation NSString (SHA1) 16 | /** 17 | * SHA1加密 18 | * 19 | * @return 返回加密结果 20 | */ 21 | - (NSString*) SHA1 22 | { 23 | const char *cstr = [self cStringUsingEncoding:NSUTF8StringEncoding]; 24 | NSData *data = [NSData dataWithBytes:cstr length:self.length]; 25 | 26 | uint8_t digest[CC_SHA1_DIGEST_LENGTH]; 27 | 28 | CC_SHA1(data.bytes, (unsigned)data.length, digest); 29 | 30 | NSMutableString* output = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2]; 31 | 32 | for(int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++) 33 | [output appendFormat:@"%02x", digest[i]]; 34 | 35 | return output; 36 | } 37 | 38 | /** 39 | * SHA1加密base64转码 40 | * 41 | * @return 返回加密转码后的字符串 42 | */ 43 | - (NSString *) SHA1_base64 44 | { 45 | const char *cstr = [self cStringUsingEncoding:NSUTF8StringEncoding]; 46 | NSData *data = [NSData dataWithBytes:cstr length:self.length]; 47 | 48 | uint8_t digest[CC_SHA1_DIGEST_LENGTH]; 49 | 50 | CC_SHA1(data.bytes, (unsigned)data.length, digest); 51 | 52 | NSData * base64 = [[NSData alloc]initWithBytes:digest length:CC_SHA1_DIGEST_LENGTH]; 53 | base64 = [GTMBase64 encodeData:base64];//转码 54 | 55 | NSString * output = [[NSString alloc] initWithData:base64 encoding:NSUTF8StringEncoding]; 56 | return output; 57 | } 58 | 59 | /** 60 | * md5加密 61 | * 62 | * @return 返回加密数据 63 | */ 64 | - (NSString *) md5 65 | { 66 | const char *cStr = [self UTF8String]; 67 | unsigned char digest[CC_MD5_DIGEST_LENGTH]; 68 | CC_MD5( cStr, (unsigned)strlen(cStr), digest ); 69 | 70 | NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; 71 | 72 | for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) 73 | [output appendFormat:@"%02x", digest[i]]; 74 | 75 | return output; 76 | } 77 | /** 78 | * md5加密 加base64转码 79 | * 80 | * @return 加密转码后的字符串 81 | */ 82 | - (NSString *) md5_base64 83 | { 84 | const char *cStr = [self UTF8String]; 85 | unsigned char digest[CC_MD5_DIGEST_LENGTH]; 86 | CC_MD5( cStr, (unsigned)strlen(cStr), digest ); 87 | 88 | NSData * base64 = [[NSData alloc]initWithBytes:digest length:CC_MD5_DIGEST_LENGTH]; 89 | base64 = [GTMBase64 encodeData:base64]; 90 | 91 | NSString * output = [[NSString alloc] initWithData:base64 encoding:NSUTF8StringEncoding]; 92 | return output; 93 | } 94 | @end 95 | -------------------------------------------------------------------------------- /X-Faker/encrypt/NSString+_DES.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+_DES.h 3 | // DrawRactTest 4 | // 5 | // Created by ZF on 16/3/23. 6 | // Copyright © 2016年 ZF. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSString (_DES) 12 | /** 13 | * 加密 14 | */ 15 | - (NSString *)encryptWithText:(NSString *)passWord; 16 | /** 17 | * 解密 18 | * 19 | */ 20 | - (NSString *)decryptWithText:(NSString *)passWord; 21 | @end 22 | -------------------------------------------------------------------------------- /X-Faker/encrypt/NSString+_DES.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+_DES.m 3 | // DrawRactTest 4 | // 5 | // Created by ZF on 16/3/23. 6 | // Copyright © 2016年 ZF. All rights reserved. 7 | // 8 | 9 | #import "NSString+_DES.h" 10 | #import 11 | #import "GTMBase64.h"//这个导进来 .m文件需要修改 -fno-objc-arc 12 | 13 | @implementation NSString (_DES) 14 | /** 15 | * 加密/解密 16 | * @param encryptOperation 加密还是解密 17 | * @param key 密钥 18 | * 19 | * @return 返回加密/解密对象 20 | */ 21 | - (NSString *)encryptOrDecrypt:(CCOperation)encryptOperation key:(NSString *)key 22 | { 23 | const void *vplainText; 24 | size_t plainTextBufferSize; 25 | 26 | if (encryptOperation == kCCDecrypt) 27 | { 28 | NSData *decryptData = [GTMBase64 decodeData:[self dataUsingEncoding:NSUTF8StringEncoding]]; 29 | plainTextBufferSize = [decryptData length]; 30 | vplainText = [decryptData bytes]; 31 | } 32 | else 33 | { 34 | NSData* encryptData = [self dataUsingEncoding:NSUTF8StringEncoding]; 35 | plainTextBufferSize = [encryptData length]; 36 | vplainText = (const void *)[encryptData bytes]; 37 | } 38 | 39 | CCCryptorStatus ccStatus; 40 | uint8_t *bufferPtr = NULL; 41 | size_t bufferPtrSize = 0; 42 | size_t movedBytes = 0; 43 | 44 | bufferPtrSize = (plainTextBufferSize + kCCBlockSize3DES) & ~(kCCBlockSize3DES - 1); 45 | bufferPtr = malloc( bufferPtrSize * sizeof(uint8_t)); 46 | memset((void *)bufferPtr, 0x0, bufferPtrSize); 47 | 48 | NSString *initVec = @"init Kurodo"; 49 | const void *vkey = (const void *) [key UTF8String]; 50 | const void *vinitVec = (const void *) [initVec UTF8String]; 51 | 52 | ccStatus = CCCrypt(encryptOperation, 53 | kCCAlgorithm3DES,//这个地方的参数可以选很多 54 | kCCOptionPKCS7Padding, 55 | vkey, 56 | kCCKeySize3DES, 57 | vinitVec, 58 | vplainText, 59 | plainTextBufferSize, 60 | (void *)bufferPtr, 61 | bufferPtrSize, 62 | &movedBytes); 63 | 64 | NSString *result = nil; 65 | 66 | if (encryptOperation == kCCDecrypt) 67 | { 68 | result = [[NSString alloc] initWithData:[NSData dataWithBytes:(const void *)bufferPtr length:(NSUInteger)movedBytes] encoding:NSUTF8StringEncoding]; 69 | } 70 | else 71 | { 72 | NSData *data = [NSData dataWithBytes:(const void *)bufferPtr length:(NSUInteger)movedBytes]; 73 | result = [GTMBase64 stringByEncodingData:data]; 74 | } 75 | 76 | return result; 77 | } 78 | /** 79 | * 3DES加密 80 | * 81 | * @param sText 密钥 82 | * 83 | * @return 返回加密结果 84 | */ 85 | - (NSString *)encryptWithText:(NSString *)passWord 86 | { 87 | return [self encryptOrDecrypt:kCCEncrypt key:passWord]; 88 | } 89 | /** 90 | * 3DES解密 91 | * 92 | * @param sText 密钥 93 | * 94 | * @return 返回解谜结果 95 | */ 96 | - (NSString *)decryptWithText:(NSString *)passWord 97 | { 98 | return [self encryptOrDecrypt:kCCDecrypt key:passWord]; 99 | } 100 | @end 101 | -------------------------------------------------------------------------------- /X-Faker/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // X-Faker 4 | // 5 | // Created by whois on 2018/12/15. 6 | // Copyright © 2018年 whois. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | #import 12 | 13 | #import 14 | #import 15 | #import 16 | 17 | void callBirdFaker(){ 18 | NSString * dylibName = @"libBirdFaker"; 19 | NSString * path = [[NSBundle mainBundle] pathForResource:dylibName ofType:@"dylib"]; 20 | if (dlopen(path.UTF8String, RTLD_NOW) == NULL){ 21 | NSLog(@"dlopen failed ,error %s", dlerror()); 22 | return ; 23 | }; 24 | 25 | uint32_t dylib_count = _dyld_image_count(); 26 | uint64_t slide = 0; 27 | for (int i = 0; i < dylib_count; i ++) { 28 | const char * name = _dyld_get_image_name(i); 29 | if ([[NSString stringWithUTF8String:name] isEqualToString:path]) { 30 | slide = _dyld_get_image_vmaddr_slide(i); 31 | } 32 | } 33 | assert(slide != 0); 34 | } 35 | int main(int argc, char * argv[]) { 36 | @autoreleasepool { 37 | // if (setuid(0)) { 38 | // exit(1); 39 | // } 40 | callBirdFaker(); 41 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /libBirdFaker.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiejiao6/X-Faker/77faa55401562345c6250c4a25083ae6be42f4d4/libBirdFaker.dylib --------------------------------------------------------------------------------