逆向神器Frida

简介: 逆向神器Frida

随着编程技术不断发展, 逆向分析也要与时俱进. 自从核弹级的调试框架frida面世后, 就迅速走红成为圈内当之无愧的顶流. 无论是能还原vmp的顶级大佬还是刚入坑汇编都看不懂的萌新, 对frida全都欲罢不能. frida的出现直接对软件保护进行了降维打击, 大大降低了逆向的入门门槛. 国内互联网巨头的攻城狮们苦心设计的加密算法统统被逆向大神用frida还原, 各类CTF中全部都有frida的身影. 本文将初步尝试学习使用神器frida, 以追赶时代的脚步.

frida的主要用途是动态的二进制插桩, 也就是通过hook函数分析程序执行流程, 通过监控函数入参与返回值分析函数功能, 进而修改程序来实现特定功能. 类似的工具最为著名的就是安卓的Xposed框架, 但frida和同类工具相比有着巨大优势:

跨平台: android/ios/windows/macos/linux 几乎支持常见的所有平台.分析三端都支持的软件或者游戏时不需要换工具.

支持多种语言: 支持对 安卓java/苹果OC/PC汇编 的hook. 常见的软件无论是java层还是jni层, 无论是il2cpp还是纯C++编译的客户端程序, 或者运行在centos里的服务器, 全部都可以使用frida编写插件分析.

使用js语言编写脚本: 高级动态语言大大降低了入门门槛, 极大提升开发效率.

支持热加载脚本: 对于分析环境复杂的软件, 省去了重新编译重启调试环境的时间, 使调试分析思路更连贯.

官网有详尽的api文档: 因为使用者众多, 生态较好, 教程讨论以及"轮子"插件也多.

代码开源: frida作者github代码更新频繁, issue互动较多, 工具本身的bug会被及时修复, 性能也在不断优化.

逆向最重要的是实现三个功能: 读写任意内存, hook任意函数, 执行任意函数. 只要实现了这三个功能就算是图灵完备了, 拥有了对程序的完全控制力, 可以实现原开发者能够实现的任何功能. 在frida中, 实现这三个功能的代码极其简单, 不需要任何IDE, 不需要写一行汇编代码, 打开记事本, 几十行代码就能实现想要功能.

本文将以台服为例, 简单介绍如何使用frida编写服务器插件以及客户端插件. 通过离线奖励/装备回收/时装镶嵌/nut扩展/无限难度地下城/转生系统等几个小功能, 来介绍如何用frida编写插件在台服实现任何想要的功能.

相关文章
|
2天前
|
Python
【Python】4. 人生重开模拟器(简易版)
【Python】4. 人生重开模拟器(简易版)
34 2
|
7月前
|
安全 Python Windows
[笔记]逆向工具IDA Pro之简单使用
[笔记]逆向工具IDA Pro之简单使用
360 0
|
9月前
|
数据安全/隐私保护 iOS开发 开发者
iOS 逆向编程(十八)Reveal 详细安装(以及安装问题解决)(上)
iOS 逆向编程(十八)Reveal 详细安装(以及安装问题解决)
385 0
|
2天前
|
人工智能 JavaScript Python
基于Airtest抖音养号源代码
基于Airtest抖音养号源代码
42 0
|
2天前
|
NoSQL 开发工具 数据库
基于Python开发的五子棋小游戏(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)
基于Python开发的五子棋小游戏(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)
|
7月前
|
安全 Android开发
[笔记]安卓逆向之动态调试
[笔记]安卓逆向之动态调试
|
8月前
|
算法 安全 Java
android逆向必备工具
android逆向必备工具
102 0
|
9月前
|
JavaScript 前端开发 Linux
Hook神器—Frida安装
Hook神器—Frida安装
|
9月前
|
监控 JavaScript 前端开发
iOS 逆向编程(十二)Cycript 安装与使用
iOS 逆向编程(十二)Cycript 安装与使用
178 0
|
9月前
|
Android开发 iOS开发
iOS 逆向编程(四)实操越狱进阶必备软件
iOS 逆向编程(四)实操越狱进阶必备软件
82 0