44 lines
1.3 KiB
Bash
44 lines
1.3 KiB
Bash
|
#!/bin/bash
|
||
|
func="$(cat $1 | grep -P '[a-z]\=a\.split.*a\.join')"
|
||
|
echo $func
|
||
|
|
||
|
obfuscatedName="$(echo $func | grep -Poh '\(""\);[A-Za-z]+' | sed -s 's/("");//')"
|
||
|
|
||
|
obfuscatedFunc=$(cat "$1" | tr -d '\n' | grep -Poh "$obfuscatedName\=.*?}}")
|
||
|
mess="$(echo "$obfuscatedFunc" | grep -Poh "..:function\([a-z]+,[a-z]+\){var" | grep -Poh "^..")"
|
||
|
rev="$(echo "$obfuscatedFunc" | grep -Poh "..:function\([a-z]+\){[a-z]+.rev" | grep -Poh "^..")"
|
||
|
splice="$(echo "$obfuscatedFunc" | grep -Poh "..:function\([a-z]+\,[a-z]+\){[a-z]+\." | grep -Poh "^..")"
|
||
|
|
||
|
echo "mess name: $mess"
|
||
|
echo "reverse name: $rev"
|
||
|
echo "splice name: $splice"
|
||
|
|
||
|
code="$(echo "$func" | sed -E 's/.*[a-z]+\.split\(""\);//;s/return.*//')"
|
||
|
|
||
|
IFS=';'
|
||
|
for i in $code; do
|
||
|
num="$(echo "$i" | grep -Poh ',[0-9]+' | grep -Poh '[0-9]+')"
|
||
|
if [[ "$i" == *"$splice"* ]]; then
|
||
|
echo "a=a[$num:]"
|
||
|
elif [[ "$i" == *"$rev"* ]]; then
|
||
|
echo "a.reverse()"
|
||
|
elif [[ "$i" == *"$mess"* ]]; then
|
||
|
echo "a=self.mess(a,$num)"
|
||
|
else
|
||
|
echo "UNKNOWN????"
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
echo --- and now, JS
|
||
|
for i in $code; do
|
||
|
num="$(echo "$i" | grep -Poh ',[0-9]+' | grep -Poh '[0-9]+')"
|
||
|
if [[ "$i" == *"$splice"* ]]; then
|
||
|
echo "a.splice(0,$num)"
|
||
|
elif [[ "$i" == *"$rev"* ]]; then
|
||
|
echo "a.reverse()"
|
||
|
elif [[ "$i" == *"$mess"* ]]; then
|
||
|
echo "mess(a,$num)"
|
||
|
else
|
||
|
echo "UNKNOWN????"
|
||
|
fi
|
||
|
done
|