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

简介: 【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | Visual Studio 中 SDK 和 NDK 安装位置 )

文章目录

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

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

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

四、Visual Studio 中查看 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 ;

image.png



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

image.png


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


image.png





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


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

image.png



命令行选项 :


-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 ;

image.png







四、Visual Studio 中查看 NDK 头文件


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


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


image.png

目录
相关文章
|
1月前
|
数据挖掘 程序员 调度
探索Python的并发编程:线程与进程的实战应用
【10月更文挑战第4天】 本文深入探讨了Python中实现并发编程的两种主要方式——线程和进程,通过对比分析它们的特点、适用场景以及在实际编程中的应用,为读者提供清晰的指导。同时,文章还介绍了一些高级并发模型如协程,并给出了性能优化的建议。
31 3
|
2月前
|
负载均衡 Java 调度
探索Python的并发编程:线程与进程的比较与应用
本文旨在深入探讨Python中的并发编程,重点比较线程与进程的异同、适用场景及实现方法。通过分析GIL对线程并发的影响,以及进程间通信的成本,我们将揭示何时选择线程或进程更为合理。同时,文章将提供实用的代码示例,帮助读者更好地理解并运用这些概念,以提升多任务处理的效率和性能。
60 3
|
1月前
|
前端开发 JavaScript C#
CodeMaid:一款基于.NET开发的Visual Studio代码简化和整理实用插件
CodeMaid:一款基于.NET开发的Visual Studio代码简化和整理实用插件
|
2月前
|
安全 开发者 Python
Python IPC大揭秘:解锁进程间通信新姿势,让你的应用无界连接
【9月更文挑战第11天】在编程世界中,进程间通信(IPC)如同一座无形的桥梁,连接不同进程的信息孤岛,使应用无界而广阔。Python凭借其丰富的IPC机制,让开发者轻松实现进程间的无缝交流。本文将揭开Python IPC的神秘面纱,介绍几种关键的IPC技术:管道提供简单的单向数据传输,适合父子进程间通信;队列则是线程和进程安全的数据共享结构,支持多进程访问;共享内存允许快速读写大量数据,需配合锁机制确保一致性;套接字则能实现跨网络的通信,构建分布式系统。掌握这些技术,你的应用将不再受限于单个进程,实现更强大的功能。
67 6
|
3月前
|
人工智能 PyTorch 算法框架/工具
Xinference实战指南:全面解析LLM大模型部署流程,携手Dify打造高效AI应用实践案例,加速AI项目落地进程
【8月更文挑战第6天】Xinference实战指南:全面解析LLM大模型部署流程,携手Dify打造高效AI应用实践案例,加速AI项目落地进程
Xinference实战指南:全面解析LLM大模型部署流程,携手Dify打造高效AI应用实践案例,加速AI项目落地进程
|
2月前
|
消息中间件 网络协议 Python
工具人逆袭!掌握Python IPC,让你的进程从此告别单打独斗
【9月更文挑战第9天】你是否曾遇到多个Python程序像孤岛般无法通信,导致数据孤立、任务难协同的问题?掌握进程间通信(IPC)技术,可助你打破这一僵局。IPC是不同进程间传递数据或信号的机制,在Python中常用的方法有管道、消息队列、共享内存及套接字等。其中,管道适用于父子或兄弟进程间简单数据传递;套接字则不仅限于本地,还能在网络间实现复杂的数据交换。通过学习IPC,你将能设计更健壮灵活的系统架构,成为真正的编程高手。
26 3
|
2月前
|
存储 运维
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
|
2月前
|
数据采集 消息中间件 并行计算
进程、线程与协程:并发执行的三种重要概念与应用
进程、线程与协程:并发执行的三种重要概念与应用
60 0
|
2月前
|
消息中间件 程序员 数据处理
探究操作系统中的进程间通信(IPC)机制及其在现代软件开发中的应用
本文深入探讨了操作系统中的核心概念——进程间通信(IPC),揭示了其在现代软件开发中的关键作用。通过对各种IPC机制如管道、消息队列、共享内存等的详细分析,本文旨在为读者提供一个清晰的理解框架,帮助他们掌握如何在实际应用中有效利用这些技术以实现进程间的协同工作。此外,文章还将探讨IPC在高并发环境下的性能优化策略,以及如何避免常见的IPC编程错误。通过结合理论与实践,本文不仅适合希望深入了解操作系统原理的技术人员阅读,也对那些致力于提升软件质量和开发效率的程序员具有重要参考价值。
51 0
|
3月前
|
Kubernetes Shell 测试技术
在Docker中,可以在一个容器中同时运行多个应用进程吗?
在Docker中,可以在一个容器中同时运行多个应用进程吗?