Objection高效对APP逆向分析实践
2022-10-1 07:15:53 Author: 哆啦安全(查看原文) 阅读量:15 收藏

推荐阅读
终身VIP会员
Frida Hook的使用方法
Objection动态分析App
Android逆向分析基础(一)
Android逆向分析基础(二)

背景

在APP的逆向过程中避免借助使用一些反汇编工具,动静态调试分析工具,自然也免不了和frida这个工具打交道,frida作为强大的逆向分析工具在攻防过程中具有不可撼动的地位。

很多frida玩得很溜的牛人,将frida强大的功能集成一个工具便于大家去使用它,这个工具就是objection。

frida github 地址

https://github.com/frida/frida

objection github地址

https://github.com/sensepost/objection

objection 它的功能非常强大,支持的命令众多。它是基于Frida开发的命令行工具,它可以实现不用写一行代码,便可实现诸如内存搜索、类和模块搜索、方法hook打印参数返回值调用栈等常用功能,因此称它为一款非常便捷高端的逆向工程内存漫游神器都不为过。

Objection功能虽然强大,但它有个比较大的遗憾就是缺少对native层的支持。

分析准备

由于objection是基于frida的,因此在使用objection前,也是需要启动frida-server和端口转发。

1.启动frida-server

2.端口转发

3.objection功能的启动(它也是通过想目标app进行注入frida的so文件然后进行做对应功能操作)

一切就绪后目标APP就多了个frida的so文件了

四大组件分析

Android 四大组件分别为:

Activity

Service

BroadCast Receiver

Content Provider

可通过android hooking list 组件名称的命令列出想查询分析的四大组件信息

通过android hooking list activities可将应用中的所有activity列出

通过android hooking list services可将应用中的所有services列出

通过android hooking list receivers可将应用中的所有receivers列出

搜索功能分析

以下命令用于搜索内存相关的

枚举当前进程模块

https://github.com/sensepost/objection

查看指定模块的导出函数

memory list exports [lib_name]

将结果保存到json文件中

memory list exports libart.so --json /root/libart.json

搜索内存包含指定的字符串信息

memory search --string --offsets-only

dump整个内存

memory dump all from_base

列出内存中所有的类

android hooking list classes

在内存中所有已加载的类中搜索包含特定关键词的类

android hooking search classes [search_name]

在内存中所有已加载的方法中搜索包含特定关键词的方法

android hooking search methods [search_name]

直接生成hook代码

android hooking generate simple [class_name]

查询指定模块的所有接口

搜索APP指定字符串信息

查询类的详细信息

转存APP的运行内存数据

搜索内存中的所有函数

HOOK功能分析

hook指定方法, 如果有重载会hook所有重载,如果有疑问可以看

--dump-args : 打印参数

--dump-backtrace : 打印调用栈

--dump-return : 打印返回值

android hooking watch class_method com.xxx.xxx.methodName --dump-args --dump-backtrace --dump-return

hook指定类, 会打印该类下的所以调用

android hooking watch class com.xxx.xxx

设置返回值(只支持bool类型)

android hooking set return_value com.xxx.xxx.methodName false

查看目前所有hook的方法

Jobs list
android hooking watch class io.virtualapp.home.HomeActivity

进行hook 类io.virtualapp.home.HomeActivity

其他功能分析

通过执android shell_exec命令,可以实现调用执行指定命令功能

通过执行 android shell_exec “ps”查询当前环境所有运行的进程信息

通过调用env命令查看APP相关的目录

通过命令,关闭ssl校验

android sslpinning disable

Frida逆向分析实战(中高级课程)

Frida逆向分析APP实战

使用frida-net玩转frida-rpc
内置frida hook到Android系统
Android10系统内置frida相关工具实战
frida hook so导出或未导出函数的方法
Android APP开发之frida hook自吐算法
零基础培训课程+技术指导服务(技术交流社群)
定制Android系统(干掉Root检测和Frida检测)
Android渗透测试frida-Brida插件加解密实战
使用frida hook对app的常用关键代码进行定位
零基础学编程/学逆向/过检测(frida实战视频课程)
Linux+Windows安装r2Frida环境的配置及使用方法
内置frida-gadget so文件和frida-server可执行文件到系统(Android10)
Android10系统定制配置fridaserver后台进程(Moto Z2 Force机型-libqsap_sdk问题)


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NzUzNzk1Mw==&mid=2247494339&idx=1&sn=c348ca74e3e53b6643ffac6152fb898d&chksm=ceb8af8df9cf269bab87a65d36eb08dbb2f80d14de7842e7bd9d513b9f8a95f27f3fd9bd97c4#rd
如有侵权请联系:admin#unsafe.sh