[RELEASE][PS3 VSH Plugin] PS3Lock v0.4

MixeryMaxe

Developer
Hey there

i would like release my PS3Lock v0.4 :)
[video=youtube_share;6wbQCPaQeVc]http://youtu.be/6wbQCPaQeVc[/video]


PS3Lock is an authentication-system for the PlayStation 3.
An personal password protects your PS3 from unauthorized access.


How it works
View attachment 3606
After installation, at first boot you will be prompted to define a password (min. 2 digits, max. 10 digits).
To set the password you can use the following buttons:

- :dpad-up:, :dpad-down:, :dpad-left:, :dpad-right:
- :/\:, :o:, :x:, :[]:
- :L1:, :R1:

With :L3: you can cancel the entry and with :R3: you can save the password.

After saving, the PS3 is protected by this password and is required after each restart.
After 3 incorrect entries the PS3 will shut down automatically.
Authentication is done in the same way as you save it or via an USB device.
You have to set up this USB device and this device have to be in "/dev_usb000" (most right, close to BD drive)
on PS3 startup.


Change Settings
View attachment 3607
In XMB you have to push :start:+:R3: to open the settings menu.

- Password protection:
Enable/Disable password request after every reboot.

- USB authentication:
Enable/Disable USB authentication. This saves the password entry when you restart.

-*Restricted mode:
coming soon.

- Buzzer -incorrect PW-:
Enable/Disable PS3 buzzer if the entry is false.
1. misentry = 1 beep
2. misentry = 2 bepp
3. misentry = 3 beep = PS3 shutdown

- Menu sound:
Enable/Disable Menu sound.

- Set new password:
Here you can set a new password (min 2 digits, max 10 digits).
!! CAUTION !!
If you use the "USB authentication", you have to set up again the USB device.


PS3Lock Statistics
View attachment 3608
While you are in settings menu you can go to the statistics screen of PS3Lock. There are following infos:

- PS3/PS3Lock starts:
How often the PS3 was launched (with PS3Lock)

- Correct password:
How often the correct password has been entered

- Incerrect password:
How often the incorrect password has been entered

- USB authentication:
How often performed an USB authentication

- Shutdown through PS3Lock:
How often the PS3 was shutdown by PS3Lock


With :R1: you can open the statistics screen and with :L1: you can go back to settings screen.
in the statistics screen you have also following options:

:/\: Reset the PS3Lock config file
:[]: Reset all statistics


Installation
---
1. Plugin installation on Cobra CFW

- Copy the content from "~hdd0" to "/dev_hdd0".
- Copy the boot_plugins.txt to "/dev_hdd0"
- If boot_plugins.txt already exist on /dev_hdd0 then add the following line:
Code:
/dev_hdd0/Plugins/PS3Lock/ps3lock_vsh.sprx
- Reboot the PS3.


2. USB-Authentication

- Copy/Create the flag file "ps3.lock" to/on any USB device in fat32 format (X:/ps3.lock)
- This USB device have to be in "/dev_usb000" (most right, close to BD drive)
- Open the PS3Lock settings (:start:+:R3:)
- Go to "USB authentication" and push :[]:


3. Background

- PS3Lock can also load a background pic from "/dev_hdd0/Plugins/PS3Lock/PS3Lock_BG.png" (720x400).
Maybe someone can create a nice background, i can't do this :)


Forgot password ?

There are two ways to reset the password:

1.
With a correctly set up USB device AND "USB authentication" enabled in the settings.

- Boot into XMB with this USB device.

- Delete the PS3Lock config file with multiMAN or other file manager.
"/dev_hdd0/Plugins/PS3Lock/ps3lock_cfg.bin"

- Reboot your PS3.

- PS3Lock now behaves like in the first start, now set up a new password.


2.
If you don't have an USB device OR "USB authentication" is disabled.

- Boot into recovery mode.

- Enter "3. Restore File System".
The "boot_plugins.txt" will be delete, now all plugins are disabled.

- Delete the PS3Lock config file with multiMAN or other file manager.
"/dev_hdd0/Plugins/PS3Lock/ps3lock_cfg.bin"

- Rebuild the "boot_plugins.txt" on "/dev_hdd0/" and reboot your PS3.

- PS3Lock now behaves like in the first start, now set up a new password.


Changelog

0.4
re-wrote the whole plugin (now based on VSH Menu)
add statistics

**********

0.2
add restricted mode

0.1
initial release
add usb authentication


Credits to

[MENTION=21]3141card[/MENTION]
[MENTION=5831]ermak86[/MENTION]


DOWNLOAD:

View attachment 3609
View attachment 3610
View attachment 3611
View attachment 3615
View attachment 3613

I made a small change in my source and now we have a "language.h" to add more languages.
Just add your language like the other languages.

View attachment 3614
 
Last edited:
Will check this out and write some news soon.. :)

Thanks

I'm gonna be checking out this as well (and possibly make the background he asked me to) only problem is now I have to use my TV for my computer monitor as well :p (kid broke my laptop screen :p)
 
First thing that comes to mind is if there are compatibility problems with the other "special" boot modes of the PS3 ?.... like "factory/service mode"... "recovery mode"... or any other non-standard boot mode like when you use the option "restore filesystem" and the PS3 reboots directlly with the rebuild process... dunno, the RSOD and BSOD that are boot modes too (doesnt displays other thing that an error screen)

As a suggestion... in the readme you could add an explain of what happens inside the firmware to make the lock (in plain words for everybody to understand, trying to avoid technicisms but being explicit when mentioning files or processes)
The interface is based on vsh menu, so is a plugin... but what is modifyed is sysconf_plugin.sprx... or other files ?
 
First thing that comes to mind is if there are compatibility problems with the other "special" boot modes of the PS3 ?.... like "factory/service mode"... "recovery mode"... or any other non-standard boot mode like when you use the option "restore filesystem" and the PS3 reboots directlly with the rebuild process... dunno, the RSOD and BSOD that are boot modes too (doesnt displays other thing that an error screen)

As a suggestion... in the readme you could add an explain of what happens inside the firmware to make the lock (in plain words for everybody to understand, trying to avoid technicisms but being explicit when mentioning files or processes)
The interface is based on vsh menu, so is a plugin...

Ok you are right, i forgot some important things e.g. what to do if you forgot your password, this happen to me while i tested my plugin :)
In next update i will add this all to the readme, thank you for the hint.

This plugin is based on poc vsh menu from [MENTION=21]3141card[/MENTION] otherwise there are not much interventions into the ps3 system.The plugin is active only when you boot into xmb. I don't know what happen if you have a RSOD or BSOD (my first and last RSOD was 3 years ago) but you can boot into recovery mode just fine.
If you forgot your password you can go to recovery mode and enter 3. Restore File System to delete the "boot_plugins.txt" from hdd0. All plugins are disable and you can delete the ps3lock config file (with multiman or other filemanager) "/dev_hdd0/Plugins/PS3Lock/ps3lock_cfg.bin". After rebuilding the "boot_plugins.txt" and rebooting console ps3lock goes to "First Use" screen and you can set a new password.

... but what is modifyed is sysconf_plugin.sprx... or other files ?

This question i have to pass on [MENTION=5831]ermak86[/MENTION]
The restricted mode in version 0.2 was based on XMB Lock from ermak86. In version 0.4 this mode is not available but in the future.
 
how it works:
inside sprx "ext>prx" you have all the code.to lock one path you must redirect the path line in "prx" offset
for example to lock network settings you must redirect this offset 001358F0 inside sysconf_plugin.prx from "4F 6E 50 75 73 68 58 6D" to "2E 2E 2E 2E 2E 2E 58 6D"
from "OnPushXmListNetworkConfig" to "......XmListNetworkConfig"
 
Last edited:
how it works:
inside sprx "ext>prx" you have all the code.to lock one path you must redirect the path line in "prx" offset
for example to lock network settings you must redirect this offset 001358F0 inside sysconf_plugin.prx from "4F 6E 50 75 73 68 58 6D" to "2E 2E 2E 2E 2E 2E 58 6D"
from "OnPushXmListNetworkConfig" to "......XmListNetworkConfig"
Thanks [MENTION=5831]ermak86[/MENTION]
 
[MENTION=6103]MixeryMaxe[/MENTION] how's this :)

PS3Lock_BG.png
 
Hey :x: MixeryMaxe :x: excellent work!
Thank you [MENTION=5831]ermak86[/MENTION] ;)

i added greek lang

I try it but it doesn't work :( Sorry
View attachment 3622

You can only use the letters from the font file of the vsh menu.


[MENTION=6]bitsbubba[/MENTION]

Both pics are very nice. Thank you.
I have to redefine some text positions for cleaner look and better translations (= longer strings).
After that maybe we can customize the background e.g. a small clear area for the password input "********"
 
Last edited:
Thank you [MENTION=5831]ermak86[/MENTION] ;)



I try it but it doesn't work :( Sorry
View attachment 3622

You can only use the letters from the font file of the vsh menu.


[MENTION=6]bitsbubba[/MENTION]

Both pics are very nice. Thank you.
I have to redefine some text positions for cleaner look and better translations (= longer strings).
After that maybe we can customize the background e.g. a small clear area for the password input "********"

I don't know how to do but it may be interesting to create one font file per alphabet type. Or add to the original one. It will be helpfull for all the vsh menus anyway. [MENTION=21]3141card[/MENTION] said "there are hidden pixels containing information about char-width!"...

edit : I never paid attention to this discussion... : http://www.psx-place.com/forum/vsh-menu/help-font-png-vsh-menu-2170-post16546.html#post16546
 
Last edited:
I get char rendering from a loaded sys-font working, but it need many fine-tuning. I give the code
to masterzorag, maybe he is interested to finish this work. For me is it boring stuff. Furthermore,
fonts low-level C stuff is particularly complicated, one might think its easy, but it is not.

Regarding loading of user fonts, I found the sub() for loading, I use it correct but get always a freeze.
I see too, that the vsh font-lib is only init with 16 slots for sysfonts, no userfonts, maybe thats the prob.
(reversing font stuff in vsh is complicated, big unions with many diff. structs and other types, given from
sub() to sub() to sub()..., something changed here, somthing copyed there, very confusing and hard to revers)

Here is a screenshot of a very simply implementation, only a small ascii char cache, prerendert at startup
and with a fixed size. Unicode chars are possible too, kk, and functions for doing things like changing font size.
1GMwyBQ.png
Maybe masterzorag found time and pleasure to make such things.
 
masterzorag is on holiday, enjoy mate!

I make a char cache + utf8_to_unicode, for more langs.
8Z0vd8L.png
(text is rubbish, something from a wikipedia site in diff. langs)
japanese, chinese, koreanisch works fine, but no idea why cyrillic and greek letters not work correct,
I hate this font shit.

EDIT:

Hmmm, no idea why, if I use the 5. loaded sysfont, this one I capture for font.png, than it work:
NBCKrWE.png
 
Last edited:
Back
Top