#!/bin/bash
function edatdecrypt {
echo -n "Enter EDAT name (no extension): "
read edatname
if [ -f ../sdat/$edatname.edat ]; then
export edatext=edat
else
if [ -f ../sdat/$edatname.EDAT ]; then
export edatext=EDAT
else
echo "No such file or directory."
echo "Press any key to continue ..."
read -n 1
clear
mainmenu
fi
fi
echo -n "Enter .rap name (no extension): "
read rapfile
echo -n "Enter dev_klic: "
read dev_klic
cp -rf ../edat/$edatname.$edatext ./
cp -rf ../raps/$rapfile.rap ./
java -cp ./core.jar -Xms64m -Xmx1024m DecryptLocal $edatname.$edatext $edatname.dat $rapfile.rap $dev_klic
cp -rf ./$edatname.dat ../edat/
rm ./$edatname.dat
rm ./$edatname.$edatext
rm ./$rapfile.rap
echo ""
echo "EDAT decrypted! $edatname.$edatext -> $edatname.dat"
echo "Press any key to continue ..."
read -n 1
clear
mainmenu
}
function sdatdecrypt {
echo -n "Enter SDAT name (no extension): "
read sdatname
if [ -f ../sdat/$sdatname.sdat ]; then
export sdatext=sdat
else
if [ -f ../sdat/$sdatname.SDAT ]; then
export sdatext=SDAT
else
echo "No such file or directory."
echo "Press any key to continue ..."
read -n 1
clear
mainmenu
fi
fi
cp -rf ../sdat/$sdatname.$sdatext ./
java -cp ./core.jar -Xms64m -Xmx1024m DecryptSDAT $sdatname.$sdatext $sdatname.dat
cp -rf ./$sdatname.dat ../sdat/
rm ./$sdatname.dat
rm ./$sdatname.$sdatext
echo ""
echo "SDAT decrypted! $sdatname.$sdatext -> $sdatname.dat"
echo "Keep the original SDAT."
echo "Press any key to continue ..."
read -n 1
clear
mainmenu
}
function sdatencrypt {
echo "Original SDAT file must be in sdat folder!"
echo -n "Enter decrypted SDAT name (no extension): "
read sdatname
if [ -f ../sdat/$sdatname.sdat ]; then
export sdatext=sdat
else
if [ -f ../sdat/$sdatname.SDAT ]; then
export sdatext=SDAT
else
echo "No such file or directory."
echo "Press any key to continue ..."
read -n 1
clear
mainmenu
fi
fi
cp -rf ../sdat/$sdatname.dat ./
xxd -g 0 ../sdat/$sdatname.$sdatext | grep 0000050
echo -n "Copy above hex string here: "
read samplehash
xxd -g 0 ../sdat/$sdatname.$sdatext | grep 0000060
echo -n "Copy above hex string here: "
read sampleklic
java -cp ./core.jar -Xms64m -Xmx1024m EncryptSDAT $sdatname.dat $sdatname.$sdatext $samplehash $sampleklic
mv ../sdat/$sdatname.$sdatext ../sdat/$sdatname.$sdatext.bak
cp -rf ./$sdatname.$sdatext ../sdat/
rm ./$sdatname.dat
rm ./$sdatname.$sdatext
echo ""
echo "SDAT encrypted! $sdatname.dat -> $sdatname.$sdatext"
echo "Press any key to continue ..."
read -n 1
clear
mainmenu
}
function edatencrypt {
echo -n "Enter decrypted EDAT name (no extension): "
read decedatname
if [ -f ../edat/$decedatname.edat ]; then
export edatext=sdat
else
if [ -f ../sdat/$decedatname.EDAT ]; then
export edatext=EDAT
else
echo "No such file or directory."
echo "Press any key to continue ..."
read -n 1
clear
mainmenu
fi
fi
echo -n "Enter Content ID: "
read CID
echo -n "Enter dev_klic: "
read dev_klic
cp -rf ../edat/$decedatname.dat ./
java -cp ./core.jar -Xms64m -Xmx1024m EncryptEDAT $decedatname.dat $decedatname.$edatext $dev_klic $CID 0C 00 03
mv ../edat/$edatname.$edatext ../edat/$edatname.$edatext.bak
cp -rf ./$decedatname.edat ../edat/
rm ./$decedatname.dat
rm ./$decedatname.$edatext
echo ""
echo "EDAT encrypted! $decedatname.dat -> $decedatname.$edatext"
echo "Press any key to continue ..."
read -n 1
clear
mainmenu
}
function mainmenu {
echo "==========================="
echo "TrueAncestor EDAT Rebuilder"
echo " by JjKkYu"
echo "(bash script by sguerrini97)"
echo "==========================="
echo ""
echo "Options:"
echo "1. Decrypt EDAT | 3. Decrypt SDAT"
echo "2. Encrypt EDAT | 4. Encrypt SDAT"
echo "x. Exit"
echo -n "Select an option: "
read option
if [ $option = "1" ]; then
edatdecrypt
else
if [ $option = "2" ]; then
edatencrypt
else
if [ $option = "3" ]; then
sdatdecrypt
else
if [ $option = "4" ]; then
sdatencrypt
else
if [ $option = "x" ]; then
echo "Goodbye!"
else
echo "Unknown option."
echo "Press any key to continue ..."
read -n 1
clear
mainmenu
fi
fi
fi
fi
fi
}
mainmenu