-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild_inject.sh
More file actions
executable file
·64 lines (56 loc) · 1.93 KB
/
Copy pathbuild_inject.sh
File metadata and controls
executable file
·64 lines (56 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/bash
set -e
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
INJECT_DIR="$PROJECT_DIR/inject"
IPA_EXTRACTED="$INJECT_DIR/SubwayCity.app.tmp"
APP_DIR="$IPA_EXTRACTED/Payload/SubwayCity.app"
DYLIB_NAME="CoinHack.dylib"
OUTPUT_IPA="$PROJECT_DIR/SubwayCity-CoinHack.ipa"
echo "=== Step 1: Compile CoinHack.dylib ==="
xcrun -sdk iphoneos clang \
-arch arm64 \
-shared \
-framework Foundation -framework UIKit -framework CoreGraphics \
-miphoneos-version-min=15.0 \
-Wno-deprecated-declarations \
-o "$INJECT_DIR/$DYLIB_NAME" \
"$PROJECT_DIR/CoinHack.m" \
"$PROJECT_DIR/libs/libdobby.a" \
-I "$PROJECT_DIR/libs" \
-lstdc++
echo " -> $DYLIB_NAME built"
echo ""
echo "=== Step 2: Copy dylib into app bundle ==="
mkdir -p "$APP_DIR/Frameworks"
cp "$INJECT_DIR/$DYLIB_NAME" "$APP_DIR/Frameworks/"
echo " -> Copied to Frameworks/"
echo ""
echo "=== Step 3: Inject load command ==="
# insert_dylib adds LC_LOAD_DYLIB to the main executable
"$HOME/bin/insert_dylib" \
--strip-codesig \
--inplace \
"@executable_path/Frameworks/$DYLIB_NAME" \
"$APP_DIR/SubwayCity"
echo " -> Load command injected into SubwayCity binary"
echo ""
echo "=== Step 4: Remove old signature ==="
# Remove _CodeSignature so we can re-sign
find "$APP_DIR" -name "_CodeSignature" -type d -exec rm -rf {} + 2>/dev/null || true
# Remove embedded provisioning profiles
rm -f "$APP_DIR/embedded.mobileprovision" 2>/dev/null || true
echo " -> Old signatures removed"
echo ""
echo "=== Step 5: Package IPA ==="
cd "$IPA_EXTRACTED"
zip -r -9 "$OUTPUT_IPA" Payload/ -x "*.DS_Store"
echo " -> $OUTPUT_IPA"
echo ""
echo "=== DONE ==="
echo "IPA: $OUTPUT_IPA"
echo ""
echo "Sign & install:"
echo " - TrollStore: Copy IPA to device, open with TrollStore"
echo " - AltStore: altool install $OUTPUT_IPA"
echo " - Sideloadly: Drag IPA into Sideloadly"
echo " - zsign: zsign -k cert.p12 -p pass -m prov.mobileprovision -o signed.ipa $OUTPUT_IPA"