HDD Encryption/Decryption: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
Line 2: Line 2:
=Introduction=
=Introduction=


* The goal is to mount a PS3 HDD on a FreeBSD PC and do changes to it.
* The goal is to mount a PS3 HDD on a FreeBSD PC (or FreeBSD PS3) and do changes to it.


=GEOM bswap16=
=GEOM bswap16=

Revision as of 21:57, 28 February 2013

Introduction

  • The goal is to mount a PS3 HDD on a FreeBSD PC (or FreeBSD PS3) and do changes to it.

GEOM bswap16

  • Swaps bytes in every 16-bit word
  • Similar to dm-bswap16 on Linux.
  • The kernel module needs a user-space GEOM counterpart, a shared library which is loaded and used by geom application to send commands to the kernel part.

http://gitorious.ps3dev.net/ps3freebsd/geom-bswap16

http://gitorious.ps3dev.net/ps3freebsd/geom-bswap16-lib

Test

# UI shared library for GEOM bswap16

cp geom_bswap16.so /lib/geom

# Load kernel module

kldload geom_bswap16.ko

# Create a memory block device for testing

mdconfig -a -t vnode -f ~/test.bin -u 0

# Create /dev/md0.bswap16

geom bswap16 create /dev/md0

hexdump -C /dev/md0

00000000  bb aa dd cc 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000020  ee ff 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00100000

hexdump -C /dev/md0.bswap16

00000000  aa bb cc dd 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000020  ff ee 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00100000

geom bswap16 destroy md0.bswap16

mdconfig -d -u 0

GEOM geli

GEOM part PS3

Links