【Android 逆向】Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )(一)

简介: 【Android 逆向】Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )(一)

文章目录

一、Android 平台运行的 cmd 程序类型

二、Android 平台运行的 cmd 程序编译选项

三、编译 Android 平台的 cmd 可执行程序





一、Android 平台运行的 cmd 程序类型


Android 平台运行的 cmd 程序 , 该项目工程的程序类型是 " 生成文件项目 ( Android ) " ;


image.png


Visual Studio 2019 默认没有该选项 , 需要使用 Visual Studio Installer 安装


① 进入 Visual Studio Installer , 选择 " 修改 " 选项 ;

image.png



② 选择 " 使用 C++ 的移动开发 " 开发库 , 安装该开发库 ;


image.png






二、Android 平台运行的 cmd 程序编译选项


MobileGameModify 源码中的 remote 就是在 Android 平台上运行的远程程序 ;


该程序是 " 生成文件项目 ( Android ) " , 通过配置的 Android.mk 和 Application.mk 进行编译 ;


Application.mk 编译配置 :


# 设置编译的架构 , 这里在 PC 上的雷电模拟器 3.75 上运行肯定是 x86 架构
APP_ABI     := x86 
# 如果要在 ARM 真机上运行 , 设置 armeabi-v7a  armeabi , 注意寄存器相关逻辑需要兼容
APP_STL     := gnustl_static
# 最小支持版本
APP_PLATFORM    := android-19


Android.mk 编译配置 :


LOCAL_PATH    := $(call my-dir)
TINYXML        := tinyxml/tinystr.cpp tinyxml/tinyxml.cpp tinyxml/tinyxmlerror.cpp tinyxml/tinyxmlparser.cpp
JSONCPP     := json/json_reader.cpp json/json_value.cpp json/json_writer.cpp
####command####
include     $(CLEAR_VARS)
# 链接其它库 文件
LOCAL_LDLIBS    += -llog 
# 指定 C++ 编译选项
LOCAL_CPPFLAGS    += -std=c++11
# 指定使用的 C++ 特性
LOCAL_CPP_FEATURES      += rtti exceptions
# 指定编译
LOCAL_MODULE    := cmd
# 指定头文件查找路径
LOCAL_C_INCLUDES  += .
LOCAL_C_INCLUDES  += json
LOCAL_C_INCLUDES  += tinyxml
# 此处必须设置自己电脑上的 SDK 地址 
# 注意 : 版本必须是 android-ndk-r14b
LOCAL_C_INCLUDES  += Y:/001_DevelopTools/002_Android_SDK/ndk/android-ndk-r14b-windows-x86_64/android-ndk-r14b/platforms/android-19/arch-x86/usr/include
# 指定源文件
LOCAL_SRC_FILES   := main.cpp $(JSONCPP) $(TINYXML)
# 指定编译结果输出路径
NDK_APP_DST_DIR   := ../Debug/$(TARGET_ARCH_ABI)
# 指定编译结果是 Android 平台上的可执行文件
include     $(BUILD_EXECUTABLE)


在上面需要根据自己的 NDK 路径配置 C 头文件的查找路径 LOCAL_C_INCLUDES 为 Y:/001_DevelopTools/002_Android_SDK/ndk/android-ndk-r14b-windows-x86_64/android-ndk-r14b/platforms/android-19/arch-x86/usr/include , 这里需要配置 android-ndk-r14b 版本的 NDK , 尽量配置的一样 , 肯定能编译通过 , 使用其它版本不保证编译通过 ;


右键点击该解决方案 , 选择 " 属性 " 选项 ,


image.png

目录
相关文章
|
2月前
|
存储 消息中间件 人工智能
【03】AI辅助编程完整的安卓二次商业实战-本地构建运行并且调试-二次开发改注册登陆按钮颜色以及整体资源结构熟悉-优雅草伊凡
【03】AI辅助编程完整的安卓二次商业实战-本地构建运行并且调试-二次开发改注册登陆按钮颜色以及整体资源结构熟悉-优雅草伊凡
110 3
|
2月前
|
存储 消息中间件 人工智能
【08】AI辅助编程完整的安卓二次商业实战-修改消息聊天框背景色-触发聊天让程序异常终止bug牵涉更多聊天消息发送优化处理-优雅草卓伊凡
【08】AI辅助编程完整的安卓二次商业实战-修改消息聊天框背景色-触发聊天让程序异常终止bug牵涉更多聊天消息发送优化处理-优雅草卓伊凡
213 10
【08】AI辅助编程完整的安卓二次商业实战-修改消息聊天框背景色-触发聊天让程序异常终止bug牵涉更多聊天消息发送优化处理-优雅草卓伊凡
|
2月前
|
存储 API Android开发
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
171 4
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
|
4月前
|
存储 Android开发 数据安全/隐私保护
Thanox安卓系统增加工具下载,管理、阻止、限制后台每个APP运行情况
Thanox是一款Android系统管理工具,专注于权限、后台启动及运行管理。支持应用冻结、系统优化、UI自定义和模块管理,基于Xposed框架开发,安全可靠且开源免费,兼容Android 6.0及以上版本。
378 4
|
7月前
|
缓存 Android开发 开发者
Flutter环境配置完成后,如何在Android设备上运行Flutter应用程序?
Flutter环境配置完成后,如何在Android设备上运行Flutter应用程序?
1253 62
|
7月前
|
开发工具 Android开发 开发者
在Android设备上运行Flutter应用程序时,如果遇到设备未授权的问题该如何解决?
在Android设备上运行Flutter应用程序时,如果遇到设备未授权的问题该如何解决?
438 61
|
4月前
|
监控 Android开发 数据安全/隐私保护
批量发送短信的平台,安卓群发短信工具插件脚本,批量群发短信软件【autojs版】
这个Auto.js脚本实现了完整的批量短信发送功能,包含联系人管理、短信内容编辑、发送状态监控等功能
|
算法 数据处理 Android开发
掌握安卓性能优化的秘诀:电池寿命与运行效率的提升
【10月更文挑战第6天】 本文深入探讨了安卓应用开发中的性能优化技巧,重点分析了影响电池寿命和运行效率的关键因素,并提供了针对性的优化策略。通过代码优化、资源管理、后台任务处理等方法,开发者可以显著提升应用的续航能力和流畅度。同时,结合具体案例,展示了如何在实际开发中应用这些技巧,确保应用在各种场景下都能保持高效运行。本文旨在为安卓开发者提供实用的性能优化指导,助力其打造更优质的应用体验。
343 2
|
Java Android开发 Swift
安卓与iOS开发对比:平台选择对项目成功的影响
【10月更文挑战第4天】在移动应用开发的世界中,选择合适的平台是至关重要的。本文将深入探讨安卓和iOS两大主流平台的开发环境、用户基础、市场份额和开发成本等方面的差异,并分析这些差异如何影响项目的最终成果。通过比较这两个平台的优势与挑战,开发者可以更好地决定哪个平台更适合他们的项目需求。
301 1
|
8月前
|
存储 编解码 监控
Android平台GB28181执法记录仪技术方案与实现
本文介绍了大牛直播SDK的SmartGBD在执法记录仪场景中的应用。GB28181协议作为视频监控联网的国家标准,为设备互联互通提供规范。SmartGBD专为Android平台设计,支持音视频采集、编码与传输,具备自适应算法和多功能扩展优势。文章分析了执法记录仪的需求,如实时音视频传输、设备管理及数据安全,并详细阐述了基于SmartGBD的技术实现方案,包括环境准备、SDK集成、设备注册、音视频处理及功能扩展等步骤。最后展望了SmartGBD在未来智慧物联领域的广阔应用前景。
410 13

热门文章

最新文章