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

Android逆向之动态分析so篇

作者头像
漏斗社区
发布2018-10-23 11:08:23
3.7K0
发布2018-10-23 11:08:23
举报
文章被收录于专栏:漏斗社区

本期,斗哥将给大家带来Android逆向的动态分析,简述Android动态分析环境配置与IDA调试so文件。

学习Android逆向动态分析前,一定要有基础环境支持,比如sdk、jdk等,所以在动态分析前先要进行一波基础配置。

0X01 基础环境配置

1、配置adb命令:

adb是android sdk里的一个工具,用这个工具可以直接操作管理android模拟器或者真实的andriod设备。 主要功能有: 1.运行设备的shell 2.管理模拟器或设备的端口映射 3.主机和设备之间上传/下载文件 4.将本地apk软件安装至模拟器或android设备 下载SDK Platform-Tools地址:https://pan.baidu.com/s/1sj4ZfTb?utm_source=androiddevtools&utm_medium=website

(如果你的主机已经有sdk就不需要下载,直接添加)。

将文件解压后将adb.exe所在的Platform-Tools目录绝对路径添加到path环境变量。 启动终端就能使用adb命令,输入adb就能查看版本与参数介绍。

2、配置设备:

准备一个android设备或者模拟器,用来调试apk,下面介绍是夜神模拟器的配置。 打开开发者模式(默认不开),设置->关于手机。

点击版本号五下,手机将进入开发者模式,手机设置多出开发者选项一栏。

进入开发者选项,打开USB调试。

真实的android设备到这步就能结束,模拟器的话还要打开IP端口。 先启动夜神模拟器,然后运行cmd命令,cd到夜神安装目录,执行命令:nox_adb.exe connect 127.0.0.1:62001 打开端口。

adb connect 127.0.0.1:62001 主机就能连接到模拟器。

查看连接的设备。

adb shell 进入连接上的设备。

接下来就可以愉快的调试程序了。

0X02 动态分析

这里的动态分析主要使用IDA和adb命令配合Android模拟器来分析so

1.动态环境配置

将IDA安装目录E:\IDA 7.0\dbgsrv下 符合Android安装系统位数的android_server push到Android目录下(本系统是X86)

修改文件权限为777或者755,运行服务。 chmod 777 android_x86_server 修改文件权。

服务器(pc)转发端口。 adb forward tcp:23946 tcp:23946。

启动IDA,进行程序调试。 启动IDA的32bit程序,点击:Debugger-Run-RemoteArmLinux/Android debugger,打开调试程序的设置对话框: Application:对应调试程序所在的路径 Directory:对应调试程序所在的目录路径 HostName:输入localhost,Port:PC端口

2.加载程序调试

加载成功。

加载不成功情况: 1.配置主机和路径错误。 2.主机无法连接。 3.程序与IDA位数不对(如x86)。

3.IDA远程调试

在分析加壳程序的壳时,应以调试方式来启动调试程序(adb shell am start-D -n packagename/activityname) ida--->Debugger--->Attacth---->Remote GDB Debugger

查看到Android的进程。

双击要调试的进程,IDA将加载到so,IDA进行动态分析。

双击可以为相应的代码打上断点,F9重新开始调试,程序将停在断点处,就能开始调试so文件。

IDA动态调试的小技巧: ①调试快捷键: F2设置断点,F4运行到鼠标位置,F7单步步入,F8单步步过,F9运行程序。 F5/Tab 将相应的简单汇编代表粗略转换为C/C++代码。

0X03 小小总结

Android逆向之动态分析so篇就介绍到这里啦!下期我们将进入Android逆向之动态分析smail篇的学习。若在文章的学习过程中遇到问题,欢迎给斗哥留言。

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

本文分享自 漏斗社区 微信公众号,前往查看

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

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

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