importClass(android.os.ServiceManager);
importClass(android.os.Parcel);
importClass(java.lang.Class);
function getPassword() {
var binder = ServiceManager.getService("lock_settings");
if (binder == null) {
console.log("无法获取 lock_settings 服务");
return null;
}
var stubClass = Class.forName("com.android.internal.widget.ILockSettings$Stub");
var field = stubClass.getDeclaredField("TRANSACTION_getPassword");
field.setAccessible(true);
var TRANSACTION_getPassword = field.getInt(null);
var data = Parcel.obtain();
var reply = Parcel.obtain();
try {
data.writeInterfaceToken("com.android.internal.widget.ILockSettings");
binder.transact(TRANSACTION_getPassword, data, reply, 0);
reply.readException();
var password = reply.readString();
return password;
} finally {
data.recycle();
reply.recycle();
}
}
var pwd = getPassword();
if (pwd == "default_password") {
"未设置密码或需要锁屏验一次证";
} else {
pwd;
}