前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android逆向(教程更新)|ida动态分析

Android逆向(教程更新)|ida动态分析

作者头像
辞令
发布2021-11-02 15:40:52
1.7K0
发布2021-11-02 15:40:52
举报
文章被收录于专栏:WhITECat安全团队WhITECat安全团队

声明:所有实验含部分虚构,纯属技术练习,未对真实环境造成任何影响。也请勿将相关技术用于非法操作,否则责任自负。

最近太忙了,只能抽空更新,感谢各位的一直支持!

0x01 ida动态分析

ida动态分析可以说是利用工具ida进行动态调试跟踪,这样步步跟踪可以实现到数据追踪的效果,数据追踪即是寄存器中的数据,堆栈数据等,这些数据对逆向来说是目的,因此,ida动态分析是逆向必不可少的环节。

0x02 动态分析前奏

动态分析必须预先准备一台手机(建议是真机),然后就是ida工具,实现ida工具的远程连接是必要的,而ida实现远程调试需要手机运行相关脚本,通过端口转发进行调试,那么相关脚本是ida工具自带的,端口转发必须通过adb工具,adb工具还需要实现动态调试前的启动程序前断点。

相关操作代码如下:

[object HTMLImageElement]

Adb工具是sdk文件中的platform-tools下的环境配置工具

因此,需要进行环境变量的设置

这样,命令行中就可以输入adb如下图所示即表明环境配置成功。

输入ddms后打开dalvikdebug monitor工具,,调试工具对进程获取相关方法,以及对应进程端口,日志信息等等,给后面准备下一步。

找到ida中找到相关的脚本:android_server,然后修改名为as,导入到手机/data/local/tmp中,启动该脚本,默认端口为23946。

使用端口映射到本机端口,使用adbforward

因此运行代码为:adbforward tcp:23946 tcp:23946

接下来只需要用ida对本机端口23946进行连接即可

找到需要调试的应用:

开始调试后进入到该界面,然后直接运行:

最后一步便是需要用到ddms上的对应的调试应用的端口

如下图所示,相关的应用端口为:8600

那么接下来执行的命令为:

jdb -connectcom.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8600

如此一来就进入到动态调试状态了,然后直接找到模块

找到相关的so文件

Base是基址,size是大小

双击后进入到相关的so文件导出函数中进行选择

选择需要跳转的指定函数

因为静态分析的时候用的是Java_com_a_easyjni_MainActivity_ncheck

那么直接进入到相关的起始点

点击小圈进行断点

然后点击程序

这样就断下来了

0x03 ida动态调试界面介绍

寄存器内存地址指向位置,从左到右为寄存器R0-R12然后是地址,之后是跳转按钮最后是数据,与静态的区别就是在这,静态无法实时追踪寄存器中的数据,需要在动态调试中下好断点运行到相关位置后在该处进行跳转,因此,在动态调试中需要时刻多次关注该处数据。

汇编代码,运行时通过汇编代码可以事先分析程序逻辑以及程序执行意义,控制流程的变化,成为逆向工程中必不可少的一部分。

16进制数据查看窗口,在动态处理过程中,较比静态而言,相关数据是在变化的,这种变化是改变16进制数据,其中,在逆向操作中就是修改着这些文件数据

堆栈查看窗口,加载进来的相关的信息数据均在堆栈窗口显示。根据调试者的需要,可以在关注该窗口中一直单步执行知道相关的数据出现。

溢出标志,在加壳应用中会使用溢出而中断行为的。

团队公开知识库链接:

https://www.yuque.com/whitecatanquantuandui/xkx7k2

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WhITECat安全团队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
远程调试
远程调试(Remote Debugging,RD)在云端为用户提供上千台真实手机/定制机/模拟器设备,快速实现随时随地测试。运用云测技术对测试方式、操作体验进行了优化,具备多样性的测试能力,包括随时截图和记录调试日志,稳定的支持自动化测试, 设备灵活调度,用例高效执行, 快速定位产品功能和兼容性问题。云手机帮助应用、移动游戏快速发现和解决问题,节省百万硬件费用,加速敏捷研发流程。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档