Skip to content

ExchangePolicyCleaner is an iOS tweak that ignores Microsoft Exchange ActiveSync policies.

License

Notifications You must be signed in to change notification settings

joedj/ExchangePolicyCleaner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What is it?

ExchangePolicyCleaner is an iOS tweak that ignores Microsoft Exchange ActiveSync policies.

http://moreinfo.thebigboss.org/moreinfo/depiction.php?file=exchangepolicycleanerDp

Donate with PayPal

How do I build it?

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

Gotchas

  • 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];
        }
    }
})()

But I'd rather use cycript

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);
}

What does an Exchange ActiveSync policy look like?

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 = ();
}

About

ExchangePolicyCleaner is an iOS tweak that ignores Microsoft Exchange ActiveSync policies.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages