Android 逆向Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | Visual Studio 中 SDK 和 NDK 安装位置 )(代码片段

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 逆向Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | Visual Studio 中 SDK 和 NDK 安装位置 )(代码片段相关的知识,希望对你有一定的参考价值。





一、Visual Studio 中安装 " 使用 C++ 的移动开发 " 开发库



参考 【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | VS 自带的 Android 平台应用创建与配置 ) 博客 , 使用 Visual Studio 2019 安装 " 使用 C++ 的移动开发 " 开发库 , 并创建 " 动态共享库(android) " 类型应用 ;





二、Visual Studio 中安装的 Android SDK 和 NDK 位置



安装 " 使用 C++ 的移动开发 " 开发库后 , 在 D:\\Microsoft 目录下安装了 Android SDK 和 NDK ;

  • D:\\Microsoft\\AndroidSDK 路径是 Android SDK 的安装目录 ;

  • D:\\Microsoft\\AndroidNDK64 路径是 Android NDK 的安装目录 ;





三、Visual Studio 中安装的 NDK 头文件位置



查看该项目 解决方案 属性页 :

命令行选项 :

-fpic "pch.h" -std=c++11 -fstack-protector "x86\\Debug\\" -Wall -fno-strict-aliasing -I "D:\\\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sources\\cxx-stl\\llvm-libc++\\include" -I "D:\\\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sources\\cxx-stl\\llvm-libc++abi\\include" -I "D:\\\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sysroot\\usr\\include" -I "D:\\\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sysroot\\usr\\include\\i686-linux-android" -I "D:\\\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sources\\android\\support\\include" -g2 -gdwarf-2 -O0 -isystem "D:\\\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sysroot\\usr\\include\\i686-linux-android" -x c++-header -D "__ANDROID_API__=19" -fno-rtti -fno-omit-frame-pointer -fno-exceptions -o "x86\\Debug\\%(filename).o" -fno-short-enums 

拆解后 :

-fpic "pch.h" -std=c++11 -fstack-protector "x86\\Debug\\" -Wall -fno-strict-aliasing 
-I "D:\\\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sources\\cxx-stl\\llvm-libc++\\include" 
-I "D:\\\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sources\\cxx-stl\\llvm-libc++abi\\include" 
-I "D:\\\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sysroot\\usr\\include" 
-I "D:\\\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sysroot\\usr\\include\\i686-linux-android" 
-I "D:\\\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sources\\android\\support\\include" 
-g2 -gdwarf-2 -O0 -isystem 
"D:\\\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sysroot\\usr\\include\\i686-linux-android" 
-x c++-header -D "__ANDROID_API__=19" 
-fno-rtti -fno-omit-frame-pointer -fno-exceptions -o "x86\\Debug\\%(filename).o" -fno-short-enums 

头文件路径 :

-I "D:\\\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sources\\cxx-stl\\llvm-libc++\\include" 
-I "D:\\\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sources\\cxx-stl\\llvm-libc++abi\\include" 
-I "D:\\\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sysroot\\usr\\include" 
-I "D:\\\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sysroot\\usr\\include\\i686-linux-android" 
-I "D:\\\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sources\\android\\support\\include" 

NDK 动态库头文件的位置 : D:\\Microsoft\\AndroidNDK64\\android-ndk-r16b\\sysroot\\usr\\include\\android ;





四、Visual Studio 中查看 NDK 头文件



【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | VS 自带的 Android 平台应用创建与配置 ) 博客中创建的 " 动态共享库(Android) " 类型应用 项目中 , 在 " 解决方案资源管理器 " 中的 " 外部依赖项 " 目录中 , 就是 NDK 的头文件 ;

这些 " 外部依赖项 " 中的头文件就是 NDK 中的头文件 ;

以上是关于Android 逆向Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | Visual Studio 中 SDK 和 NDK 安装位置 )(代码片段的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向Android 进程注入工具开发 ( 编译注入工具 | 编译结果文件说明 | 注入过程说明 )

Android 逆向Android 进程注入工具开发 ( 远程调用总结 | 远程调用注意事项 )

Android 逆向Android 进程注入工具开发 ( SO 进程注入环境及 root 权限获取 | 进程注入时序分析 )

Android 逆向Android 进程注入工具开发 ( 注入代码分析 | 调试进程 ATTACH 附着目标进程 | 读取目标函数寄存器值并存档 )

Android 逆向Android 进程注入工具开发 ( 远程调用 | x86 架构的返回值获取 | arm 架构远程调用 )

Android 逆向Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 三 | 等待远程函数执行完毕 | 寄存器获取返回值 )(代