基于frida的Objection对APP逆向过程的作用

描述

Android系统

背景

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

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

frida github 地址

objection github地址

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

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

分析准备

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

1.启动frida-server

Android系统

2.端口转发

Android系统

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

Android系统

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

Android系统

四大组件分析

Android 四大组件分别为:

Activity

Service

BroadCast Receiver

Content Provider

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

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

Android系统

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

Android系统

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

Android系统

搜索功能分析

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

枚举当前进程模块

查看指定模块的导出函数

 

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]

 

Android系统

查询指定模块的所有接口

Android系统

搜索APP指定字符串信息

Android系统

查询类的详细信息

Android系统

转存APP的运行内存数据

Android系统

搜索内存中的所有函数

Android系统

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系统

其他功能分析

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

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

Android系统

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

Android系统

通过命令,关闭ssl校验

 

android sslpinning disable

 

Android系统





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分