首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
洋之
掘友等级
iOS开发兼职前端
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
18
文章 18
沸点 0
赞
18
返回
|
搜索文章
最新
热门
iOS逆向 命令行工具的开发
在逆向过程中,我们使用了很多快捷工具,例如***Clutch***、class-dump等等,这些工具都是在终端执行。而这些工具的本质其实就是Mach-O类型的可执行文件,如果想要开发属于我们自己的命令行工具,应该怎么做呢? 在iOS开发中。我们编译一个项目,在生成的.app包…
Theos(实现hook操作)
如果要去掉某个界面上的某个UIView,我们可以通过Cycript获取到UIView对应的内存地址,通过执行[#内存地址 removeFromSuperview]命令就可以去掉UIView,但是这种方式仅仅是去掉了内存中的UIView,下一次再次进入此页面的时候,又会重新加载U…
iOS 底层OC语法1(探索OC对象的本质)
OC的对象结构都是通过基础的C\C++的结构体实现的。 我们通过创建OC文件及对象,并将OC文件转化为C++文件来探寻OC对象的本质。 我们通过命令行将OC的mian.m文件转化为c++文件。 思考: 一个OC对象在内存中是如何布局的。 NSObjcet的底层实现,点击NSOb…
iOS逆向 Mach-O文件 与 脱壳
开发过程中写的代码最终转换成Mach-O文件执行。 Raw segment data,在Load commands中所定义的Segment,在这里都能找到原始数据。 因为两种种架构之间可以共用一些资源,所以两种架构的通用二进制文件大小不会达到单一架构版本的两倍。 dyld是iO…
iOS逆向 环境搭建
出现~ root# 就代表连接成功了,可以尝试用命令控制iPhone了. 或者放在在线转码中转义一下。 重启手机,或者利用OpenSSH在电脑终端执行killall SpringBoard 重启桌面. 可以在手机设置中查看到Reveal,然后选中Reveal->Enabled …
iOS内存管理
2,监控屏幕是否掉帧。(cpu计算,gpu绘制,如果处理不了就会掉帧) 原因1 __weak 修饰block 内的self 时,block对内部的self弱引用,打破了循环,但是这个不是block. 原因2 用__weak 修饰self,timer内部可能是用强引用持有的sel…
iOS底层之多线程
队列一共分两种串行(主队列是串行的一种)和并行。 开辟一个同步的并发线程。 1,任务2是要添加的主线程执行的。dispatch_sync 执行完本任务才能往下走。 3,任务2是放在队列里面的,需要等队列里的任务执行完。主队列已经有任务了,就是任务1,3 。 4,死锁原因,任务2…
iOS底层之RunLoop
运行循环,让程序一直存活,在程序运行过程中循环做一些事情。 RunLoop 实际上就是一个对象,这个对象管理了其需要处理的事件和消息,并提供了一个入口函数来执行上面 Event Loop 的逻辑。线程执行了这个函数后,就会一直处于这个函数内部 “接受消息->等待->处理” 的循…
iOS底层原理总结 - Runtime(5)RunTime APi
方法列表是 class_rw_t 可读可写的。 比如动态解析方法的时候,就是随时添加的。 打印出所有的成员变量。 load 中交互方法最好加 GCD Once方法保证只调用一次。 [instance class]方法返回的当前的对象的类的名称,[NSNumber numberW…
iOS底层原理总结 - Runtime(4)本质super 与class
首先来看一道面试题。 下列代码中Person继承自NSObject,Student继承自Person,写出下列代码输出内容。 上述代码中可以发现无论是self还是super调用class或superclass的结果都是相同的。 我们通过一段代码来看一下super底层实现,为Pe…
下一页
个人成就
文章被点赞
8
文章被阅读
21,865
掘力值
573
关注了
30
关注者
14
收藏集
2
关注标签
13
加入于
2016-12-13