编译原生程序参考《Android软件安全与逆向分析》
本帖最后由 a870861633 于 2016-6-3 23:18 编辑首先配置path环境 D:\android-ndk-r10\prebuilt\windows\bin\make
说下path环境是为了在cmd中不需要输入完整的路径就可以使用,一句话也就是为了方便;
然后就是把makefile文件复制到需要编译的c文件目录下
打开nop++改下路径
最后打开cmd cd到放.c文件的目录下输入make就ok了
makefile是非虫大大写的
本帖最后由 mmmmar 于 2016-6-4 14:29 编辑
我这还有个
NDK_ROOT=E:\android-ndk-r10e(你的ndk路径)
TOOLCHAINS_ROOT=$(NDK_ROOT)\toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64
TOOLCHAINS_PREFIX=$(TOOLCHAINS_ROOT)\bin\aarch64-linux-android
TOOLCHAINS_INCLUDE=$(TOOLCHAINS_ROOT)\lib\gcc\aarch64-linux-android\4.9\include-fixed
PLATFORM_ROOT=$(NDK_ROOT)\platforms\android-21\arch-arm64
PLATFORM_INCLUDE=$(PLATFORM_ROOT)\usr\include
PLATFORM_LIB=$(PLATFORM_ROOT)\usr\lib
CC := $(TOOLCHAINS_PREFIX)-gcc
FLAGS=-I$(TOOLCHAINS_INCLUDE) \
-I$(PLATFORM_INCLUDE) \
-L$(PLATFORM_LIB) \
-fPIC \
-shared \
-llog \
MODULE_NAME=hello
CFLAGS= -Wall -g
LDFLAGS = -llog -shared
SRC =hello.c(需要编译的文件)
EXE =librusteze.so
all:
$(CC) -S $(MODULE_NAME).c $(FLAGS) -o $(MODULE_NAME).s
$(CC) $(MODULE_NAME).c $(FLAGS) -o lib$(MODULE_NAME).so
$(TOOLCHAINS_PREFIX)-strip lib$(MODULE_NAME).so
clean:
$(RM) $(MODULE_NAME).i $(MODULE_NAME).s $(MODULE_NAME).o $(EXE)
来到这个板块,我发现我要学的很多啊
页:
[1]