The .run file is a shell script with a compressed archive appended:
MS_dd "$0" $offset $s | eval "gzip -cd" | UnTAR t
Where
MS_dd()
{
blocks=`expr $3 / 1024`
bytes=`expr $3 % 1024`
dd if="$1" ibs=$2 skip=1 obs=1024 conv=sync 2> /dev/null | \
{ test $blocks -gt 0 && dd ibs=1024 obs=1024 count=$blocks ; \
test $bytes -gt 0 && dd ibs=1 obs=1024 count=$bytes ; } 2> /dev/null
}
Edit: this is apparently packaged with Makeself, and various sources report issues with rust-coreutils. For example
https://bugs.launchpad.net/ubuntu/+source/rust-coreutils/+bu...