文章目录
NXP 提供的 LPCScrypt 工具
支持 Linux macOS 和 Windows
https://www.nxp.com/design/microcontrollers-developer-resources/lpcscrypt-v2-1-2:LPCSCRYPT
官网给的 Linux 版本的 lpcscrypt-2.1.2_57.x86_64.deb.bin
工具看名称是 Debian/Ubuntu 衍生版才能安装使用。
我 Arch 用户或其他 Linux 发行版用户想使用怎么办?
1. 注册 NXP 官网下载相应的 Linux 版本文件
2. 用文本编辑器打开看了下里面的内容
#!/bin/sh
# This script was generated using Makeself 2.2.0
umask 077
CRCsum="4237188651"
MD5="6c85e5870f1db1e3c66128409ecc8cb5"
TMPROOT=${TMPDIR:=/tmp}
label="lpcscrypt installer"
script="./install.sh"
scriptargs=""
licensetxt=""
targetdir="installer"
filesizes="1736969"
keep="n"
quiet="n"
print_cmd_arg=""
if type printf > /dev/null; then
print_cmd="printf"
elif test -x /usr/ucb/echo; then
print_cmd="/usr/ucb/echo"
else
print_cmd="echo"
fi
unset CDPATH
MS_Printf()
{
$print_cmd $print_cmd_arg "$1"
}
MS_PrintLicense()
{
if test x"$licensetxt" != x; then
echo $licensetxt
while true
do
MS_Printf "Please type y to accept, n otherwise: "
read yn
if test x"$yn" = xn; then
keep=n
eval $finish; exit 1
break;
elif test x"$yn" = xy; then
break;
fi
done
fi
}
MS_diskspace()
{
(
if test -d /usr/xpg4/bin; then
PATH=/usr/xpg4/bin:$PATH
fi
df -kP "$1" | tail -1 | awk '{ if ($4 ~ /%/) {print $3} else {print $4} }'
)
}
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
}
MS_dd_Progress()
{
if test "$noprogress" = "y"; then
MS_dd $@
return $?
fi
file="$1"
offset=$2
length=$3
pos=0
bsize=4194304
while test $bsize -gt $length; do
bsize=`expr $bsize / 4`
done
blocks=`expr $length / $bsize`
bytes=`expr $length % $bsize`
(
dd bs=$offset count=0 skip=1 2>/dev/null
pos=`expr $pos \+ $bsize`
MS_Printf " 0%% " 1>&2
if test $blocks -gt 0; then
while test $pos -le $length; do
dd bs=$bsize count=1 2>/dev/null
pcent=`expr $length / 100`
pcent=`expr $pos / $pcent`
if test $pcent -lt 100; then
MS_Printf "\b\b\b\b\b\b\b" 1>&2
if test $pcent -lt 10; then
MS_Printf " $pcent%% " 1>&2
else
MS_Printf " $pcent%% " 1>&2
fi
fi
pos=`expr $pos \+ $bsize`
done
fi
if test $bytes -gt 0; then
dd bs=$bytes count=1 2>/dev/null
fi
MS_Printf "\b\b\b\b\b\b\b" 1>&2
MS_Printf " 100%% " 1>&2
) < "$file"
}
MS_Help()
{
cat << EOH >&2
Makeself version 2.2.0
1) Getting help or info about $0 :
$0 --help Print this message
$0 --info Print embedded info : title, default target directory, embedded script ...
$0 --lsm Print embedded lsm entry (or no LSM)
$0 --list Print the list of files in the archive
$0 --check Checks integrity of the archive
2) Running $0 :
$0 [options] [--] [additional arguments to embedded script]
with following options (in that order)
--confirm Ask before running embedded script
--quiet Do not print anything except error messages
--noexec Do not run embedded script
--keep Do not erase target directory after running
the embedded script
--noprogress Do not show the progress during the decompression
--nox11 Do not spawn an xterm
--nochown Do not give the extracted files to the current user
--target dir Extract directly to a target directory
directory path can be either absolute or relative
--tar arg1 [arg2 ...] Access the contents of the archive through the tar command
-- Following arguments will be passed to the embedded script
EOH
}
MS_Check()
{
OLD_PATH="$PATH"
PATH=${GUESS_MD5_PATH:-"$OLD_PATH:/bin:/usr/bin:/sbin:/usr/local/ssl/bin:/usr/local/bin:/opt/openssl/bin"}
MD5_ARG=""
MD5_PATH=`exec <&- 2>&-; which md5sum || type md5sum`
test -x "$MD5_PATH" ||