0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

哆啦安全 来源:编码安全 作者:编码安全 2022-10-09 11:08 次阅读

582a0ea4-411d-11ed-96c9-dac502259ad0.png

背景

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

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

frida github 地址

objection github地址

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

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

分析准备

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

1.启动frida-server

585ec5f4-411d-11ed-96c9-dac502259ad0.png

2.端口转发

58ebc33c-411d-11ed-96c9-dac502259ad0.png

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

58fdd6ee-411d-11ed-96c9-dac502259ad0.png

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

59111678-411d-11ed-96c9-dac502259ad0.png

四大组件分析

Android 四大组件分别为:

Activity

Service

BroadCast Receiver

Content Provider

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

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

592adefa-411d-11ed-96c9-dac502259ad0.png

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

593b1108-411d-11ed-96c9-dac502259ad0.png

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

59616880-411d-11ed-96c9-dac502259ad0.png

搜索功能分析

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

枚举当前进程模块

查看指定模块的导出函数

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]

59739f00-411d-11ed-96c9-dac502259ad0.png

查询指定模块的所有接口

597fe04e-411d-11ed-96c9-dac502259ad0.png

搜索APP指定字符串信息

599637cc-411d-11ed-96c9-dac502259ad0.png

查询类的详细信息

59d1f438-411d-11ed-96c9-dac502259ad0.png

转存APP的运行内存数据

5a259c00-411d-11ed-96c9-dac502259ad0.png

搜索内存中的所有函数

5a3732b2-411d-11ed-96c9-dac502259ad0.png

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

androidhookingwatchclassio.virtualapp.home.HomeActivity

进行hook 类io.virtualapp.home.HomeActivity

5a584bbe-411d-11ed-96c9-dac502259ad0.png

其他功能分析

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

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

5a7c0b4e-411d-11ed-96c9-dac502259ad0.png

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

5a8ecc02-411d-11ed-96c9-dac502259ad0.png

通过命令,关闭ssl校验

android sslpinning disable

5ab391f4-411d-11ed-96c9-dac502259ad0.png





审核编辑:刘清

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

    关注

    0

    文章

    56

    浏览量

    13185

原文标题:Objection高效对APP逆向分析实践

文章出处:【微信号:哆啦安全,微信公众号:哆啦安全】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Windows/Ubuntu安装fridaobjection

    Windows环境使用管理员权限安装frida,Ubuntu使用普通或Root权限安装均可。
    发表于 11-17 09:36 785次阅读

    frida-inject工具使用及说明 内置frida-inject工具到手机系统

    frida-inject是frida中提供的可以直接放到手机端执行注入js脚本到App程序进行hook的工具。也就是说使用frida-inject命令可以脱离PC端执行注入了。
    的头像 发表于 10-26 10:42 3407次阅读

    035. 35 逆向APP的思路 #硬声创作季

    APP
    充八万
    发布于 :2023年06月29日 08:51:59

    电子产品逆向设计完整解决方案

    已经落后了.  l、 企业为什么要做逆向设计? 电子产品逆向设计过程如下: 现有国外最新产品 -> 反出PCB设计图 -> 反出SCH原理图 -&
    发表于 07-23 10:01

    [原创电子产品逆向设计的相关资料〈抄板软件+PCB返原理图〉

    了。l  企业为什么要做逆向设计?电子产品逆向设计过程如下:现有国外最新产品 -> 反出PCB设计图 -> 反出SCH原理图 -> 对原理图
    发表于 08-27 09:40

    [资料分享]+《Android软件安全与逆向分析》

    与ARM汇编语言——逆向你的原生Hello ARM 160  6.2.1  原生程序逆向初步 160  6.2.2  原生程序的生成过程 162  6.2.3  必须了解的ARM知识 164  6.3
    发表于 09-26 10:53

    三维逆向工程的成果及应用案例

    `三维逆向工程的成果及应用案例何为逆向工程?为适应现代先进制造技术的发展,需将实物样件或手工模型转化为Sence数据,以便利用快速成形系统、计算机辅助系统等对其进行处理,并进行修改和优化。逆向工程
    发表于 03-02 15:12

    芯片解密——逆向分析(上)

    `在IGBT的研究过程当中,逆向分析是一种非常重要的技术手段,拥有尖端的逆向分析实力会为企业带来巨大的进步和市场竞争力。芯片的逆向分析,可以简单理解成一种芯片解密的
    发表于 08-07 10:32

    眼睛按摩器需要找谁来逆向开发

    如果要逆向一个电子产品,比如说眼睛按摩器,需要找谁来逆向开发?pcb公司在里面起什么作用?还需要找什么公司代工?
    发表于 04-22 17:31

    IC验证“UVM验证平台加入objection机制和virtual interface机制“(七)

    输出。而main_phase是一个完整的任务,没有理由 只执行第一句,而后面的代码不执行。看上去似乎main_phase在执行的过程中被外力“杀死”了,事实上也确实如此。UVM中通过objection
    发表于 12-09 18:28

    3d打印逆向工程操作步骤、流程及作用讲解

    逆向工程又称为逆向技术,主要是针对于正向工程而言。正向工程是从产品设计到产品生产,是一种“从无到有”的设计过程,而逆向工程则是对一种产品设计技术再现的
    发表于 10-24 17:08 7895次阅读

    逆向基础题:安装包是11.ab,要求密码验证登陆

    题目来源:2019XCTF MOBILE 第三题 题目:安装包是11.ab,要求密码验证登陆。 知识点:Frida objection,SQLCipher加解密,Android备份和还原。 解题过程
    的头像 发表于 11-02 11:40 1626次阅读

    安卓常规逆向操作涉及到的知识点介绍

    持久化frida(独立执行frida,不需要借助adb 执行frida-server终端命令)
    的头像 发表于 09-20 09:13 613次阅读
    安卓常规<b class='flag-5'>逆向</b>操作涉及到的知识点介绍

    Android使用Wireshark抓包

    Frida逆向分析APP实战 Objection动态分析App Frida Hook的使用方法
    的头像 发表于 11-16 10:07 3700次阅读

    聊一聊所谓的Objection机制

    Objection是UVM框架中用来同步不同组件的相同phase,以及决定当前测试用例什么时候结束(end-of-test)的机制,这也是用户在拿到UVM之后最直白的使用场景。
    的头像 发表于 06-09 11:16 1096次阅读
    聊一聊所谓的<b class='flag-5'>Objection</b>机制