Untitled
unknown
plain_text
13 days ago
839 B
2
Indexable
Never
!/bin/sh check_vmlinux() { readelf -h $1 > /dev/null 2>&1 || return 1 cat $1 exit 0 } try_decompress() { for pos in `tr "$1\n$2" "\n$2=" < "$img" | grep -abo "^$2"` do pos=${pos%%:*} tail -c+$pos "$img" | $3 > $tmp 2> /dev/null check_vmlinux $tmp done } me=${0##*/} img=$1 if [ $# -ne 1 -o ! -s "$img" ] then echo "Usage: $me <kernel-image>" >&2 exit 2 fi tmp=$(mktemp /tmp/vmlinux-XXX) trap "rm -f $tmp" 0 try_decompress '\037\213\010' xy gunzip try_decompress '\3757zXZ\000' abcde unxz try_decompress 'BZh' xy bunzip2 try_decompress '\135\0\0\0' xxx unlzma try_decompress '\211\114\132' xy 'lzop -d' try_decompress '\002!L\030' xxx 'lz4 -d' try_decompress '(\265/\375' xxx unzstd check_vmlinux $img echo "$me: Cannot find vmlinux." >&2
Leave a Comment