Difference between revisions of "Patch WebOS Bypassing Lock Screen"

From WebOS Internals
Jump to navigation Jump to search
(Added information to help bypass password security.)
(massively simplified this)
Line 1: Line 1:
 
== About ==  
 
== About ==  
The 1.1 update allowed me to connect to Exchange (EAS) with a policy enforced.  Of course, having my screen lock every single time I turn off the screen seems a little harsh.  The policy asks for a 10-minute timeout, but the way it's implemented in WebOS, the screen locks whenever the screen turns off.  Note that this same hack appears to work with WebOS 1.2.0 as released on 9/28/2009, but has to be reapplied after you upgrade.
+
The 1.1 update allowed me to connect to Exchange (EAS) with a policy enforced.  Of course, having my screen lock every single time I turn off the screen seems a little harsh.  The policy asks for a 10-minute timeout, but the way it's implemented in WebOS, the screen locks whenever the screen turns off.   
  
Below is a very insecure hack to automatically unlock the screen by faking the key presses for your actual passcode.  It's insecure because you actually have to put your real passcode into the code.  Still, here it is.
+
== Modification ==
  
== 1.2 ==
+
Below is a modification to automatically unlock the screen.
===Simple Pin===
 
In 1.2 the location changed.
 
Edit <pre>/usr/palm/applications/com.palm.app.phone/app/controllers/pin-assistant.js</pre>
 
After line 161
 
<pre>
 
160: Mojo.Log.error( "PhoneApp: PinAssistant#onDeviceLockModeChanged CAUGHT EXCEPTION: %j" , e);}"
 
161: }
 
</pre>
 
 
 
add the following lines, replacing 1,2,3,4 with your own passcode digits.
 
 
 
<pre>
 
162: this.updatePinFields('1');
 
163: this.updatePinFields('2');
 
164: this.updatePinFields('3');
 
165: this.updatePinFields('4');
 
</pre>
 
 
 
 
 
===Password===
 
This is a similar hack for those with the EAS password security policy in place, but I am looking into a way to disable the lock altogether. This is a good start though, as it removes the need for the keyboard by pre-filling the password field so just tapping the "Done" button unlocks the phone.
 
 
 
Edit the same file:<pre>/usr/palm/applications/com.palm.app.phone/app/controllers/pin-assistant.js</pre>
 
At line 58 change this:
 
<pre>
 
this.passwordModel = { };
 
</pre>
 
 
 
to this:
 
<pre>
 
this.passwordModel = {
 
    value: "PASSWORD"
 
};
 
</pre>
 
 
 
Where PASSWORD is your device's password. Reboot the phone or restart Luna to ensure the change goes into effect.
 
 
 
== 1.1 ==
 
  
 
Edit <pre>/usr/palm/applications/com.palm.app.phone/app/controllers/pin-assistant.js</pre>
 
Edit <pre>/usr/palm/applications/com.palm.app.phone/app/controllers/pin-assistant.js</pre>
  
After line 71 "this.controller.listen('password', ..." add the following lines, replacing 1,2,3,4 with your own passcode digits.
+
Immediately after " setup: function() { " (line 32 in 1.1, line number may vary in other versions)
  
<pre>
+
add the line:
this.updatePinFields('1');
+
<pre>            
this.updatePinFields('2');
+
  this.unlock(); return;
this.updatePinFields('3');
 
this.updatePinFields('4');
 
 
</pre>
 
</pre>
  
What you've done is edit the "setup" function to do everything it already does to prepare the screen unlock application, then automatically key in your passcode.
+
What you've done is edit the "setup" function to immediately call the unlock function and return (skipping anything else it would normally do).
  
 
Reboot, and your screen should automatically unlock as soon as you slide it open.
 
Reboot, and your screen should automatically unlock as soon as you slide it open.
  
 
Should work like a charm!
 
Should work like a charm!

Revision as of 16:36, 30 September 2009

About

The 1.1 update allowed me to connect to Exchange (EAS) with a policy enforced. Of course, having my screen lock every single time I turn off the screen seems a little harsh. The policy asks for a 10-minute timeout, but the way it's implemented in WebOS, the screen locks whenever the screen turns off.

Modification

Below is a modification to automatically unlock the screen.

Edit

/usr/palm/applications/com.palm.app.phone/app/controllers/pin-assistant.js

Immediately after " setup: function() { " (line 32 in 1.1, line number may vary in other versions)

add the line:

              
  this.unlock(); return;

What you've done is edit the "setup" function to immediately call the unlock function and return (skipping anything else it would normally do).

Reboot, and your screen should automatically unlock as soon as you slide it open.

Should work like a charm!