1
1
#! /bin/bash
2
- Flags=" -target aarch64-linux-android21 -shared -s -O2 -fPIC -Wno-void-pointer-to-enum-cast -DANDROID -ffunction-sections -fdata-sections -I./frida/arm64/include -L./frida/arm64/lib -lfrida-gum -llog -ldl -lm -pthread -Wl,--gc-sections,-z,noexecstack,-z,relro,-z,now"
3
- mkdir build
4
- # 1.19.20.02 arm64-v8a
5
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_19_20_02 ./src/* .c -o ./build/libmaterialbinloader-1.19.20.02-arm64.so
6
- # 1.19.21.01 arm64-v8a
7
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_19_21_01 ./src/* .c -o ./build/libmaterialbinloader-1.19.21.01-arm64.so
8
- # 1.19.40.02 arm64-v8a
9
- # also compatible with 1.19.41.01 arm64-v8a
10
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_19_40_02 ./src/* .c -o ./build/libmaterialbinloader-1.19.40.02-arm64.so
11
- # 1.19.51.01 arm64-v8a
12
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_19_51_01 ./src/* .c -o ./build/libmaterialbinloader-1.19.51.01-arm64.so
13
- # 1.19.60.03 arm64-v8a
14
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_19_60_03 ./src/* .c -o ./build/libmaterialbinloader-1.19.60.03-arm64.so
15
- # 1.19.62.01 arm64-v8a
16
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_19_62_01 ./src/* .c -o ./build/libmaterialbinloader-1.19.62.01-arm64.so
17
- # 1.19.63.01 arm64-v8a
18
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_19_63_01 ./src/* .c -o ./build/libmaterialbinloader-1.19.63.01-arm64.so
19
- # 1.19.70.22 arm64-v8a
20
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_19_70_22 ./src/* .c -o ./build/libmaterialbinloader-1.19.70.22-arm64.so
21
- # 1.19.70.02 arm64-v8a
22
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_19_70_02 ./src/* .c -o ./build/libmaterialbinloader-1.19.70.02-arm64.so
23
- # 1.19.71.02 arm64-v8a
24
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_19_71_02 ./src/* .c -o ./build/libmaterialbinloader-1.19.71.02-arm64.so
25
- # :1.19.73.02 arm64-v8a
26
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_19_73_02 ./src/* .c -o ./build/libmaterialbinloader-1.19.73.02-arm64.so
27
- # 1.19.80.02 arm64-v8a
28
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_19_80_02 ./src/* .c -o ./build/libmaterialbinloader-1.19.80.02-arm64.so
29
- # 1.19.81.01 arm64-v8a
30
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_19_81_01 ./src/* .c -o ./build/libmaterialbinloader-1.19.81.01-arm64.so
31
- # 1.19.83.01 arm64-v8a
32
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_19_83_01 ./src/* .c -o ./build/libmaterialbinloader-1.19.83.01-arm64.so
33
- # 1.20.0.20 arm64-v8a
34
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_0_20 ./src/* .c -o ./build/libmaterialbinloader-1.20.0.20-arm64.so
35
- # 1.20.0.01 arm64-v8a
36
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_0_01 ./src/* .c -o ./build/libmaterialbinloader-1.20.0.01-arm64.so
37
- # 1.20.1.02 arm64-v8a
38
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_1_02 ./src/* .c -o ./build/libmaterialbinloader-1.20.1.02-arm64.so
39
- # 1.20.10.01 arm64-v8a
40
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_10_01 ./src/* .c -o ./build/libmaterialbinloader-1.20.10.01-arm64.so
41
- # 1.20.12.01 arm64-v8a
42
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_12_01 ./src/* .c -o ./build/libmaterialbinloader-1.20.12.01-arm64.so
43
- # 1.20.30.20 arm64-v8a
44
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_30_20 ./src/* .c -o ./build/libmaterialbinloader-1.20.30.20-arm64.so
45
- # 1.20.30.21 arm64-v8a
46
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_30_21 ./src/* .c -o ./build/libmaterialbinloader-1.20.30.21-arm64.so
47
- # 1.20.15.01 arm64-v8a
48
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_15_01 ./src/* .c -o ./build/libmaterialbinloader-1.20.15.01-arm64.so
49
- # 1.20.30.22 arm64-v8a
50
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_30_22 ./src/* .c -o ./build/libmaterialbinloader-1.20.30.22-arm64.so
51
- # 1.20.30.25 arm64-v8a
52
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_30_25 ./src/* .c -o ./build/libmaterialbinloader-1.20.30.25-arm64.so
53
- # 1.20.40.20 arm64-v8a
54
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_40_20 ./src/* .c -o ./build/libmaterialbinloader-1.20.40.20-arm64.so
55
- # 1.20.30.02 arm64-v8a
56
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_30_02 ./src/* .c -o ./build/libmaterialbinloader-1.20.30.02-arm64.so
57
- # 1.20.40.22 arm64-v8a
58
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_40_22 ./src/* .c -o ./build/libmaterialbinloader-1.20.40.22-arm64.so
59
- # 1.20.31.01 arm64-v8a
60
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_31_01 ./src/* .c -o ./build/libmaterialbinloader-1.20.31.01-arm64.so
61
- # 1.20.32.03 arm64-v8a
62
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_32_03 ./src/* .c -o ./build/libmaterialbinloader-1.20.32.03-arm64.so
63
- # 1.20.40.24 arm64-v8a
64
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_40_24 ./src/* .c -o ./build/libmaterialbinloader-1.20.40.24-arm64.so
65
- # 1.20.50.20 arm64-v8a
66
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_50_20 ./src/* .c -o ./build/libmaterialbinloader-1.20.50.20-arm64.so
67
- # 1.20.50.21 arm64-v8a
68
- $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $Flags -DV1_20_50_21 ./src/* .c -o ./build/libmaterialbinloader-1.20.50.21-arm64.so
2
+
3
+ # usage:
4
+ # ./build.sh
5
+ # ./build.sh -v 1.20.40.22 1.20.50.21
6
+
7
+ CLANG_OPTS_ARM64=" -target aarch64-linux-android21 -shared -s -O2 -fPIC -Wno-void-pointer-to-enum-cast -DANDROID -ffunction-sections -fdata-sections -I./frida/arm64/include -L./frida/arm64/lib -lfrida-gum -llog -ldl -lm -pthread -Wl,--gc-sections,-z,noexecstack,-z,relro,-z,now"
8
+
9
+ # arm64-v8a
10
+ VERSIONS_ARM64=(
11
+ " 1.19.20.02"
12
+ " 1.19.21.01"
13
+ " 1.19.40.02" # also compatible with 1.19.41.01
14
+ " 1.19.51.01"
15
+ " 1.19.60.03"
16
+ " 1.19.62.01"
17
+ " 1.19.63.01"
18
+ " 1.19.70.22"
19
+ " 1.19.70.02"
20
+ " 1.19.71.02"
21
+ " 1.19.73.02"
22
+ " 1.19.80.02"
23
+ " 1.19.81.01"
24
+ " 1.19.83.01"
25
+ " 1.20.0.20"
26
+ " 1.20.0.01"
27
+ " 1.20.1.02"
28
+ " 1.20.10.01"
29
+ " 1.20.12.01"
30
+ " 1.20.30.20"
31
+ " 1.20.30.21"
32
+ " 1.20.15.01"
33
+ " 1.20.30.22"
34
+ " 1.20.30.25"
35
+ " 1.20.40.20"
36
+ " 1.20.30.02"
37
+ " 1.20.40.22"
38
+ " 1.20.31.01"
39
+ " 1.20.32.03"
40
+ " 1.20.40.24"
41
+ " 1.20.50.20"
42
+ " 1.20.50.21"
43
+ )
44
+
45
+ VERSIONS_ARM64=${VERSIONS_ARM64[@]}
46
+
47
+ ARG_MODE=" "
48
+ for t in " $@ " ; do
49
+ if [ " $t " == " -v" ]; then
50
+ ARG_MODE=" v"
51
+ VERSIONS_ARM64=" "
52
+ elif [ " $ARG_MODE " == " v" ]; then
53
+ VERSIONS_ARM64+=" $t "
54
+ fi
55
+ shift
56
+ done
57
+
58
+ mkdir -p build
59
+
60
+ for v in $VERSIONS_ARM64 ; do
61
+ echo " libmaterialbinloader-$v -arm64.so"
62
+ DFLAG=${v// ./ _}
63
+ $ANDROID_NDK_HOME /toolchains/llvm/prebuilt/linux-x86_64/bin/clang $CLANG_OPTS_ARM64 -DV$DFLAG ./src/* .c -o ./build/libmaterialbinloader-$v -arm64.so
64
+ done
0 commit comments