保存标准

This commit is contained in:
lenheart
2025-12-01 22:50:52 +08:00
commit 887ef6f85a
120 changed files with 12907 additions and 0 deletions

0
lib/db.ini Normal file
View File

BIN
lib/libAurora.so Executable file

Binary file not shown.

BIN
lib/libAurora.so.bak Executable file

Binary file not shown.

59
lib/strip_other_funcs_unix.sh Executable file
View File

@@ -0,0 +1,59 @@
#!/bin/bash
# save as strip_other_funcs.sh
# 输入参数检查
if [ $# -ne 1 ]; then
echo "Usage: $0 <binary_file>"
exit 1
fi
TARGET_BIN="$1"
BACKUP_BIN="${TARGET_BIN}.bak"
# 定义要保留的函数列表
TARGET_FUNCTIONS=(
"Lenheart()"
"_Inter_LoadGeolocation_dispatch_sig(void*, void*, char*)"
"SocketThread_function(void*)"
"PrintAuroraTag()"
"InitSquirrel()"
"ReloadingScript(SQVM*, std::string)"
"ReqSquirrelScript(SQVM*)"
"Cutecode(char*, int*, int, int)"
)
# 创建备份
cp "$TARGET_BIN" "$BACKUP_BIN"
# 获取保留符号列表
KEEP_SYMBOLS=()
while read -r symbol; do
demangled=$(c++filt "$symbol" 2>/dev/null)
for target in "${TARGET_FUNCTIONS[@]}"; do
if [[ "$demangled" == "$target" ]]; then
KEEP_SYMBOLS+=("$symbol")
break
fi
done
done < <(nm --defined-only "$BACKUP_BIN" | awk '/ [TtWw] /{print $3}')
if [ ${#KEEP_SYMBOLS[@]} -eq 0 ]; then
echo "Error: No target symbols found!"
exit 2
fi
# 生成保留符号文件
KEEP_FILE=$(mktemp)
printf "%s\n" "${KEEP_SYMBOLS[@]}" > "$KEEP_FILE"
# 执行符号清理
echo "Stripping symbols..."
objcopy --strip-all \
--keep-symbols="$KEEP_FILE" \
"$BACKUP_BIN" \
"$TARGET_BIN"
# 清理临时文件
rm -f "$KEEP_FILE"
echo "Done. Original backup at: $BACKUP_BIN"