mirror of
https://github.com/ApfelTeeSaft/OpenRoyale.git
synced 2026-08-26 19:33:32 +00:00
20 lines
1017 B
Bash
20 lines
1017 B
Bash
#!/usr/bin/env bash
|
|
# analyze_dex.sh - regenerate DEX-side facts used in analysis/DEX_ANALYSIS.md.
|
|
set -euo pipefail
|
|
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJ="$(cd "$HERE/../.." && pwd)"
|
|
SM="$PROJ/original_reference/apktool_output/smali"
|
|
OUT="$PROJ/analysis/rawdata"; mkdir -p "$OUT"
|
|
[ -d "$SM" ] || { echo "Run extract_apk.sh first"; exit 1; }
|
|
|
|
echo "[*] Class counts by package prefix:"
|
|
find "$SM" -name '*.smali' | sed -E "s#$SM/##" | grep -oE '^[a-z0-9]+/[a-z0-9]+/[a-z0-9]+' | sort | uniq -c | sort -rn | tee "$OUT/dex_packages.txt" | head -20
|
|
|
|
echo "[*] System.loadLibrary calls:"
|
|
grep -rhoE 'const-string(/jumbo)? [pv][0-9]+, "[a-z]+"' "$SM"/com/supercell 2>/dev/null | sort -u
|
|
|
|
echo "[*] Native method declarations (com.supercell):"
|
|
grep -rhE '\.method.* native ' "$SM"/com/supercell 2>/dev/null \
|
|
| sed -E 's/^\s*\.method (public |private |protected )?(static )?native //' | sort -u | tee "$OUT/java_native_decls.txt" | wc -l
|
|
echo "[+] Wrote $OUT/{dex_packages.txt,java_native_decls.txt}"
|