《 FRIDA系列文章 》

转载:《FRIDA系列文章》github 地址:https://github.com/r0ysue/AndroidSecurityStudy

由 Frida 提供的很棒的 项目、库和工具的精选列表:https://github.com/dweinstein/awesome-frida

《Frida操作手册》:https://github.com/hookmaster/frida-all-in-one

A. 环境准备 和 入门篇

01.Android环境准备:谷歌原版镜像8.1、TWRP、Magisk root

:https://github.com/r0ysue/AndroidSecurityStudy/blob/master/FRIDA/A01/README.md​​​​​​​

02.一篇文章带你领悟frida的精髓(基于安卓8.1)

:https://github.com/r0ysue/AndroidSecurityStudy/blob/master/FRIDA/A02/README.md

frida 是啥?
frida 为什么这么火?
frida 实操环境
基本能力Ⅰ:hook参数、修改结果
基本能力Ⅱ:参数构造、方法重载、隐藏函数的处理
中级能力:远程调用
高级能力:互联互通、动态修改

B. FRIDA 脚本篇

枚举所有的类、定位目标类并打印类的实例、枚举所有方法并定位方法

  • 01. FRIDA脚本系列(一)入门篇:在安卓8.1上dump蓝牙接口和实例:https://github.com/r0ysue/AndroidSecurityStudy/blob/master/FRIDA/B01/README.md

hook 方法的所有重载、类的所有方法、类的所有子类、本地库的导出函数

  • ​​​​​​02.FRIDA脚本系列(二)成长篇:动静态结合逆向WhatsApp:https://github.com/r0ysue/AndroidSecurityStudy/blob/master/FRIDA/B02/README.md

  • 03.FRIDA脚本系列(三)超神篇:百度AI“调教”抖音AI
  • 04.FRIDA脚本系列(四)更新篇:几个主要机制的大更新

C. FRIDA API 篇

frida 变量类型 ( Data Types, Function and Callback )

:https://frida.re/docs/javascript-api/

索引API含义
1new Int64(v)定义一个有符号Int64类型的变量值为v,参数v可以是字符串或者以0x开头的的十六进制值
2new UInt64(v)定义一个无符号Int64类型的变量值为v,参数v可以是字符串或者以0x开头的的十六进制值
3new NativePointer(s)定义一个指针,指针地址为s  ( NativePointer对象  等价于  C语言中的指针
4ptr(“0”)同上

代码示例以及效果

Java.perform(function () {console.log("");console.log("new Int64(1):"+new Int64(1));console.log("new UInt64(1):"+new UInt64(1));console.log("new NativePointer(0xEC644071):"+new NativePointer(0xEC644071));console.log("new ptr('0xEC644071'):"+new ptr(0xEC644071));
});输出效果如下:new Int64(1):1new UInt64(1):1new NativePointer(0xEC644071):0xec644071new ptr('0xEC644071'):0xec644071

frida 也为 Int64(v) 提供了一些相关的 API:

索引API含义
1add(rhs)、sub(rhs)、and(rhs)、or(rhs)、xor(rhs)加、减、逻辑运算
2shr(N)、shl(n)向右/向左移位n位生成新的Int64
3Compare(Rhs)返回整数比较结果
4toNumber()转换为数字
5toString([radix=10])转换为可选基数的字符串(默认为10)

使用案例,代码如下。

function hello_type() {Java.perform(function () {console.log("");//8888 + 1 = 8889console.log("8888 + 1:"+new Int64("8888").add(1));//8888 - 1 = 8887console.log("8888 - 1:"+new Int64("8888").sub(1));//8888 << 1 = 4444console.log("8888 << 1:"+new Int64("8888").shr(1));//8888 == 22 = 1 1是falseconsole.log("8888 == 22:"+new Int64("8888").compare(22));//转stringconsole.log("8888 toString:"+new Int64("8888").toString());});
}

拦截 java 层函数

  • 01. FRIDA-API使用篇:FRIDA输出打印、frida变量类型、rpc、Process、Module、Memory 使用方法及示例:https://www.anquanke.com/post/id/195215

拦截 SO 层函数

  • 02. FRIDA-API使用篇:Java、Interceptor、NativePointer(Function/Callback) 使用方法及示例:https://www.anquanke.com/post/id/195869

03. Frida Java Hook 详解(安卓9):代码及示例(上):https://mp.weixin.qq.com/s/2BdX-rtAu8WZuzY3pK94NQ

FRIDA SCRIPT的"hello world"
        "hello world"脚本代码示例
        "hello world"脚本代码示例详解
Java层拦截普通方法
        拦截普通方法脚本示例
        执行拦截普通方法脚本示例
Java层拦截构造函数
        拦截构造函数脚本代码示例
        拦截构造函数脚本代码示例解详解
Java层拦截方法重载
        拦截方法重载脚本代码示例
Java层拦截构造对象参数
        拦截构造对象参数脚本示例
Java层修改成员变量的值以及函数的返回值
        修改成员变量的值以及函数的返回值脚本代码示例
        修改成员变量的值以及函数的返回值之小实战

04. Frida Java Hook 详解(安卓9):代码及示例(下):https://mp.weixin.qq.com/s/heK_r0zXo_6_RoA37yPtGQ

Java层拦截内部类函数
Java层枚举所有的类并定位类
Java层枚举类的所有方法并定位方法
Java层拦截方法的所有方法重载
Java层拦截类的所有方法
Java层拦截类的所有子类
RPC远程调用Java层函数

D. 实用 FRIDA 篇

01. 实用 FRIDA 进阶:内存漫游、hook anywhere、抓包:https://www.anquanke.com/post/id/197657

1 内存漫游
        1.1 获取基本信息
        1.2 提取内存信息
        1.3 内存堆搜索与执行
        1.4 启动activity或service
2 Frida hook anywhere
        2.1 objection(内存漫游)
        2.2 objection(hook)
        2.3 ZenTracer(hook)
3 Frida用于抓包
        3.1 推荐抓包环境
        3.2 Http(s)多场景分析
        3.3 SSL Pinning Bypass
        3.4 Socket多场景分析

02. 实用 FRIDA 进阶:脱壳、自动化、实用问题集锦:https://www.anquanke.com/post/id/197670

1 Frida用于脱壳
        1.1 文件头搜dex
        1.2 DexClassLoader:objection
        1.3 暴力搜内存:DEXDump
        1.4 暴力搜内存:objection
2 Frida用于自动化
        2.1 连接多台设备
        2.2 互联互通
        2.3 远程调用(RPC)
3 Frida更多技巧
        3.1 必须上版本管理
        3.2 反调试基本思路
        3.3 非标准端口连接
        3.4 打印byte[]``[B
        3.5 hook管理子进程
        3.6 hook混淆方法名
        3.7 中文参数问题
        3.8 hook主动注册
        3.9 追踪JNI API
        3.10 延迟hook

03. 实用 FRIDA 进阶:主动调用,密码克星

《FART系列文章》

源码系列

2020年安卓源码编译指南及FART脱壳机谷歌全设备镜像发布

:https://www.anquanke.com/post/id/199898

简介&&引言
        2020年的AOSP源码编译指南
        选择编译目标:安卓10
        选择虚拟机编译
        选择Kali Linux操作系统
        选择清华源初始包
        准备编译环境
        开始动手编译
        编译成功
FART自动脱壳机全设备镜像制作
        加入FART代码
        制作镜像刷机

FART 源码解析 及 编译镜像支持到 Pixel2(xl)

:https://www.anquanke.com/post/id/201896

镜像编译
源码解析
        第一组件:脱壳
        第二组件:转存函数体
        第三组件:函数体填充

 链接:https://pan.baidu.com/s/1zAYliYbkagdUUsykww_L4g 提取码:vv5u)

XPOSED 魔改一:获取特征

:https://github.com/r0ysue/AndroidSecurityStudy/blob/master/FART/xposed1.md

Kali Linux 虚拟机下载种子在 FART/文件夹中

OPPOSRC:来自高纬的对抗系列

  • 来自高纬的对抗①:定制ART解释器脱所有一二代壳 (附件)
  • 来自高纬的对抗②:魔改XPOSED过框架检测(上)
  • 来自高纬的对抗③:魔改XPOSED过框架检测(下)(附件1、附件2)
  • 来自高纬的对抗④:定制安卓内核过反调试(附件:链接:https://pan.baidu.com/s/1zAYliYbkagdUUsykww_L4g 提取码:vv5u])
  • 来自高纬的对抗⑤:替换安卓内核并解封Linux命令和环境(附件)

进击的Coder:精品连载

  • 安卓 App 逆向课程一之环境配置
  • 精品连载丨安卓 App 逆向课程之二逆向神器 frida 的介绍
  • 精品连载丨安卓 App 逆向课程之三 frida 注入 Okhttp 抓包上篇
  • 精品连载丨安卓 App 逆向课程之四 frida 注入 Okhttp 抓包中篇
  • 精品连载丨安卓 App 逆向课程之五 frida 注入 Okhttp 抓包下篇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

毕马威:2018全球科技创新报告(附PDF下载)

来源&#xff1a;走向智能论坛摘要&#xff1a;日前&#xff0c;毕马威发布《2018全球科技创新报告》&#xff0c;报告显示&#xff0c;我们如今正处在一个科技创新爆发的时代&#xff0c;人工智能、机器人和物联网必将会影响全球的商业&#xff0c;那些不主动去抓住未来趋势的…

GWT(Google Web Tookit) Eclipse Plugin的zip下载地址(同时提供GWT Designer下载地址)

按照Eclipse Help->Install new software->....(这里是官方安装文档&#xff1a;http://code.google.com/intl/zh-CN/eclipse/docs/install-eclipse-3.6.html) 的方法安装失败&#xff0c;界面始终显示Pedding状态&#xff0c;很长时间都没反映&#xff0c;无奈之下&…

《卫报》长文解读机器的崛起:人类越来越无法掌控它们

来源&#xff1a;网易智能摘要&#xff1a;技术正开始以智能和不可预知的方式运作&#xff0c;连它的创造者都无法捉摸。正当机器越来越多地改变全球事件时&#xff0c;我们该如何重新控制它们呢&#xff1f;《卫报》网站今日撰文详述了机器的崛起。技术正开始以智能和不可预知…

Android 逆向分析大全

转载&#xff1a;Android 逆向分析大全&#xff1a;https://www.jianshu.com/p/a12d04fc748f 1. 概述 1.1 分析步骤 通用逆向分析步骤 1. 了解该模块正向编程相关方法2. 使用apktool解密apk&#xff0c;得到资源、jni模块等文件3. 从apk提取出dex文件&#xff0c;使用dex2jar转…

美国智库报告:自动驾驶对社会、经济与劳动力的影响

来源&#xff1a;资本实验室在过去几年中&#xff0c;从政府到企业&#xff0c;自动驾驶的开发和应用已经成为新的投入重点。自动驾驶汽车在道路安全、生产率、燃料消耗和自然环保等方面的预期进步也充分吸引了公众的想象力和注意力。SAFE&#xff08;Securing America’s Futu…

jQuery源码研究01

为了研究方便&#xff0c;我自己定义的jQuery对象改为xQuery,意思是扩展 jQuery. 首先jQuery整体的结构&#xff1a; 1 (function(window,undefined)2 {3 var xQuery (function(){});4 ....5 window.xQuery window.$ xQuery;6 })(window); 为什么jQuery要使用这样的结构呢&a…

一篇文章带你搞懂 DEX 文件的结构

From&#xff1a;https://blog.csdn.net/sinat_18268881/article/details/55832757 Dex文件格式详解&#xff1a;https://www.jianshu.com/p/f7f0a712ddfe dex文件解析(第三篇)&#xff1a;https://blog.csdn.net/tabactivity/article/details/78950379 深入理解DEX文件格式…

Google AI 研发医疗新模型,预测死亡率比医院高出10%

&#xfeff;&#xfeff;编译 | 姗姗出品 | 人工智能头条&#xff08;公众号ID&#xff1a;AI_Thinker&#xff09;摘要&#xff1a;Google 开发了一种新型算法——读取了这名女性的175,639个数据点——并对死亡风险进行了评估&#xff0c;结果为 19.9%。几天后这位女士去世了…

【Q】【poj 1144】【poj 1523】

割点问题 题目类型相同&#xff0c;于是放到一起写。套了个版就可以了。 贴出版吧&#xff0c;方便查找。 void dfs(int k, int fa){ int j, i, son 0; vis[k] 1; PreOrder[k] BackOrder[k] dfn ; for(i 0; i < adj[k].size(); i ){ j adj[k][i]; …

互联网如何“升级”制造业?《“人工智能+制造”产业发展研究报告》发布

来源&#xff1a;腾讯研究院摘要&#xff1a;过去两年&#xff0c;消费升级、智慧零售、智慧城市等概念成了大众讨论的热点。过去两年&#xff0c;消费升级、智慧零售、智慧城市等概念成了大众讨论的热点。除了这些概念是新经济的增长点之外&#xff0c;另一个原因是当这些概念…

Inspeckage,安卓动态分析工具

From&#xff1a;安卓分析工具 Inspeckage 介绍&#xff1a;http://xdxd.love/2016/08/09/安卓分析辅助工具Inspeckage介绍/ PJ 微信数据库 并查询数据上传服务器&#xff1a;http://blog.csdn.net/qq_35834055 https://github.com/1998lixin/WeChat-database/tree/dev 安卓…

网站的iphone版快开发完了

一个字 累.. 一个人太累了...什么都得自己干 前端 后端 数据库 UI 互交 用户体验 什么都得自己来....哎 会的多累的多? 想想当年刚入行的时候....那个意气风发的小伙子- -....蛋疼啊 转载于:https://www.cnblogs.com/namegary/archive/2011/09/26/2191956.html

看雪『Android安全』板块 2018 年优秀和精华帖分类索引

转载&#xff1a;https://bbs.pediy.com/thread-249602.htm [推荐]『Android安全』版2018年优秀和精华帖分类索引 文章筛选和评价仅代表个人观点&#xff0c;欢迎指正。 列表不定期更新&#xff0c;欢迎自荐~ 2018年 1.逆向技术基础 Frida操作手册-Android环境准备 Frida hook…

【图文解析】带你看清全球机器人四大家族现状,四家企业瓜分中国57%、全球50%的市场份额...

来源&#xff1a;前瞻经济学研究院摘要&#xff1a;工业机器人是智能制造业最具代表性的装备。工业机器人是智能制造业最具代表性的装备。工业机器人集精密化、柔性化、智能化、软件应用开发等先进制造技术于一体&#xff0c;通过对过程实施检测、控制、优化、调度、管理和决策…

从微软一站式代码库中学到的--跨域之间的session共享

据说下面的这段代码这件可以实现不同域之间的session共享&#xff1a; namespace CSASPNETShareSessionBetweenSubDomainsModule{ /// <summary> /// A HttpModule used for sharing the session between Applications in /// sub domains. /// </summar…

专家解读下一代互联网创新模式,核心技术是根本

来源&#xff1a;经济参考报摘要&#xff1a;下一代互联网全面建成还有哪些现实困境&#xff1f;如何解决发展中面临的现实困境&#xff0c;让下一代互联网真正落地生根&#xff1f;如何促进下一代互联网与社会治理同步推进&#xff1f;专访了IPv6推动者、中国工程院院士吴建平…

一文读懂类加载机制 --- ClassLoader

From&#xff1a;https://www.cnblogs.com/sunnick/p/9609326.html 【JVM笔记】classloader加载class文件的原理和机制&#xff1a;https://www.jianshu.com/p/52c38cf2e3d4 JVM 架构整体架构 在进入 classloader 分析之前&#xff0c;先了解一下 jvm 整体架构&#xff1a; JV…

《非暴力沟通》读书笔记

《非暴力沟通》读书笔记 【本书作者】马歇尔卢森堡&#xff0c;卡尔罗杰斯的弟子&#xff0c;同时其思想深受”圣雄“甘地和存在主义哲学大师马丁布伯的影响。 【本书要解答的问题】是什么使我们明明相爱&#xff0c;却难以体会甚至互相伤害&#xff1f;【爱的表达】是什么让有…

数学家到底在研究什么?牛人解说数学体系

来源&#xff1a;环球物理摘要&#xff1a;这个题目在当今Computer Vision中百花齐放的世界中并没有任何特别的地方。事实上&#xff0c;使用各种Graphical Model把各种东西联合在一起framework&#xff0c;在近年的论文中并不少见。一、为什么要深入数学的世界作为计算机的学生…

Frida hook 加固的 Android 应用

Android 加固应用Hook方式 --- Frida&#xff1a;https://github.com/xiaokanghub/Android 转载&#xff1a;使用 frida 来 hook 加固的 Android 应用的 java 层&#xff1a;https://bbs.pediy.com/thread-246767.htm 使用 Frida 给 apk 脱壳并穿透加固 Hook 函数&#xff1a…