一、使用AndroidStudio搭建NDK环境二、使用IDAPro调试原生程序.PDFVIP

一、使用AndroidStudio搭建NDK环境二、使用IDAPro调试原生程序.PDF

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、使用AndroidStudio搭建NDK环境二、使用IDAPro调试原生程序.PDF

一、使用Android Studio 搭建NDK 环境 在Android Studio 2.2 以前的版本需要手动配置NDK 环境,项目中需要手动添加 和修改,显得略微繁琐。而在Android Studio 2.2 以后,在创建项目时,可以勾选 Include C++ support 可选框,剩下的由程序自动构建项目,坐享其成。 在搭建NDK 环境,本文不再赘述,可以参考下边两篇知乎的文章: ·《Android Studio 第一个NDK 例子》 /p/3e9f3055d7a6 ·《Android Studio 2.2 更方便地创建JNI 项目-CMake》 /p/4eefb16d83e3 二、使用IDA Pro 调试原生程序 源代码请转至文章最后一部分 (第五部分) 1.首先创建一个Android 原生程序,这需要在一个Android 工程的基础上创建, (可以用Android Studio 创建一个 Empty Activity )。如图,我在一个名为 HelloWorld 的工程的根目录下,创建一个j ni 文件夹,里边有两个文件,而libs 是由后边ndk-build 命令生成的: ·Android.mk (源码参见最后) ndk-build 使用Android.mk 和Application.mk 作为脚本文件,其中, Application.mk 文件是可选的。Android.mk 文件是工程的编译脚本,告知编译 系统关于源文件的一些信息,描述了编译原生程序所需的编译选项、头文件、 源文件等等。Application.mk 文件用来描述原生程序本身使用到的一些特性,如 原生程序支持的ARM 硬件指令集、STL 支持等。 ·whileCycle.c (源码参见最后) 包含两个子函数的C 程序,内容是while 循环结构语句。用于生成Android 原生 可执行程序。 2.进入命令行,cd 进入j ni 目录,输入 ndk-build 在libs 里边生成适应于不同平台的原生可执行程序 3.此处我采用夜神安卓模拟器,将 armeabi 文件夹中的 whileCycle 拷贝入 /mnt/shared/Other ,还有IDA Pro 中的android_server 和android_server_nonpie 也 拷贝入同一目录下,其中 nonpie 版本用于 Android 4.4 及以下,pie 版本用于 Android 5.0 (L)及以上的版本。 4.在命令行下执行以下命令 adb shell 加上可执行权限 chmod 755 /mnt/shared/Other/whileCycle chmod 755 /mnt/shared/Other/android_server chmod 755 /mnt/shared/Other/android_server_nonpie 根据Android 版本的情况启动android_server ,此处启动的是nonpie 版本 /mnt/shared/Other/android_server_nonpie 由图可知,程序提示调试服务器已经启动,并且监听了23946 端口。 打开另一个命令窗口,执行以下命令进行端口转发 adb forward tcp:23946 tcp:23946 5.执行后,启动IDA Pro ,点击菜单栏 “Debugger-Run-Remote ArmLinux/Android debugger ”,打开调试程序对话框。根据可执行文件的路径, 在Application 栏和Directory 栏输入相应的信息,在Hostname 栏输入localhost 或者,Port 自动选择为23946,如下图所示。 6.设置完成后,点击OK ,则进入调试界面 三、使用IDA Pro 调试Android 原生动态链接库 1.编写 Android 程序javac2.apk (源码请参见第五部分),要求其实现如下功能: 点击 “Change

文档评论(0)

zcbsj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档