This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
howto:fridahooklibrary [2017/10/22 05:28] czokie [ checkIsAdminUser ] |
howto:fridahooklibrary [2017/10/24 06:05] jezzab [DJIAppSettings - canUseIllegalChannels] |
||
---|---|---|---|
Line 86: | Line 86: | ||
</ | </ | ||
- | ===== checkIsAdminUser | + | ===== AFSecurityPolicy - setSSLPinningMode |
- | <code javascript | + | <code javascript |
if (ObjC.available) { | 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 ===== |
- | var checkIsAdminUserImpl | + | <code javascript DJIUpgradeNotifyViewModel.notifyHidden.js> |
- | | + | //Bypass upgrade notification on splash screen |
- | var originalResult = checkIsAdminUserImpl(handle, selector); | + | var DJIUpgradeNotifyViewModel = ObjC.classes.DJIUpgradeNotifyViewModel; |
- | console.log(' | + | var notifyHidden |
- | return 1; | + | var notifyHiddenImpl |
+ | notifyHidden.implementation = ObjC.implement(notifyHidden, function (handle, selector) { | ||
+ | | ||
+ | | ||
+ | | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | ===== 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['- sdr_force_fcc' | ||
+ | var sdr_force_fccImpl = sdr_force_fcc.implementation; | ||
+ | sdr_force_fcc.implementation = ObjC.implement(sdr_force_fcc, function (handle, selector) { | ||
+ | var originalResult | ||
+ | | ||
+ | | ||
+ | | ||
+ | }); | ||
+ | |||
+ | //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; | ||
+ | } | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | ===== 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; | ||
}); | }); | ||
} | } | ||
</ | </ |