First - I take no responsibility if your phone is stolen and all your company secrets get stolen. I have edited the Email.apk to not do anything when asked to set a policy. You will need root to use this, and it only works on Froyo. This was made from the Sapphire email apk.
How?
I decompiled the apk with apktool. I then looked onlien and found the source code for the email app. Within that I found the securitypolicy.java file. I opened it up and compared it to the SecurityPolicy.smali file that apktool made for me.
I found the code in smali and simply changed one "True" to "False", or 1 to 0 (line 151 in java, or 523 in smali). I then rebuilt the apk and lo and behold, no security policy.
Note - I only did this because my exchange policy does not work on Froyo, I am fine with having a policy I just wanted email to work at all, and touchdown basically sucked.
Thanks go to cvpcs, sniffle, and rotordroid for the tips. :-D
I LOVE OPEN SOURCE
JAVA excerpt:
SMALI excerpt:Code:127 boolean policiesFound = false; 128 129 int minPasswordLength = Integer.MIN_VALUE; 130 int passwordMode = Integer.MIN_VALUE; 131 int maxPasswordFails = Integer.MAX_VALUE; 132 int maxScreenLockTime = Integer.MAX_VALUE; 133 boolean requireRemoteWipe = false; 134 135 Cursor c = mContext.getContentResolver().query(Account.CONTENT_URI, 136 ACCOUNT_SECURITY_PROJECTION, WHERE_ACCOUNT_SECURITY_NONZERO, null, null); 137 try { 138 while (c.moveToNext()) { 139 int flags = c.getInt(ACCOUNT_SECURITY_COLUMN_FLAGS); 140 if (flags != 0) { 141 PolicySet p = new PolicySet(flags); 142 minPasswordLength = Math.max(p.mMinPasswordLength, minPasswordLength); 143 passwordMode = Math.max(p.mPasswordMode, passwordMode); 144 if (p.mMaxPasswordFails > 0) { 145 maxPasswordFails = Math.min(p.mMaxPasswordFails, maxPasswordFails); 146 } 147 if (p.mMaxScreenLockTime > 0) { 148 maxScreenLockTime = Math.min(p.mMaxScreenLockTime, maxScreenLockTime); 149 } 150 requireRemoteWipe |= p.mRequireRemoteWipe; 151 policiesFound = true; //*CHANGE TO FALSE IN SMALI 152 } 153 }
Code:520 or-int/2addr v5, v0 521 522 .line 151 523 const/4 v13, 0x0 //*WAS 0x1 524 525 goto :goto_0

LinkBack URL
About LinkBacks




Reply With Quote