【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | 使用 Makefile 构建 Android 平台 NDK 应用 )
文章目錄
- 一、Visual Studio 中創建 Makefile 項目
- 二、配置 Makefile 文件
- 三、配置 Android.mk
- 四、配置 Application.mk
- 五、主函數源碼
- 六、編譯 NDK 項目
一、Visual Studio 中創建 Makefile 項目
在 Visual Studio 2019 歡迎界面中 , 選擇 " 創建新項目 " ;
在 " 創建新項目 " 對話框中 , 選擇 " 生成文件項目 " , 注意選擇 " 自帶生成系統來編譯 C++ " 這個項目類型 , 不要選錯了 ;
設置項目路徑 :
設置 " 生成文件項目 " 的調試設置 ;
- 生成命令行 : make -f Makefile.mk
- 清除命令行 : make -f Makefile.mk clean
- 重新生成命令行 : make -f Makefile.mk -B
如果 Windows 端沒有 make 功能 , 參考 【開發環境】Windows 系統中使用 Makefile 構建腳本編譯 C 程序 ( 下載并安裝 TDM-GCC 編譯器 | 配置環境變量 | 編譯 Makefile 程序 ) 博客 , 安裝 make 工具 ;
剛創建完項目后 , 項目是空的 ;
二、配置 Makefile 文件
如果 Windows 端沒有 make 功能 , 參考 【開發環境】Windows 系統中使用 Makefile 構建腳本編譯 C 程序 ( 下載并安裝 TDM-GCC 編譯器 | 配置環境變量 | 編譯 Makefile 程序 ) 博客 , 安裝 make 工具 ;
安裝完畢后 , 將 D:\001_Develop\020_TDM-GCC-64\bin\mingw32-make.exe 文件 , 重命名為 make.exe , 或者復制一份重名為 make.exe , 就可以直接在命令行中使用 make 命令 ;
這是編譯 NDK 項目的通用 Makefile 配置 : 使用前只需要修改 NDK 和 NDK_ROOT 中的自己的 NDK 即可 ;
NDK = D:/001_Develop/001_SDK/Sdk/ndk/android-ndk-r14b/ndk-build.cmd NDK_ROOT = D:/001_Develop/001_SDK/Sdk/ndk/android-ndk-r14b MAKE = "$(NDK_ROOT)/prebuilt/windows-x86_64/bin/make.exe" BUILD_SCRIPT = "$(NDK_ROOT)/build/core/build-local.mk" PROJ_PATH = NDK_PROJECT_PATH=.APP_SCRIPT = APP_BUILD_SCRIPT=./Android.mk NDK_APPLICATION_MK=./Application.mkBUILD_COMMAND = $(NDK) NDK_PROJECT_PATH=. $(APP_SCRIPT) # D:/001_Develop/001_SDK/Sdk/ndk/android-ndk-r14b/ndk-build.cmd NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk NDK_APPLICATION_MK=./Application.mk.PHONY:allall:$(NDK) $(PROJ_PATH) $(APP_SCRIPT)@echo done!clean:$(NDK) $(PROJ_PATH) $(APP_SCRIPT) clean@echo done!rebuild:$(NDK) $(PROJ_PATH) $(APP_SCRIPT) -B@echo done!三、配置 Android.mk
Android.mk :
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # 鏈接 log 日志庫 LOCAL_LDLIBS += -llog # 編譯可執行程序名稱 LOCAL_MODULE := hello # 指定源碼 LOCAL_SRC_FILES := main.c # 指定輸出目錄 # NDK_APP_DST_DIR := ../Debug/$(TARGET_ARCH_ABI) # 編譯可執行程序 include $(BUILD_EXECUTABLE)四、配置 Application.mk
Application.mk :
# 指定要編譯的 CPUU 架構 APP_ABI := armeabi armeabi-v7a x86 # 指定用于此應用的 C++ 標準庫 APP_STL := gnustl_static # 指定編譯的 Android 平臺 , 一般是 Android 兼容的最低版本 APP_PLATFORM := android-19五、主函數源碼
main.c 源碼 :
#include <stdio.h> int main(int argc, char** argv) {printf("Hello World");return 0; }六、編譯 NDK 項目
右鍵點擊 " 解決方案資源管理器 " , 在彈出的菜單中 , 選擇 " 僅用于項目(J) -> 僅生成 VS_NDK_Makefile(B) " 選項 ;
編譯結果 :
總結
以上是生活随笔為你收集整理的【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | 使用 Makefile 构建 Android 平台 NDK 应用 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android 逆向】Android
- 下一篇: 【Android 逆向】Android