add PC save file formats and encrypt/decrypt functions
This commit is contained in:
Binary file not shown.
Executable
BIN
Binary file not shown.
Binary file not shown.
Executable
BIN
Binary file not shown.
+20
-20
@@ -7,30 +7,30 @@ if [ "$EXECUTABLE" == "" ]; then
|
||||
EXECUTABLE="./newserv"
|
||||
fi
|
||||
|
||||
echo "... decode gci/quest-ep3.gci"
|
||||
$EXECUTABLE decode-gci tests/gci/quest-ep3.gci
|
||||
diff tests/gci/quest-ep3.dec tests/gci/quest-ep3.gci.dec
|
||||
echo "... decode gci/quest-unencrypted.gci"
|
||||
$EXECUTABLE decode-gci tests/gci/quest-unencrypted.gci
|
||||
diff tests/gci/quest-unencrypted.dec tests/gci/quest-unencrypted.gci.dec
|
||||
echo "... decode gci/quest-with-key.gci"
|
||||
$EXECUTABLE decode-gci tests/gci/quest-with-key.gci
|
||||
diff tests/gci/quest-with-key.dec tests/gci/quest-with-key.gci.dec
|
||||
echo "... decode gci/quest-without-key.gci"
|
||||
$EXECUTABLE decode-gci tests/gci/quest-without-key.gci --seed=1705B11E
|
||||
diff tests/gci/quest-without-key.dec tests/gci/quest-without-key.gci.dec
|
||||
echo "... decode saves/quest-ep3.gci"
|
||||
$EXECUTABLE decode-gci tests/saves/quest-ep3.gci
|
||||
diff tests/saves/quest-ep3.dec tests/saves/quest-ep3.gci.dec
|
||||
echo "... decode saves/quest-unencrypted.gci"
|
||||
$EXECUTABLE decode-gci tests/saves/quest-unencrypted.gci
|
||||
diff tests/saves/quest-unencrypted.dec tests/saves/quest-unencrypted.gci.dec
|
||||
echo "... decode saves/quest-with-key.gci"
|
||||
$EXECUTABLE decode-gci tests/saves/quest-with-key.gci
|
||||
diff tests/saves/quest-with-key.dec tests/saves/quest-with-key.gci.dec
|
||||
echo "... decode saves/quest-without-key.gci"
|
||||
$EXECUTABLE decode-gci tests/saves/quest-without-key.gci --seed=1705B11E
|
||||
diff tests/saves/quest-without-key.dec tests/saves/quest-without-key.gci.dec
|
||||
|
||||
echo "... re-encrypt gci/save-charfile.gci"
|
||||
$EXECUTABLE encrypt-gci-save --sys=tests/gci/save-system.gci tests/gci/save-charfile.gcid tests/gci/save-charfile.gci
|
||||
$EXECUTABLE decrypt-gci-save --sys=tests/gci/save-system.gci tests/gci/save-charfile.gci tests/gci/save-charfile-redec.gcid
|
||||
hexdump -vC tests/gci/save-charfile.gcid > tests/gci/save-charfile.gcid.hex
|
||||
hexdump -vC tests/gci/save-charfile-redec.gcid > tests/gci/save-charfile-redec.gcid.hex
|
||||
echo "... re-encrypt saves/save-charfile.gci"
|
||||
$EXECUTABLE encrypt-gci-save --sys=tests/saves/save-system.gci tests/saves/save-charfile.gcid tests/saves/save-charfile.gci
|
||||
$EXECUTABLE decrypt-gci-save --sys=tests/saves/save-system.gci tests/saves/save-charfile.gci tests/saves/save-charfile-redec.gcid
|
||||
hexdump -vC tests/saves/save-charfile.gcid > tests/saves/save-charfile.gcid.hex
|
||||
hexdump -vC tests/saves/save-charfile-redec.gcid > tests/saves/save-charfile-redec.gcid.hex
|
||||
# There should be differences on two lines: the checksum and the round2 seed
|
||||
NUM_DIFF_LINES=$(diff -y --suppress-common-lines tests/gci/save-charfile.gcid.hex tests/gci/save-charfile-redec.gcid.hex | wc -l)
|
||||
NUM_DIFF_LINES=$(diff -y --suppress-common-lines tests/saves/save-charfile.gcid.hex tests/saves/save-charfile-redec.gcid.hex | wc -l)
|
||||
if [[ $NUM_DIFF_LINES -ne 2 ]]; then
|
||||
diff -U3 tests/gci/save-charfile.gcid.hex tests/gci/save-charfile-redec.gcid.hex
|
||||
diff -U3 tests/saves/save-charfile.gcid.hex tests/saves/save-charfile-redec.gcid.hex
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "... clean up"
|
||||
rm tests/gci/*.gci.dec tests/gci/save-charfile.gci tests/gci/save-charfile-redec.gcid tests/gci/*.hex
|
||||
rm tests/saves/*.gci.dec tests/saves/save-charfile.gci tests/saves/save-charfile-redec.gcid tests/saves/*.gcid.hex
|
||||
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
EXECUTABLE="$1"
|
||||
if [ "$EXECUTABLE" == "" ]; then
|
||||
EXECUTABLE="./newserv"
|
||||
fi
|
||||
|
||||
echo "... decrypt saves/pc_gud.bin"
|
||||
$EXECUTABLE decrypt-pc-save tests/saves/pc_gud.bin --seed=1705B11E
|
||||
diff tests/saves/pc_gud.dec tests/saves/pc_gud.bin.dec
|
||||
echo "... decrypt saves/pc_sys.bin"
|
||||
$EXECUTABLE decrypt-pc-save tests/saves/pc_sys.bin --seed=1705B11E
|
||||
diff tests/saves/pc_sys.dec tests/saves/pc_sys.bin.dec
|
||||
|
||||
echo "... clean up"
|
||||
rm tests/saves/pc_*.bin.dec
|
||||
@@ -7,12 +7,12 @@ if [ "$EXECUTABLE" == "" ]; then
|
||||
EXECUTABLE="./newserv"
|
||||
fi
|
||||
|
||||
echo "... decode vms/lionel-v1.vms"
|
||||
$EXECUTABLE decode-vms tests/vms/lionel-v1.vms
|
||||
diff tests/vms/lionel-v1.dec tests/vms/lionel-v1.vms.dec
|
||||
echo "... decode vms/lionel-v2.vms"
|
||||
$EXECUTABLE decode-vms tests/vms/lionel-v2.vms --seed=D0231610
|
||||
diff tests/vms/lionel-v2.dec tests/vms/lionel-v2.vms.dec
|
||||
echo "... decode saves/lionel-v1.vms"
|
||||
$EXECUTABLE decode-vms tests/saves/lionel-v1.vms
|
||||
diff tests/saves/lionel-v1.dec tests/saves/lionel-v1.vms.dec
|
||||
echo "... decode saves/lionel-v2.vms"
|
||||
$EXECUTABLE decode-vms tests/saves/lionel-v2.vms --seed=D0231610
|
||||
diff tests/saves/lionel-v2.dec tests/saves/lionel-v2.vms.dec
|
||||
|
||||
echo "... clean up"
|
||||
rm tests/vms/*.vms.dec
|
||||
rm tests/saves/*.vms.dec
|
||||
|
||||
Reference in New Issue
Block a user