diff --git a/home/lucifer/.local/share/nautilus/scripts/05c-Linux/02a-E01-RPi-CPU-version b/home/lucifer/.local/share/nautilus/scripts/05c-Linux/02a-E01-RPi-CPU-version new file mode 100755 index 0000000..8af1c9e --- /dev/null +++ b/home/lucifer/.local/share/nautilus/scripts/05c-Linux/02a-E01-RPi-CPU-version @@ -0,0 +1,136 @@ +#!/bin/bash +#=============================================================================== +# +# DIRECTORY: +# /home/*/.local/share/nautilus/scripts/05c-Linux/ +# OR +# /home/*/.gnome2/nautilus-sctipts/05c-Linux/ (deprecated) +# +# FILE: +# 02a-RPi-CPU-version +# +# USAGE: +# Right klick on a EWF_E01 image (.E01) and +# choose this nautilus script from the context menu. +# +# OPTIONS: +# none +# +# DESCRIPTION: +# Extracts ARM processor version from /var/log/kern.log +# +# REQUIREMENTS: +# bash, zenity, sleuthkit, awk, coreutils and gzip +# +# BUGS: +# --- +# +# NOTES: +# Tested on +# - Debian 8+ +# - Arch Linux +# +# AUTHOR: +# Patrick Neumann, patrick@neumannsland.de +# +# COMPANY: +# (privately) +# +# VERSION: +# 0.9 (beta) +# +# LINK TO THE MOST CURRENT VERSIONS: +# https:// +# +# CREATED: +# 13.11.2020 +# +# COPYRIGHT (C): +# 2015-2020 - Patrick Neumann +# +# LICENSE: +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# WARRANTY: +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# TODO: +# --- +# +# HISTORY: +# 0.9 - Patrick Neumann - Initial (public) release +# +#=============================================================================== + +#------------------------------------------------------------------------------- +# Additional supported Distribution(s) (add before Library!). +#------------------------------------------------------------------------------- +SUPPORTED_OSR="arch" + +#------------------------------------------------------------------------------- +# Check for library (casualscripter_nautilus-scripts_functions.sh). +#------------------------------------------------------------------------------- +readonly LIBRARY="${0%/*/*}/.casualscripter_nautilus-scripts_functions.sh" +if [ ! -f "${LIBRARY}" ] ; then + zenity --error \ + --text \ + "ERROR: casualscripter_nautilus-scripts_functions.sh MISSING!" + exit 1 +fi + +source "${LIBRARY}" + +#------------------------------------------------------------------------------- +# Checks (see library "casualscripter_nautilus-scripts_functions.sh"). +#------------------------------------------------------------------------------- +check_dep "${MMLS_BIN}" "sleuthkit" +check_dep "${IFIND_BIN}" "sleuthkit" +check_dep "${FLS_BIN}" "sleuthkit" +check_dep "${AWK_BIN}" "gawk" +check_dep "${TR_BIN}" "coreutils" +check_dep "${ICAT_BIN}" "sleuthkit" +check_dep "${ZGREP_BIN}" "gzip" +check_dep "${SORT_BIN}" "coreutils" + +check_ext "${SOURCE}" "[eE]01" + +check_tmp + +#------------------------------------------------------------------------------- +# A little bit of configuration before calling the shell script. +#------------------------------------------------------------------------------- +readonly RPI_CPU_VERSION="${TMP}/RPi-CPU-version.txt" + +#------------------------------------------------------------------------------- +# ... +#------------------------------------------------------------------------------- +OFFSET="$( ${MMLS_BIN} "${SOURCE}" | ${AWK_BIN} '/0x83/ { print $3; }' )" +readonly OFFSET="$(( 10#"${OFFSET}" ))" # without leading zeros! + +readonly DIR="$( ${IFIND_BIN} -o "${OFFSET}" -n "/var/log" "${SOURCE}" )" + +readonly INODES="$( ${FLS_BIN} -o "${OFFSET}" "${SOURCE}" "${DIR}" \ + | ${AWK_BIN} '/kern\.log/ { print $2; }' \ + | ${TR_BIN} -d ":" )" + +for inode in ${INODES} ; do + ${ICAT_BIN} -o "${OFFSET}" "${SOURCE}" ${inode} \ + | ${ZGREP_BIN} --fixed-strings "CPU:" \ + | ${AWK_BIN} -F "CPU: " '/Processor/ { print $NF; }' +done | ${SORT_BIN} --unique > "${RPI_CPU_VERSION}" + +#------------------------------------------------------------------------------- +# Display content of the resultfile "RPi-CPU-version.txt". +#------------------------------------------------------------------------------- +display_resultfile "${RPI_CPU_VERSION}" + +exit 0 diff --git a/home/lucifer/.local/share/nautilus/scripts/05c-Linux/02b-E01-RPi-kernel-version b/home/lucifer/.local/share/nautilus/scripts/05c-Linux/02b-E01-RPi-kernel-version new file mode 100755 index 0000000..50e39c7 --- /dev/null +++ b/home/lucifer/.local/share/nautilus/scripts/05c-Linux/02b-E01-RPi-kernel-version @@ -0,0 +1,141 @@ +#!/bin/bash +#=============================================================================== +# +# DIRECTORY: +# /home/*/.local/share/nautilus/scripts/05c-Linux/ +# OR +# /home/*/.gnome2/nautilus-sctipts/05c-Linux/ (deprecated) +# +# FILE: +# 02b-RPi-kernel-version +# +# USAGE: +# Right klick on a EWF_E01 image (.E01) and +# choose this nautilus script from the context menu. +# +# OPTIONS: +# none +# +# DESCRIPTION: +# Extracts kernel version from kernel image. +# +# REQUIREMENTS: +# bash, zenity, coreutils, sleuthkit, binwalk, awk, gzip and binutils +# +# BUGS: +# --- +# +# NOTES: +# Tested on +# - Debian 8+ +# - Arch Linux +# +# AUTHOR: +# Patrick Neumann, patrick@neumannsland.de +# +# COMPANY: +# (privately) +# +# VERSION: +# 0.9 (beta) +# +# LINK TO THE MOST CURRENT VERSIONS: +# https:// +# +# CREATED: +# 13.11.2020 +# +# COPYRIGHT (C): +# 2015-2020 - Patrick Neumann +# +# LICENSE: +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# WARRANTY: +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# TODO: +# --- +# +# HISTORY: +# 0.9 - Patrick Neumann - Initial (public) release +# +#=============================================================================== + +#------------------------------------------------------------------------------- +# Additional supported Distribution(s) (add before Library!). +#------------------------------------------------------------------------------- +SUPPORTED_OSR="arch" + +#------------------------------------------------------------------------------- +# Check for library (casualscripter_nautilus-scripts_functions.sh). +#------------------------------------------------------------------------------- +readonly LIBRARY="${0%/*/*}/.casualscripter_nautilus-scripts_functions.sh" +if [ ! -f "${LIBRARY}" ] ; then + zenity --error \ + --text \ + "ERROR: casualscripter_nautilus-scripts_functions.sh MISSING!" + exit 1 +fi + +source "${LIBRARY}" + +#------------------------------------------------------------------------------- +# Checks (see library "casualscripter_nautilus-scripts_functions.sh"). +#------------------------------------------------------------------------------- +check_dep "${MMLS_BIN}" "sleuthkit" +check_dep "${FCAT_BIN}" "sleuthkit" +check_dep "${BINWALK_BIN}" "binwalk" +check_dep "${AWK_BIN}" "gawk" +check_dep "${DD_BIN}" "coreutils" +check_dep "${ZCAT_BIN}" "gzip" +check_dep "${STRINGS_BIN}" "binutils" +check_dep "${GREP_BIN}" "grep" +check_dep "${RM_BIN}" "coreutils" + +check_ext "${SOURCE}" "[eE]01" + +check_tmp + +#------------------------------------------------------------------------------- +# A little bit of configuration before calling the shell script. +#------------------------------------------------------------------------------- +readonly RPI_KERNEL_VERSION="${TMP}/RPi-kernel-version.txt" + +#------------------------------------------------------------------------------- +# ... +#------------------------------------------------------------------------------- + +### TODO: add progress box! + +OFFSET="$( ${MMLS_BIN} "${SOURCE}" | ${AWK_BIN} '/0x0c/ { print $3; }' )" +readonly OFFSET="$(( 10#"${OFFSET}" ))" # without leading zeros! + +${FCAT_BIN} -o "${OFFSET}" kernel.img "${SOURCE}" > ./tmp/kernel.img + +readonly SKIP="$( ${BINWALK_BIN} ./tmp/kernel.img \ + | ${AWK_BIN} '/gzip compressed data/ { print $1; }' )" + +${DD_BIN} if=./tmp/kernel.img bs=1 skip="${SKIP}" status=none \ + | ${ZCAT_BIN} 2>/dev/null \ + | ${STRINGS_BIN} \ + | ${GREP_BIN} -F "Linux version" \ + > "${RPI_KERNEL_VERSION}" + +${RM_BIN} ./tmp/kernel.img + +#------------------------------------------------------------------------------- +# Display content of the resultfile "RPi-CPU-version.txt". +#------------------------------------------------------------------------------- +display_resultfile "${RPI_KERNEL_VERSION}" + +exit 0