首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
逆向
订阅
框框
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
手把手教你 Debug — iOS 14 ImageIO Crash 分析
去年 9 月份开始,许多用户升级到 iOS 14 之后,线上出现很多 ImageIO 相关堆栈的 Crash 问题,字节小哥手把手教你如何解决~
iOS 逆向指南:动态分析
当静态分析无法获取足够的信息时,就需要进行动态分析,在 app 运行时,追踪方法调用、查看内存信息。最后找到想要分析的关键函数。 参照静态分析中的安装 openSSH小结。 openSSH 默认是用 wifi 连接到 iOS 设备的,但是这样速度慢,不稳定。因此可以安装usbm…
iOS逆向:在任意app上开启malloc stack追踪内存来源
lldb有一个内存调试工具malloc stack,开启以后就可以查看某个内存地址的malloc和free记录,追踪对象是在哪里创建的。 这个工具可以打印出对象创建的堆栈,而在逆向时,也经常需要追踪某些方法的调用栈,如果可以随时打印出某个对象的创建记录,也就能直接找到其所在的类…
arm64程序调用规则
这篇主要介绍arm64程序调用规则,详细分析了程序调用过程中,参数是如何传递的。Android、iOS、Linux等基本遵循这些规则,但是各个操作系统平台也有小部分自己特定的规则。下一篇,我将介绍iOS平台的特定规则。 arm64有31个通用整型寄存器,r0-r30。当使用64…
Mach-O:fishhook 剖析
对于iOS上的Mach-O文件,其数据段中的标号(懒加载和非懒加载),都可通过fishhook实现标号的动态绑定,即可在程序运行的任何时刻进行多次绑定,且最后一次绑定有效。被dyld处理过的标号,fi
iOS 代码混淆
由于等保2.0中对未做代码混淆的危险评定为中级(爱加密本身提供代码混淆业务),而第三方的加固方案往往是需要收费的。 360免费版本需要enable bitcode设置为YES,有可能和一些第三方库冲突,因此决定自己来做代码混淆的事情。 代码混淆即对app进行代码混淆加固,提高逆…
iOS Jailbreak Principles 0x01 - rootfs remount r/w 原理
在之前的文章中我们介绍了 iOS 12 获取 tfp0 以及基于 tfp0 实现 kexec 的原理。从这篇文章开始我们开始分析 tfp0 和 kexec 之后的 jailbreak 环境布置原理,主要包括 rootfs 的读写与持久化、ssh 等远程服务的启动、非法签名代码的…
基于 unicorn + capstone 动态分析生成 objc_msgSend 交叉引用并导入 IDA
众所周知,在使用 IDA 进行 iOS 逆向工程时,仅仅依赖静态分析很难直接确定方法的 Callers,借助于 Decompiler 和 IDA 自己的分析能力仅能分析出非常有限的 objc_msgSend 交叉引用。目前一般的解法是借助于动态调试的 backtrace 或是 …
运行时Hook所有Block方法调用的技术实现
本技术实现在YSBlockHook中。 iOS系统中一共有:C函数、Block、OC类方法三种形式的方法调用。Hook一个方法调用的目的一般是为了监控拦截或者统计一些系统的行为。Hook的机制有很多种,通常良好的Hook方法都是以AOP的形式来实现的。 当我们想Hook一个OC…
通过dylib实现iOS运行时Native代码注入(动态调试)
在我们调试React Native或是Weex程序时,借助于JavaScript的动态执行能力,可以实现代码的动态注入与热更新调试,从而大大提高了UI和逻辑的调试效率。相反的,在Native代码编程中,一般而言都需要不断地重启App来调试新代码,对于一些编译和链接脚本复杂的项目…