mirror of
https://github.com/speed47/spectre-meltdown-checker
synced 2025-01-03 18:15:57 +01:00
fix extract-vmlinux for non-gzip
This commit is contained in:
parent
fa0850466e
commit
c1004d5171
@ -1,7 +1,7 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Spectre & Meltdown checker
|
# Spectre & Meltdown checker
|
||||||
# Stephane Lesimple
|
# Stephane Lesimple
|
||||||
VERSION=0.09
|
VERSION=0.10
|
||||||
|
|
||||||
# print status function
|
# print status function
|
||||||
pstatus()
|
pstatus()
|
||||||
@ -45,34 +45,35 @@ try_decompress()
|
|||||||
# "grep" that report the byte offset of the line instead of the pattern.
|
# "grep" that report the byte offset of the line instead of the pattern.
|
||||||
|
|
||||||
# Try to find the header ($1) and decompress from here
|
# Try to find the header ($1) and decompress from here
|
||||||
for pos in `tr "$1\n$2" "\n$2=" < "$img" | grep -abo "^$2"`
|
for pos in `tr "$1\n$2" "\n$2=" < "$4" | grep -abo "^$2"`
|
||||||
do
|
do
|
||||||
pos=${pos%%:*}
|
pos=${pos%%:*}
|
||||||
tail -c+$pos "$img" | $3 > $vmlinuxtmp 2> /dev/null
|
tail -c+$pos "$4" | $3 > $vmlinuxtmp 2> /dev/null
|
||||||
check_vmlinux $vmlinuxtmp && echo $vmlinuxtmp && return 0
|
check_vmlinux "$vmlinuxtmp" && echo "$vmlinuxtmp" && return 0
|
||||||
done
|
done
|
||||||
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
extract_vmlinux()
|
extract_vmlinux()
|
||||||
{
|
{
|
||||||
img="$1"
|
[ -n "$1" ] || return 1
|
||||||
|
|
||||||
# Prepare temp files:
|
# Prepare temp files:
|
||||||
vmlinuxtmp=$(mktemp /tmp/vmlinux-XXX)
|
vmlinuxtmp="$(mktemp /tmp/vmlinux-XXX)"
|
||||||
|
|
||||||
# Initial attempt for uncompressed images or objects:
|
# Initial attempt for uncompressed images or objects:
|
||||||
if check_vmlinux $img; then
|
if check_vmlinux "$1"; then
|
||||||
cat $img > $vmlinuxtmp
|
cat "$1" > "$vmlinuxtmp"
|
||||||
echo $vmlinuxtmp
|
echo "$vmlinuxtmp"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# That didn't work, so retry after decompression.
|
# That didn't work, so retry after decompression.
|
||||||
try_decompress '\037\213\010' xy gunzip || \
|
try_decompress '\037\213\010' xy gunzip "$1" && return 0
|
||||||
try_decompress '\3757zXZ\000' abcde unxz || \
|
try_decompress '\3757zXZ\000' abcde unxz "$1" && return 0
|
||||||
try_decompress 'BZh' xy bunzip2 || \
|
try_decompress 'BZh' xy bunzip2 "$1" && return 0
|
||||||
try_decompress '\135\0\0\0' xxx unlzma || \
|
try_decompress '\135\0\0\0' xxx unlzma "$1" && return 0
|
||||||
try_decompress '\211\114\132' xy 'lzop -d'
|
try_decompress '\211\114\132' xy 'lzop -d' "$1" && return 0
|
||||||
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# end of extract-vmlinux functions
|
# end of extract-vmlinux functions
|
||||||
|
Loading…
Reference in New Issue
Block a user