| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android NDK介绍 -> 正文阅读 |
|
[移动开发]Android NDK介绍 |
Android NDK静态注册 动态注册:https://blog.csdn.net/weixin_38927522/article/details/1196721561.?如何编译原生程序????????Application.mk(ARM硬件指令集/工程编译脚本/stl支持等) ????????Android.mk(编译选项/头文件/源文件及依赖库等) ????????local_path(call my-dir) ????????include $(clear_vars) ????????local_arm_mode:= arm指令模式 ????????local_module:=模块名称 ????????local_src_files:=源文件 ????????build_executable(可执行文件) ????????build_shared_library(动态链接库) ????????build_static_library(静态链接库)) 2.?原生程序的启动流程????????原生程序的入口函数?? ????????动态库的加载/程序参数argc和argv的初始化 ????????静态链接/动态链接(动态链接程序/动态链接库) ????????静态链接(crtbedin_static.o/crend_android.o) ????????动态链接(crtbegin_dynamic.o/crtend_android.o/加载 器 (system/bin/linker)) ????????静态链接程序在启动时不需要额外的加载其他的动态库 (init/adbd/linker) ????????静态链接与动态链接程序的入口函数相同,动态链接程序 在执行入口函数前需要通过linker进行额外的初始化 main函数究竟何时被执行 ????????静态链接(libc_init_static)/动态链接程序 (libc_init_dynamic) 3.?原生C++程序逆向分析????????C++类的逆向 ????????C++中的类可以理解为C语言中的结构体,每一个成员变 量就是一个结构字段,每一个成员函数的代码都被优化到 了类的外部,它们不占据存储空间 ????????Android NDK对C++特性的支持(app_stl) ????????system ????????gabi++(rtti)=>gabi++_static/gabi_shared ????????stlport(rtti/stl)=>stlport_static/stlport_shared ????????gnustl(c++异常/rtti/stl)=>gnustl_static/gnustl_shared 4.?Android NDK JNI API逆向分析????????Android NDK提供了那些函数 ????????Linux C/C++ ????????Android NDK<=>JNI接口<=>java ????????JNINativeInterfasce(jni本地接口) ????????JNIInvokeInterface(jni调用接口) 移植/保护核心代码 如何静态分析Android NDK程序 ?????file=>load file=>parse c header file=>jni.h=>structures |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 16:47:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |