Fix reading directly from the disc
Getting the file size with os.stat() does not work with block devices. You can now: libray -i /dev/sg0 -o test.iso
This commit is contained in:
parent
b9a9e6c18d
commit
4cec6b92e5
2 changed files with 14 additions and 4 deletions
13
README.md
13
README.md
|
|
@ -56,10 +56,17 @@ required arguments:
|
||||||
-i ISO, --iso ISO Path to .iso file
|
-i ISO, --iso ISO Path to .iso file
|
||||||
```
|
```
|
||||||
|
|
||||||
Rip a PS3 to .ISO with an appropriate blu-ray drive: https://rpcs3.net/quickstart (see "Compatible Blu-ray disc drives section").
|
You need to use an appropriate blu-ray drive: https://rpcs3.net/quickstart (see "Compatible Blu-ray disc drives section").
|
||||||
Then just feed the .ISO to libray which will try to download an IRD decryption file for your iso.
|
|
||||||
|
|
||||||
Example:
|
On some systems (eg. Linux), you can decrypt directly from the disc.
|
||||||
|
|
||||||
|
```
|
||||||
|
libray -i /dev/sr0 -o ps3_game_decrypted.iso
|
||||||
|
```
|
||||||
|
|
||||||
|
Libray will try to download an IRD decryption file for your iso:
|
||||||
|
|
||||||
|
Alternatively, you can first rip the disc to an ISO file and then decrypt from the ISO file:
|
||||||
|
|
||||||
```
|
```
|
||||||
libray -i ps3_game.iso -o ps3_game_decrypted.iso
|
libray -i ps3_game.iso -o ps3_game_decrypted.iso
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,10 @@ ISO_IV = to_bytes("69474772af6fdab342743aefaa186287")
|
||||||
|
|
||||||
def filesize(filename):
|
def filesize(filename):
|
||||||
"""Get size of a file in bytes from os.stat"""
|
"""Get size of a file in bytes from os.stat"""
|
||||||
return os.stat(filename).st_size
|
try:
|
||||||
|
return open(filename, "rb").seek(0, 2)
|
||||||
|
except:
|
||||||
|
return os.stat(filename).st_size
|
||||||
|
|
||||||
|
|
||||||
def read_seven_bit_encoded_int(fileobj, order):
|
def read_seven_bit_encoded_int(fileobj, order):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue