diff --git a/hummingbird/build b/hummingbird/build new file mode 100755 index 0000000..8cc822f --- /dev/null +++ b/hummingbird/build @@ -0,0 +1,5 @@ +cd "${AL_TEMP_LOCATION}" +git clone https://github.com/Sweets/hummingbird hummingbird-build +cd hummingbird-build +make +make install DESTDIR="${AL_PKG_PACKAGE_PATH}/payload" \ No newline at end of file diff --git a/hummingbird/package b/hummingbird/package new file mode 100755 index 0000000..0d30833 --- /dev/null +++ b/hummingbird/package @@ -0,0 +1 @@ +ALPKG_DEPLOY=true \ No newline at end of file diff --git a/hummingbird/payload/usr/lib/hummingbird/fs b/hummingbird/payload/usr/lib/hummingbird/fs new file mode 100755 index 0000000..1da5c07 --- /dev/null +++ b/hummingbird/payload/usr/lib/hummingbird/fs @@ -0,0 +1,30 @@ +#!/bin/sh +# MIT License +# Copyright (c) 2019 スーイツ +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +# shellcheck disable=2174 + +echo "[*] [FILESYSTEM INIT] Running script..." + +/bin/busybox mount -o remount,rw / +/bin/busybox mount -a +/bin/busybox mkdir -p -m0755 /dev/pts /dev/shm /run/lock +/bin/busybox swapon -a +/bin/busybox mount -t tmpfs none /tmp + +echo "[*] [FILESYSTEM INIT] Script finished." diff --git a/hummingbird/payload/usr/lib/hummingbird/interlude b/hummingbird/payload/usr/lib/hummingbird/interlude new file mode 100755 index 0000000..46233d5 --- /dev/null +++ b/hummingbird/payload/usr/lib/hummingbird/interlude @@ -0,0 +1,12 @@ +#!/bin/sh + +# Suppress kernel messages +echo 0 > /proc/sys/kernel/printk + +echo "[*] [NETWORKING] Connecting..." + +# Networking +/bin/busybox ifconfig eth0 up +/bin/busybox udhcpc -t 5 -q + +echo "[*] [NETWORKING] Script finished." diff --git a/hummingbird/payload/usr/lib/hummingbird/shutdown b/hummingbird/payload/usr/lib/hummingbird/shutdown new file mode 100755 index 0000000..8d1f697 --- /dev/null +++ b/hummingbird/payload/usr/lib/hummingbird/shutdown @@ -0,0 +1,9 @@ +#!/bin/sh + +echo "[*] [SHUTDOWN] Shutting down..." + +/bin/busybox rm -rf /tmp/* /var/tmp/* +/bin/busybox dd count=1 bs=512 if=/dev/random of=/usr/lib/hummingbird/random.seed + +/bin/busybox swapoff -a +/bin/busybox umount -a -r diff --git a/hummingbird/payload/usr/lib/hummingbird/tty b/hummingbird/payload/usr/lib/hummingbird/tty new file mode 100755 index 0000000..3381e83 --- /dev/null +++ b/hummingbird/payload/usr/lib/hummingbird/tty @@ -0,0 +1,39 @@ +#!/bin/sh +# MIT License +# Copyright (c) 2019 スーイツ +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +echo "[*] [TTY] Dropping to a shell..." + +# Fix tty +exec /bin/busybox setsid /bin/busybox cttyhack /bin/busybox sh + + +# Commented code out cause its scary and also doesnt do what I want it to do (its the hummingbird default) + +#command -v getty && getty=getty +#command -v agetty && getty=agetty + +#[ -n "$getty" ] && { +# for index in 1 2 3 4 5 6 7 8; do +# while :; do +# "$getty" "115200,38400,9600" "tty${index}" "linux" +# done & +# done +# +# wait +#}