Files
unshell/build.sh
T

37 lines
1.1 KiB
Bash
Raw Normal View History

2026-01-30 14:05:07 -07:00
# # -Cpanic=immediate-abort
# RUSTFLAGS="-Zunstable-options -Zlocation-detail=none -Zfmt-debug=none" \
# cargo +nightly build \
# -Z build-std=std,panic_abort \
# -Z build-std-features= \
# --profile minimize -p unshell-payload -- $@
2026-02-20 18:17:11 -07:00
set -e
OBFUSCATION_KEY=kjwerkwerkjbwejehrwhje \
cargo build --profile minimize -p ush-payload $@
2026-01-30 14:05:07 -07:00
export BINARY=./target/minimize/ush-payload
2026-01-30 14:05:07 -07:00
declare -a headers=(
".gnu_debuglink" # - Debug information link
".comment" #- Compiler version info
".shstrtab" #- Section header string table (only needed by tools like readelf)
".note.gnu.bu" ".note.gnu.build-id" # - Build ID note
".eh_frame" ".eh_frame_hdr" # Exception handling info (can break C++ exceptions if removed)
#".gnu.version" ".gnu.version_r" # Symbol versioning (may be needed for some shared libraries)
".gnu.hash" # Hash table for symbol lookup optimization
)
# TODO: Implement FAKE section header comments and information
# Shuffle order of headers??
for section in "${headers[@]}"
do
strip --remove-section="$section" $BINARY
echo "Removed section header $section"
done
echo "## STARTING "
$BINARY