首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
fishhook
订阅
不凡不繁
更多收藏集
微信扫码分享
微信
新浪微博
QQ
15篇文章 · 0订阅
从汇编角度分析objc_msgSend的hook过程
objc_msgSend 是基于汇编实现的,hook objc_msgSend 和我们平时 hook OC 方法不一样,在 github 上有开源的项目通过 hook objc_msgSend 来监控每个函数的耗时情况。这篇文章对其 hook 逻辑的主要代码进行分析记录。阅读前…
iOS微信内存监控
目前iOS主流的内存监控工具是Instruments的Allocations,但只能用于开发阶段。本文介绍如何实现离线化的内存监控工具,用于App上线后发现内存问题。 FOOM(Foreground Out Of Memory),是指App在前台因消耗内存过多引起系统强杀。对用…
静态插桩的方式来实现Hook Method
我之前写了一个开源库TimeProfiler,监控所有的OC方法耗时。可以在开发App阶段,很方便的看到主线程所有OC方法的耗时。但是由于TimeProfiler是通过fishhook基于运行时hook,所以从原理上,它就有局限性:不能选择hook部分类的OC方法。这造成2个很…
iOS应用安全6 -- fishhook破解系统C函数
在上上篇文章iOS应用安全4 -- 代码注入,窃取微信登录密码中我们知道了如何hook App中的OC方法,即使用OC的运行时机制,在运行期间替换相应方法的实现。 这就要使用到我们今天所要讲的fishhook了,下载地址。 话不多说,先把它下载下来添加到工程。 下载完fishh…
iOS 逆向 - Hook / fishHook 原理与符号表
本篇文章较与依赖前一篇 Mach-O文件 的先导知识 , 建议先阅读后再探究 . HOOK,中文译为 “挂钩“ 或 “钩子” 。在 iOS 逆向中是指改变程序运行流程的一种技术。通过 hook 可以让别人的程序执行自己所写的代码。在逆向中经常使用这种技术。所以在学习过程中,我们…
iOS程序员的自我修养-fishhook原理(五)
MachO文件动态链接里面讲到,模块间的数据访问和函数调用,都是用间接寻址。主模块将要访问动态库里的数据符号地址放在got(也称Non-Lazy Symbol Pointers)数据段,调用动态库的函数的地址放在la_symbol_ptr数据段。而数据段是可读写的,所以程序运行…
iOS逆向(6)-从fishhook看Runtime,Hook系统函数
在上篇文章不知MachO怎敢说自己懂DYLD中已经详细介绍了MachO,并且由MachO引出了dyld,再由dyld讲述了App的启动流程,而在App的启动流程中又说到了一些关键的名称如:LC_LOAD_DYLINKER、LC_LOAD_DYLIB以及objc的回调函数_dyl…
fishhook-动态修改MachO文件
学习hook,不是要攻击别人,破坏别人的应用场景,而是为了更好的防护,让自己的应用更坚固更安全。 通过getImp获取原有函数指针,通过replace替换原sel指向的指针为自定义函数指针,通setImp一样。 以上是针对OC的动态特性来hook的,我们能够hook动态语言下的…
iOS逆向 HOOK原理之fishhook
...
fishhook使用场景&源码分析
上一篇我们一起分析了 fishhook的实现原理,但很多东西如果我们仅仅知道原理,其实距离真正吸收它并将其转化成自己的生产力还有很长的路。你得弄清楚别人是怎么利用这个原理去解决问题的,还要借鉴别人的设计思想,再结合我们自己的思考不断地实践和总结,才能真正让知识成为自己的生产力。…