首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
ios逆向
订阅
周小魚
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
iOS 如何抓取线程的“方法调用栈”?
本文将通过一个具体的 demo ,阐述如何进行抓栈操作。 在我们程序运行中,通常存在一个函数调用另一个函数的情况。 例如,在某个线程中,调用了 func A。在 func A 执行过程中,调用了 func B。 转移控制 :暂停 func A ,并开始执行 func B,并在 …
iOS 逆向 - Hook / fishHook 原理与符号表
本篇文章较与依赖前一篇 Mach-O文件 的先导知识 , 建议先阅读后再探究 . HOOK,中文译为 “挂钩“ 或 “钩子” 。在 iOS 逆向中是指改变程序运行流程的一种技术。通过 hook 可以让别人的程序执行自己所写的代码。在逆向中经常使用这种技术。所以在学习过程中,我们…
iOS逆向学习之三(Cycript)
Cycript是Objective-C++、ES6(JavaScript)、Java等语法的混合物. 可以点击官网来查看,可以点击Cycript文档来查看Cycript的使用方式。 需要在iPhone上通过Cydia安装Cycript,才能在iPhone上来调试运行中的App。…
iOS逆向学习之十一(加密、签名)
那么如何防止信息被监听呢?就需要对通信信息进行加密操作。 DES是一种将64bit明文加密成64bit密文的对称密码算法,密钥长度是56bit。其实从规格上来说,密钥的长度其实是64bit,但是每隔7bit会设置一个用于错误检查的bit,因此密钥的长度实质上是56bit。 由于…
iOS 逆向指南:动态分析
当静态分析无法获取足够的信息时,就需要进行动态分析,在 app 运行时,追踪方法调用、查看内存信息。最后找到想要分析的关键函数。 参照静态分析中的安装 openSSH小结。 openSSH 默认是用 wifi 连接到 iOS 设备的,但是这样速度慢,不稳定。因此可以安装usbm…
Objective-C基础之九(深入理解多线程)
线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程的实际运作单位,一条线程指的是进程中一个单一顺序的控制流。 系统中正在运行的每一个应用程序都是一个进程,系统会为每个进程分配独立的内存空间。而一个进程中的所有任务都是在线程中执行的,因此每个进程至少得有一个线程…
iOS逆向学习之八(动态调试)
动态调试就是在我们的程序运行之时,通过下断点、打印等一系列方式查看参数、返回值、函数调用流程等等。不仅是在iOS开放中需要动态调试,在任何语言的开发过程中都需要用到动态调试 Xcode调试器早期也是使用的GUN开发的GDB调试器,之后也替换成了自研的LLDB调试器,可以点击查看…
iOS 逆向 - Mach-O文件
我们对重签名和代码注入有了一定的了解 . 那么这个过程中我们反复提到一个最重要的文件 -- Mach-O . 那么说来说去 , 这个Mach-O 到底是个什么 . 既然它这么重要 , 那么我们有必要去好好的了解一下它 . Mach-O 其实是 Mach Object 文件格式的…
iOS 逆向 - lldb高级篇 Chisel 与 Cycript
上一篇文章 iOS 逆向 - LLDB 中讲述了 lldb 的一些基础用法 , 并没有涉及太多其他内容 , 逆向过程中常用的动态调试方法其实还有一些 , 本文针对上篇文章和实际逆向中的运用进行一个补充 . 主要针对 Chisel 以及 Cycript 两个部分 . 如果篇幅不长…