DynamoRIO在Android上进行测试

DynamoRIO

DynamoRIO是一个动态测试工具平台,同时也被称之为二进制插桩平台,它支持程序在执行时任何部分代码的转换,DynamoRIO导出用于构建动态工具的接口,以实现各种用途:程序分析和理解,检测,优化,转变等。DynamoRIO不限于插入标注(callouts)和弹簧床机制(trampolines,一个“弹簧床”就是一个函数存根,它能在被调用的时候,触发编译器执行,将这个函数编译成机器码,“弹簧床”的指针就会被替换为真实函数的指针。)通过IA-32/AMD64/ARM/AArch64指令操作库任意修改应用程序指令。DynamoRIO可以针对在常见操作系统(windows,linux,android)以及在IA-32、AMD64、AArch64硬件产品上运行未经修改的应用程序提供高效、透明和全面的操作。

Android NDK

Android NDK,即是Native Development Kit,在此之前,Android平台的第三方应用程序均是依靠基于Java的Dalvik特制虚拟机进行开发的。原生SDK的公布可以让开发者更加直接的接触Android系统资源,并使用传统的C或C++语言编写程序,并在程序封包文件(.apks)中直接嵌入原生库文件。不过,Google也表示,使用原生SDK编程相比Dalvik虚拟机也有一些劣势,比如程序更加复杂,兼容性难以保障,无法访问Framework API,Debug难度更大等。开发者需要自行斟酌使用。
众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值