2020-12-12 12:12:11 -05:00
|
|
|
#!/bin/sh
|
2021-07-21 13:44:19 -04:00
|
|
|
#License: GPL-3.0
|
|
|
|
#Description: Hypatia conversion script for ClamAV databases (GPL-2.0)
|
2020-07-25 09:21:38 -04:00
|
|
|
|
2021-09-20 12:09:15 -04:00
|
|
|
#sudo -i freshclam
|
2022-12-15 06:14:20 -05:00
|
|
|
origDir="$PWD"
|
2020-07-25 09:21:38 -04:00
|
|
|
mkdir /tmp/mss
|
2022-12-15 06:14:20 -05:00
|
|
|
mkdir /tmp/mss/optimized
|
2021-07-21 13:44:19 -04:00
|
|
|
mkdir /tmp/mss/processed
|
2020-07-25 09:21:38 -04:00
|
|
|
cd /tmp/mss
|
2021-09-20 12:09:15 -04:00
|
|
|
cp /var/lib/clamav/main.c*d .
|
2021-07-21 15:27:59 -04:00
|
|
|
cp /var/lib/clamav/daily.c*d .
|
2021-09-20 12:09:15 -04:00
|
|
|
sigtool -u main.c*d
|
2021-07-21 15:27:59 -04:00
|
|
|
sigtool -u daily.c*d
|
2020-07-25 09:21:38 -04:00
|
|
|
|
|
|
|
#MD5
|
|
|
|
grep "Andr\\." main.hdb >> Android.hdb
|
|
|
|
grep "Andr\\." daily.hdb >> Android.hdb
|
|
|
|
grep "Unix\\." main.hdb >> Android.hdb
|
|
|
|
grep "Unix\\." daily.hdb >> Android.hdb
|
|
|
|
grep "Multios\\." main.hdb >> Android.hdb
|
|
|
|
grep "Multios\\." daily.hdb >> Android.hdb
|
|
|
|
|
|
|
|
#SHA
|
|
|
|
grep "Andr\\." main.hsb >> Android.hsb
|
|
|
|
grep "Andr\\." daily.hsb >> Android.hsb
|
|
|
|
grep "Unix\\." main.hsb >> Android.hsb
|
|
|
|
grep "Unix\\." daily.hsb >> Android.hsb
|
|
|
|
grep "Multios\\." main.hsb >> Android.hsb
|
|
|
|
grep "Multios\\." daily.hsb >> Android.hsb
|
|
|
|
|
2021-07-21 13:44:19 -04:00
|
|
|
databases=("Android.hdb" "Android.hsb" "main.hdb" "main.hsb" "daily.hdb" "daily.hsb");
|
|
|
|
for db in "${databases[@]}"
|
|
|
|
do
|
2022-12-15 06:14:20 -05:00
|
|
|
#remove unnecessary bits to reduce file size and app memory usage
|
|
|
|
python "$origDir"/optimize.py "$db" >> optimized/"$db";
|
|
|
|
#sort to increase compression efficiency
|
|
|
|
sort -k3 -t ":" --parallel=$(nproc) --output processed/"$db" optimized/"$db";
|
2021-07-21 13:44:19 -04:00
|
|
|
done;
|
|
|
|
|
2022-12-15 06:14:20 -05:00
|
|
|
gzip -k /tmp/mss/*.hdb
|
|
|
|
gzip -k /tmp/mss/*.hsb
|
|
|
|
gzip -k /tmp/mss/processed/*.hdb
|
|
|
|
gzip -k /tmp/mss/processed/*.hsb
|