ExchangePolicyCleaner is an iOS tweak that ignores Microsoft Exchange ActiveSync policies.
http://moreinfo.thebigboss.org/moreinfo/depiction.php?file=exchangepolicycleanerDp
ExchangePolicyCleaner uses the Theos Makefile system:
git clone git://github.com/joedj/ExchangePolicyCleaner.git
cd ExchangePolicyCleaner
ln -s $THEOS theos
THEOS_DEVICE_IP=1.2.3.4 make package install
- Changes will not take effect until you refresh your EAS policy, e.g. by disabling then re-enabling your Exchange account. You can also do this using cycript:
#!/usr/bin/env cycript -p dataaccessd
(function() {
for each (var a in DAAccountManager.sharedInstance.accounts) {
if ([a.policyManager respondsToSelector:@selector(requestPolicyUpdate)]) {
[a.policyManager requestPolicyUpdate];
}
}
})()
Instead of using this MobileSubstrate tweak, you can apply an ephemeral hook to -[ASWBXMLPolicy _cleanUpPolicyData:] using cycript:
#!/usr/bin/env cycript -p dataaccessd
if (typeof(original_ASWBXMLPolicy_cleanUpPolicyData) == 'undefined') {
original_ASWBXMLPolicy_cleanUpPolicyData = ASWBXMLPolicy.messages['_cleanUpPolicyData:'];
}
ASWBXMLPolicy.messages['_cleanUpPolicyData:'] = function(policy) {
[policy removeAllObjects];
original_ASWBXMLPolicy_cleanUpPolicyData.call(this, policy);
}
Here is an example policy as passed to the -[ASWBXMLPolicy _cleanUpPolicyData:] method:
{
ASPolicyType = ASWBXMLPolicyType;
AllowBluetooth = 2;
AllowBrowser = 1;
AllowCamera = 1;
AllowConsumerEmail = 1;
AllowDesktopSync = 1;
AllowHTMLEmail = 1;
AllowInternetSharing = 1;
AllowIrDA = 1;
AllowPOPIMAPEmail = 1;
AllowRemoteDesktop = 1;
AllowSMIMEEncryptionAlgorithmNegotiation = 2;
AllowSMIMESoftCerts = 1;
AllowSimpleDevicePassword = 1;
AllowStorageCard = 1;
AllowTextMessaging = 1;
AllowUnsignedApplications = 1;
AllowUnsignedInstallationPackages = 1;
AllowWiFi = 1;
AlphanumericPasswordEnabled = 0;
ApprovedApplicationList = ();
AttachmentsEnabled = 1;
DeviceEncryptionEnabled = 1;
DevicePasswordEnabled = 1;
DevicePasswordExpiration = "";
DevicePasswordHistory = 0;
MaxAttachmentSize = "";
MaxCalendarAgeFilter = 0;
MaxDevicePasswordFailedAttempts = 16;
MaxEmailAgeFilter = 0;
MaxEmailBodyTruncationSize = "-1";
MaxInactivityTimeDeviceLock = 900;
MinDevicePasswordComplexCharacters = 3;
MinDevicePasswordLength = 4;
PasswordRecoveryEnabled = 0;
RequireDeviceEncryption = 1;
RequireEncryptedSMIMEMessages = 0;
RequireEncryptionSMIMEAlgorithm = 0;
RequireManualSyncWhenRoaming = 0;
RequireSignedSMIMEAlgorithm = 0;
RequireSingedSMIMEMessages = 0;
UnapprovedInROMAppliationList = ();
}