|
- # Must be configured by the user
- ANDROID_NDK := /opt/android-ndk
-
- # Constants and makefile shit used in build
- mkfile_path = $(abspath $(lastword $(MAKEFILE_LIST)))
- current_dir = $(notdir $(patsubst %/,%,$(dir $(mkfile_path))))
-
- ## NDK configuration.
- PLATFORM_VERSION = 19
- NDK_ARCH = arm
- NDK_ABI = linux-androideabi
- NDK = $(ANDROID_NDK)
- NDK_COMP_VER = 4.9
- NDK_HOSTARCH = linux-x86_64
- NDK_TOOLS = $(NDK)/toolchains/$(NDK_ARCH)-$(NDK_ABI)-$(NDK_COMP_VER)/prebuilt/$(NDK_HOSTARCH)/bin
- NDK_SYSROOT = $(NDK)/platforms/android-$(PLATFORM_VERSION)/arch-$(NDK_ARCH)
- NDK_INC = $(NDK)/platforms/android-$(PLATFORM_VERSION)/arch-$(NDK_ARCH)/usr/include
- NDK_LIB = $(NDK)/platforms/android-$(PLATFORM_VERSION)/arch-$(NDK_ARCH)/usr/lib
-
- ## Compiler and compilation flags
- CC = $(NDK_TOOLS)/$(NDK_ARCH)-$(NDK_ABI)-gcc
- CFLAGS = --sysroot=$(NDK_SYSROOT) -fPIE -pie -mthumb -O3 -DNO_SECCOMP -I$(NDK_INC) \
- -std=gnu99 -Wall -Werror
- LDFLAGS = --sysroot=$(NDK_SYSROOT) -fPIE -pie
-
- # Exploit
- OUT = $(current_dir)/Out/Bin
- RADAMSA_SRC = src
-
- all: clone bin
- .PHONY: all radamsa.c
-
- clone:
- git clone https://github.com/aoh/radamsa.git $(RADAMSA_SRC)
- #Checkout revision to make sure whole solution compiles
- cd src && git checkout 1a9cc03fda47dd3706ef69f4ad971f66b273a324
-
- radamsa.c:
- $(MAKE) -C $(RADAMSA_SRC) radamsa.c
- patch -p1 < android.patch
-
- bin: radamsa.c
- mkdir -p $(OUT)
- $(CC) $(CFLAGS) -o $(OUT)/radamsa.o -c $(RADAMSA_SRC)/radamsa.c
- $(CC) $(LDFLAGS) -o $(OUT)/radamsa $(OUT)/radamsa.o -ldl
-
- clean:
- rm -rf $(OUT)
- rm -rf $(RADAMSA_SRC)
-
- push:
- adb push $(OUT)/radamsa /data/app/
|