初识fishhookFishhook 是 facebook 的开源库。官方描述,它的作用是:... enables dynamically rebinding symbols in Mach-O binaries running on iOS in the simulator and on device
支持对 iOS 模拟器和设备上运行的 Mach-O 二进制文件,动态地重绑定其中的符号更浅显            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-05 05:55:13
                            
                                154阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            HOOK原理1、MachO是被谁加载的?DYLD动态加载2、ASLR技术(地址空间布局随机化):MachO文件加载的时候是随机地址3、PIC(位置代码独立)如果MachO内部需要调用 系统的库函数时先在_DATA段中建立一个指针,指向外部函数DYLD会动态的进行绑定,将MachO中的DATA段中的指针,指向外部函数(DYLD会告诉MachO要依赖的外部库的位置)_DATA段中建立的指针就是符号(s            
                
         
            
            
            
            LD_PRELOAD可以用来hook原有库中的函数。也可以用RDLD_NEXT在hook函数中调用原有函数的symbol。 从而实现用户无感知的加速原有程序性能的作用。 (需要在env里面加入LD_PRELOAD=.....so) 参考: http://www.goldsborough.me/c/l ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-10-13 10:56:00
                            
                                129阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            React框架中最大的亮点就是Hooks,它使得我们更容易的复用代码,大大减少了重复编写代码。不需要像类组件那样写props来获得状态,也不需要有那么多的this指向来扰乱我们。那hooks是什么呢? hook就是JavaScript函数,它可以帮助我们钩入 React State以及生命周期等特性; 使用hooks的规则: 只能在函数最外层调用。不要在循环、条件判断或子函数中调用。 只能在Rea            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-26 20:55:18
                            
                                477阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
                早年前在一个偶然机会,听到了“frida”这个词语,当时作为刚入行的安全小白,我对这个词产生浓厚的兴趣,一步步走上了frida框架的学习之路。frida是一款基于python和java 的hook框架,可运行在Android、IOS、Linux和Widows等多个平台。期初,感觉这个框架真是有点意思,接触久了发现简直太有意思了,面对移动APP的时候,一旦拥有了Frida            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-08 22:32:28
                            
                                116阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Frida综合情景案例   
 六层锁机案例调用静态函数和调用非静态函数设置(同名)成员变量内部类,枚举类的函数并hook,trace原型1查找接口,hook动态加载dex -“补充一个找interface的实现,“通杀”的方法“枚举class,trace原型2找hook点的一个原则:开发的视角,hook点离数据越近越好,换安卓版本·换frida版本试试 
 0x01 入门关先找到hook点            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-24 18:25:11
                            
                                57阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            使用 Frida Hook iOS 的过程非常有趣且富有挑战性。在这篇文章中,我将分享我在使用 Frida 进行 iOS hook 的过程,涵盖版本对比、迁移指南、兼容性处理、实战案例、排错指南和生态扩展等内容,帮助你更好地理解和使用 Frida。
## 版本对比
在进行 Frida hook 的过程中,不同版本之间有些许差异,可能会影响特定功能的使用。以下是对 Frida 版本特性的一些对比            
                
         
            
            
            
            # 如何在 iOS 中实现 Hook 技术
Hook 技术的主要目的是在不改变原有代码逻辑的情况下,拦截方法调用,从而增强或修改其行为。本文将详细介绍如何在 iOS 中实现 Hook 技术,适合刚入行的小白学习。
## 整体流程
以下是实现 Hook 技术的整体步骤:
| 步骤 | 描述 |
|------|------|
| 1    | 确定需要 Hook 的方法 |
| 2    |            
                
         
            
            
            
            本文梳理了ios或osx中可以用于hook的框架及其使用,对于C/C++方法,进行了私有和系统方法的区分阐述,本文仅针对hook框架做讨论,对于实验中用到的注入、签名等不作阐述。0x01 背景:要hook的代码,以下是测试demo本文我们会对一个编写的测试mac app进行hook,其中mac app的主要代码如下:  #import "ViewController.h"
int cfunc(i            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-03 11:12:17
                            
                                113阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                   winform中的hook使用在winform程序中,有时需要我们拦截一些全局事件,比如拦截全局的鼠标事件,这个时候会用到一个windows的API来实现,这就是Hook(钩子)。钩子有13种类型,我们可以根据需要来进行全局拦截。需要注意的是,Hook是一个链式结构,所以我们在进行Hookd的设置时需要在添加Hook同时别忘了将后续的Hook            
                
                    
                        
                                                            
                                                                        
                                                                推荐
                                                                                        原创
                                                                                    
                            2013-08-21 14:36:34
                            
                                3463阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Android上的热修复框架 AndFix 想必已经是耳熟能详,它的原理实际上很简单:方法替换——Java层的每一个方法在虚拟机实现里面都对应着一个ArtMethod的结构体,只要把原方法的结构体内容替换成新的结构体的内容,在调用原方法的时候,真正执行的指令会是新方法的指令;这样就能实现热修复,详细代码见 AndFix。 为什么可以这么做呢?那得从 Android 虚拟机的方法调用过程            
                
         
            
            
            
            class import { inject, observer } from "mobx-react"; // 需要使用mobx-react提供的Provider 包裹,需要使用的值直接使用props传递 import { Provider } from "mobx-react"; <Provide            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-12-24 05:53:23
                            
                                163阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            补充说明—————–以下记录于 2018.06.27—————–1、fish中文文档: https://wiki.archlinux.org/index.php/Fish_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)2、如果想在fish shell启动时,自动设置alias,然后生效,  需要在~/.config/fish/config.fish里设置alias命令            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-22 16:02:02
                            
                                122阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            iOS 作为一个封闭生态的操作系统,允许开发者通过一些高级技术来修改或增强某些功能,其中“hook”就是一种非常流行的方法。本文将带你深入了解如何熟练使用 hook 技术,涵盖从问题背景到预防优化的整个过程。
### 问题背景
在开发过程中,时常需要对某些系统功能进行修改或增强,特别是在 iOS 平台上。使用 hook 技术可以让开发者在不修改原始代码的情况下,监测和改变函数的行为。常见现象包括            
                
         
            
            
            
            # 使用Frida进行iOS Hook的入门指南
## 引言
在现代软件开发中,安全性和逆向工程日益重要。Frida作为一种动态插桩工具,为开发者提供了一种强大且灵活的方式来进行应用程序的调试和安全研究。本文将介绍如何在iOS应用中使用Frida进行hook,结合示例代码帮助你更好地理解。
## 什么是Frida?
Frida是一个开源的动态分析工具,允许开发者在运行时注入自己的代码到现有            
                
         
            
            
            
            一、使用hooks因为函数组件是无状态的 所以 react提供了Hooks 能够把 把函数组件变成有状态的组件(提供state)在React v16.8之前:class组件(提供状态) + 函数组件(展示内容)
React v16.8及其以后:
1.class 组件(提供状态)+ 函数组件(展示内容)
2.Hooks(提供状态) + 函数组件(展示内容)
3.混用以上两种方式:部分功能用class            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-18 23:54:46
                            
                                81阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                the friendly interactive shell    正如正如它的名字,Fish 是一款非常友好的 Shell,大力推荐!使用命令 sudo apt-get install fish 安装它。完成后 ,运行命令 fish 切换到 fish, exit 返回 bash。简单介绍一下它的优点:&nbs            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-15 08:45:12
                            
                                80阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、什么叫Hook 
Hook字面意思是钩子,钩子是干什么的呢?日常生活中,我们的钩子是用来钩住某种东西的,比如说,鱼钩是用来钓鱼的,一旦鱼咬了钩,钩子就一直钩住鱼了,任凭鱼在水里怎么游,也逃不出鱼钩的控制。我们可以通过api hook,改变一个系统api的原有功能。API HOOK技术是一种用于改变API执行结果的技术基本的方法就是通过hook“接触”到            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-14 05:53:24
                            
                                187阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            概述前面经过分析与调试,了解了程序的执行逻辑。现在想改变执行逻辑,脑海里也大致有了新逻辑,例如让判断是否是会员的函数始终返回 true。那么怎么把新逻辑应用到程序中呢?这是本文要介绍的。Hook,钩子,用来改变程序执行流程。iOS 中有以下几种方式:Method Swizzling:利用 OC runtime 特性,对 OC 方法重排。fishhook:利用 Mach-O 格式程序加载原理修改符号            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-07 14:00:01
                            
                                516阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言微信抢红包、修改定位、语音转发,很火,自己足不出户可以走遍天下,这很酷。最近研究了iOS的hook技术,发现门道不少,特意写个纪实blog,本文非教程,部分内容可能看不懂。下载APP对于App Store的应用App Store中的应用都加密过,直接用是不行的,有两种方法:如果通过PP助手下载的app,直接将XXX.app通过iFunBox提取到mac上,直接提供class-dump使用。越狱            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-20 13:11:30
                            
                                463阅读
                            
                                                                             
                 
                
                                
                    