【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | VS 自带的 Android 平台应用创建与配置 )
文章目錄
- 一、Visual Studio 安裝 " 使用 C++ 的移動開發 "
- 二、Visual Studio 中創建 " 動態共享庫(Android) " 類型應用
- 三、設置編譯選項
- 四、生成 ARM 架構 SO 動態庫
- 五、生成 x86 架構 SO 動態庫
一、Visual Studio 安裝 " 使用 C++ 的移動開發 "
使用 Visual Studio 2019 開發環境 , 參考 【Visual Studio】Visual Studio 2019 社區版 CMake開發環境安裝 ( 下載 | 安裝相關組件 | 創建編譯執行項目 | 錯誤處理 ) 博客 ;
在 Visual Studio Installer 中 , 安裝 " 使用 C++ 的移動開發 " ;
等待安裝完成 ;
二、Visual Studio 中創建 " 動態共享庫(Android) " 類型應用
在 Visual Studio 2019 歡迎界面 選擇 " 創建新項目 " ,
在 創建新項目 對話框中 , 選擇 " 動態共享庫(Android) " 類型的項目 ;
設置項目的存放路徑 ;
下面是創建項目時 , 自動生成的代碼 ; 所有代碼都在 extern "C" {} 包裹中 , 是以標準 C 格式導出 ;
#include "VS_NDK_Demo.h"#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "VS_NDK_Demo", __VA_ARGS__)) #define LOGW(...) ((void)__android_log_print(ANDROID_LOG_WARN, "VS_NDK_Demo", __VA_ARGS__))extern "C" {/*此簡單函數返回平臺 ABI,此動態本地庫為此平臺 ABI 進行編譯。*/const char * VS_NDK_Demo::getPlatformABI(){#if defined(__arm__)#if defined(__ARM_ARCH_7A__) // 64 位 arm #if defined(__ARM_NEON__) // 64 位 arm #define ABI "armeabi-v7a/NEON"#else#define ABI "armeabi-v7a" // 32 位 arm #endif#else#define ABI "armeabi"#endif#elif defined(__i386__) // x86 架構#define ABI "x86"#else#define ABI "unknown"#endifLOGI("This dynamic shared library is compiled with ABI: %s", ABI);return "This native library is compiled with ABI: %s" ABI ".";}void VS_NDK_Demo(){}VS_NDK_Demo::VS_NDK_Demo(){}VS_NDK_Demo::~VS_NDK_Demo(){} }三、設置編譯選項
右鍵點擊 " 解決方案資源管理器 " , 在彈出的菜單中 , 選擇 " 屬性 " 設置 ;
設置預處理器 :
設置預編譯頭文件 :
預編譯頭文件是一些常用的頭文件 : pch.h 內容如下 ;
四、生成 ARM 架構 SO 動態庫
生成動態庫 : 右鍵點擊 " 解決方案資源管理器 " , 在彈出的菜單中 , 選擇 " 僅用于項目(J) -> 僅生成 VS_NDK_Demo(B) " 選項 ;
生成動態庫結果 : 生成的動態庫導出到了 D:\002_Project\006_Visual_Studio\VS_NDK_Demo\VS_NDK_Demo\ARM\Debug\libVS_NDK_Demo.so 路徑中 ; 項目的目錄是 D:\002_Project\006_Visual_Studio\VS_NDK_Demo\VS_NDK_Demo ;
五、生成 x86 架構 SO 動態庫
上面導出的 ARM 架構的動態庫 , 可以選擇 x86 架構 , 再次編譯 ; 可選擇的架構有 ARM , ARM64 , x86 , x64 ;
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | VS 自带的 Android 平台应用创建与配置 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android 逆向】Android
- 下一篇: 【Android 逆向】Android