a870861633 发表于 2016-6-3 23:13

编译原生程序参考《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:27

本帖最后由 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)

lianfeng0421 发表于 2016-6-4 21:50

来到这个板块,我发现我要学的很多啊
页: [1]
查看完整版本: 编译原生程序参考《Android软件安全与逆向分析》