This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
howto:fridahooklibrary [2017/11/06 22:59] czokie [PrettyWoman] |
howto:fridahooklibrary [2017/11/12 09:43] czokie [PrettyWoman.csv] |
||
---|---|---|---|
Line 34: | Line 34: | ||
===== PrettyWoman.sh ===== | ===== PrettyWoman.sh ===== | ||
- | < | + | < |
#!/bin/bash | #!/bin/bash | ||
Line 203: | Line 203: | ||
jsfunction, | jsfunction, | ||
jsfunctioniffcc, | jsfunctioniffcc, | ||
+ | jsfunction, | ||
</ | </ | ||
- | |||
===== Tweak.js ===== | ===== Tweak.js ===== | ||
Line 445: | Line 445: | ||
} | } | ||
</ | </ | ||
- | ====== Hooks ====== | ||
- | ===== DJITermsNotificationController - shouldShowTerms ===== | ||
- | <code javascript DJITermsNotificationController.shouldShowTerms.js> | ||
- | 'use strict'; | ||
- | if (ObjC.available) { | ||
- | |||
- | var DJITermsNotificationController = ObjC.classes.DJITermsNotificationController; | ||
- | |||
- | var shouldShowTerms = DJITermsNotificationController[' | ||
- | var shouldShowTermsImpl = shouldShowTerms.implementation; | ||
- | shouldShowTerms.implementation = ObjC.implement(shouldShowTerms, | ||
- | var originalResult = shouldShowTermsImpl(handle, | ||
- | console.log(' | ||
- | return 0; | ||
- | }); | ||
- | } | ||
- | </ | ||
- | ===== DJIAppSettings - sdr_force_fcc ===== | ||
- | <code javascript DJIAppSettings.sdr_force_fcc.js> | ||
- | if (ObjC.available) { | ||
- | var DJIAppSettings = ObjC.classes.DJIAppSettings; | ||
- | | ||
- | var sdr_force_fcc = DJIAppSettings[' | ||
- | var sdr_force_fccImpl = sdr_force_fcc.implementation; | ||
- | sdr_force_fcc.implementation = ObjC.implement(sdr_force_fcc, | ||
- | var originalResult = sdr_force_fccImpl(handle, | ||
- | console.log(' | ||
- | return 1; | ||
- | }); | ||
- | } | ||
- | </ | ||
- | |||
- | ===== canUseIllegalChannels ===== | ||
- | <code javascript DJIAppSettings.canUseIllegalChannels.js> | ||
- | if (ObjC.available) { | ||
- | var DJIAppSettings = ObjC.classes.DJIAppSettings; | ||
- | | ||
- | var canUseIllegalChannels = DJIAppSettings[' | ||
- | var canUseIllegalChannelsImpl = canUseIllegalChannels.implementation; | ||
- | canUseIllegalChannels.implementation = ObjC.implement(canUseIllegalChannels, | ||
- | var originalResult = canUseIllegalChannelsImpl(handle, | ||
- | console.log(' | ||
- | return 1; | ||
- | }); | ||
- | | ||
- | var DJIRadioLogic = ObjC.classes.DJIRadioLogic; | ||
- | | ||
- | var canUseIllegalChannels = DJIRadioLogic[' | ||
- | var canUseIllegalChannelsImpl = canUseIllegalChannels.implementation; | ||
- | canUseIllegalChannels.implementation = ObjC.implement(canUseIllegalChannels, | ||
- | var originalResult = canUseIllegalChannelsImpl(handle, | ||
- | console.log(' | ||
- | return 1; | ||
- | }); | ||
- | } | ||
- | </ | ||
- | |||
- | ===== AFSecurityPolicy - setSSLPinningMode ===== | ||
- | <code javascript AFSecurityPolicy.setSSLPinningMode.js> | ||
- | if (ObjC.available) { | ||
- | |||
- | var AFSecurityPolicy = ObjC.classes.AFSecurityPolicy; | ||
- | |||
- | var setSSLPinningMode = AFSecurityPolicy[' | ||
- | var setSSLPinningModeImpl = setSSLPinningMode.implementation; | ||
- | setSSLPinningMode.implementation = ObjC.implement(setSSLPinningMode, | ||
- | setSSLPinningModeImpl(handle, | ||
- | console.log(' | ||
- | }); | ||
- | } | ||
- | </ | ||
- | |||
- | ===== DJIAccountManager - checkIsAdminUser ===== | ||
- | <code javascript DJIAccountManager.checkIsAdminUser.js> | ||
- | //Set Admin mode in Flight Records | ||
- | var DJIAccountManager = ObjC.classes.DJIAccountManager; | ||
- | var checkIsAdminUser = DJIAccountManager[' | ||
- | var checkIsAdminUserImpl = checkIsAdminUser.implementation; | ||
- | checkIsAdminUser.implementation = ObjC.implement(checkIsAdminUser, | ||
- | var originalResult = checkIsAdminUserImpl(handle, | ||
- | | ||
- | | ||
- | }); | ||
- | </ | ||
- | |||
- | ===== DJIUpgradeNotifyViewModel - notifyHidden ===== | ||
- | <code javascript DJIUpgradeNotifyViewModel.notifyHidden.js> | ||
- | //Bypass upgrade notification on splash screen | ||
- | var DJIUpgradeNotifyViewModel = ObjC.classes.DJIUpgradeNotifyViewModel; | ||
- | var notifyHidden = DJIUpgradeNotifyViewModel[' | ||
- | var notifyHiddenImpl = notifyHidden.implementation; | ||
- | notifyHidden.implementation = ObjC.implement(notifyHidden, | ||
- | var originalResult = notifyHiddenImpl(handle, | ||
- | | ||
- | | ||
- | }); | ||
- | </ | ||
- | |||
- | ===== DJIAppSettings - sdr_force_fcc ===== | ||
- | <code javascript DJIAppSettings.sdr_force_fcc.js> | ||
- | //Force FCC Mode | ||
- | var shown=0; | ||
- | var fcc_enabled; | ||
- | |||
- | var DJIAppSettings = ObjC.classes.DJIAppSettings; | ||
- | var sdr_force_fcc = DJIAppSettings[' | ||
- | var sdr_force_fccImpl = sdr_force_fcc.implementation; | ||
- | sdr_force_fcc.implementation = ObjC.implement(sdr_force_fcc, | ||
- | var originalResult = sdr_force_fccImpl(handle, | ||
- | | ||
- | | ||
- | | ||
- | }); | ||
- | |||
- | //Fake Mavic for P4 FCC | ||
- | var DJIProductManager = ObjC.classes.DJIProductManager; | ||
- | var currentProductCode = DJIProductManager[' | ||
- | var currentProductCodeImpl = currentProductCode.implementation; | ||
- | currentProductCode.implementation = ObjC.implement(currentProductCode, | ||
- | var originalResult = currentProductCodeImpl(handle, | ||
- | | ||
- | console.log(' | ||
- | shown=1; | ||
- | } | ||
- | | ||
- | | ||
- | else | ||
- | | ||
- | }); | ||
- | </ | ||
- | |||
- | ===== DJIAppForceUpdateManager - hasChecked ===== | ||
- | <code javascript DJIAppForceUpdateManager.hasChecked.js> | ||
- | //Bypass DJI Go 4 new app version check | ||
- | var DJIAppForceUpdateManager = ObjC.classes.DJIAppForceUpdateManager; | ||
- | var hasChecked = DJIAppForceUpdateManager[' | ||
- | var hasCheckedImpl = hasChecked.implementation; | ||
- | hasChecked.implementation = ObjC.implement(hasChecked, | ||
- | var originalResult = hasCheckedImpl(handle, | ||
- | | ||
- | | ||
- | }); | ||
- | </ | ||
- | |||
- | ===== DJIAppSettings - canUseIllegalChannels ===== | ||
- | <code javascript DJIAppForceUpdateManager.hasChecked.js> | ||
- | //Enable Illegal Channels (32 Channels) | ||
- | if (ObjC.available) { | ||
- | var DJIAppSettings = ObjC.classes.DJIAppSettings; | ||
- | var canUseIllegalChannels = DJIAppSettings[' | ||
- | var canUseIllegalChannelsImpl = canUseIllegalChannels.implementation; | ||
- | | ||
- | var originalResult = canUseIllegalChannelsImpl(handle, | ||
- | console.log(' | ||
- | return 1; | ||
- | }); | ||
- | var DJIRadioLogic = ObjC.classes.DJIRadioLogic; | ||
- | var canUseIllegalChannels = DJIRadioLogic[' | ||
- | var canUseIllegalChannelsImpl = canUseIllegalChannels.implementation; | ||
- | | ||
- | var originalResult = canUseIllegalChannelsImpl(handle, | ||
- | console.log(' | ||
- | return 1; | ||
- | }); | ||
- | } | ||
- | </ |