【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | VS 自带的 Android 平台应用创建与配置 )
文章目錄
- 一、Visual Studio 安裝 " 使用 C++ 的移動(dòng)開(kāi)發(fā) "
- 二、Visual Studio 中創(chuàng)建 " 動(dòng)態(tài)共享庫(kù)(Android) " 類(lèi)型應(yīng)用
- 三、設(shè)置編譯選項(xiàng)
- 四、生成 ARM 架構(gòu) SO 動(dòng)態(tài)庫(kù)
- 五、生成 x86 架構(gòu) SO 動(dòng)態(tài)庫(kù)
一、Visual Studio 安裝 " 使用 C++ 的移動(dòng)開(kāi)發(fā) "
使用 Visual Studio 2019 開(kāi)發(fā)環(huán)境 , 參考 【Visual Studio】Visual Studio 2019 社區(qū)版 CMake開(kāi)發(fā)環(huán)境安裝 ( 下載 | 安裝相關(guān)組件 | 創(chuàng)建編譯執(zhí)行項(xiàng)目 | 錯(cuò)誤處理 ) 博客 ;
在 Visual Studio Installer 中 , 安裝 " 使用 C++ 的移動(dòng)開(kāi)發(fā) " ;
等待安裝完成 ;
二、Visual Studio 中創(chuàng)建 " 動(dòng)態(tài)共享庫(kù)(Android) " 類(lèi)型應(yīng)用
在 Visual Studio 2019 歡迎界面 選擇 " 創(chuàng)建新項(xiàng)目 " ,
在 創(chuàng)建新項(xiàng)目 對(duì)話框中 , 選擇 " 動(dòng)態(tài)共享庫(kù)(Android) " 類(lèi)型的項(xiàng)目 ;
設(shè)置項(xiàng)目的存放路徑 ;
下面是創(chuàng)建項(xiàng)目時(shí) , 自動(dòng)生成的代碼 ; 所有代碼都在 extern "C" {} 包裹中 , 是以標(biāo)準(zhǔn) C 格式導(dǎo)出 ;
#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" {/*此簡(jiǎn)單函數(shù)返回平臺(tái) ABI,此動(dòng)態(tài)本地庫(kù)為此平臺(tái) ABI 進(jìn)行編譯。*/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 架構(gòu)#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(){} }三、設(shè)置編譯選項(xiàng)
右鍵點(diǎn)擊 " 解決方案資源管理器 " , 在彈出的菜單中 , 選擇 " 屬性 " 設(shè)置 ;
設(shè)置預(yù)處理器 :
設(shè)置預(yù)編譯頭文件 :
預(yù)編譯頭文件是一些常用的頭文件 : pch.h 內(nèi)容如下 ;
四、生成 ARM 架構(gòu) SO 動(dòng)態(tài)庫(kù)
生成動(dòng)態(tài)庫(kù) : 右鍵點(diǎn)擊 " 解決方案資源管理器 " , 在彈出的菜單中 , 選擇 " 僅用于項(xiàng)目(J) -> 僅生成 VS_NDK_Demo(B) " 選項(xiàng) ;
生成動(dòng)態(tài)庫(kù)結(jié)果 : 生成的動(dòng)態(tài)庫(kù)導(dǎo)出到了 D:\002_Project\006_Visual_Studio\VS_NDK_Demo\VS_NDK_Demo\ARM\Debug\libVS_NDK_Demo.so 路徑中 ; 項(xiàng)目的目錄是 D:\002_Project\006_Visual_Studio\VS_NDK_Demo\VS_NDK_Demo ;
五、生成 x86 架構(gòu) SO 動(dòng)態(tài)庫(kù)
上面導(dǎo)出的 ARM 架構(gòu)的動(dòng)態(tài)庫(kù) , 可以選擇 x86 架構(gòu) , 再次編譯 ; 可選擇的架構(gòu)有 ARM , ARM64 , x86 , x64 ;
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | VS 自带的 Android 平台应用创建与配置 )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Android 逆向】Android
- 下一篇: 【Android 逆向】Android