🐼黑超熊猫zuik's blog

iOS 开发修行之路


  • 首页

  • 分类

  • 归档

  • 标签

打造完备的iOS组件化方案:如何面向接口进行模块解耦

发表于 2019-07-15   |   分类于 代码架构 , 组件化 , 解耦
关于组件化的探讨已经有不少了,在之前的文章”iOS VIPER架构实践(三):面向接口的路由设计”中,综合比较了各种方案后,我倾向于使用面向接口的方式进行组件化。 这是一篇从代码层面讲解模块解耦的文章,会全方位地展示如何实践面向接口的思想,尽量全面地探讨在模块管理和解耦的过程中,需要考虑到的各种问题 ...
阅读全文 »

iOS逆向指南:动态分析

发表于 2018-05-10   |   分类于 逆向工程
当静态分析无法获取足够的信息时,就需要进行动态分析,在 app 运行时,追踪方法调用、查看内存信息。最后找到想要分析的关键函数。 这篇文章包括: 环境搭建 反调试 动态调试的思路 lldb 调试命令与脚本 cycript 配置与使用 frida 配置与使用 IDA 动态调试 环境搭建安装 ope ...
阅读全文 »

iOS逆向指南:静态分析

发表于 2018-02-16   |   分类于 逆向工程
静态分析是指对二进制包进行反编译,分析静态的代码逻辑。 本文内容包括:app 砸壳过程、工具和环境的坑、导出 OC 头文件、使用 hopper 和 IDA 反编译、arm 寄存器功能、静态分析经验、推荐的 IDA 插件、如何分析系统库。 对 app 砸壳解密从 App Store 下载的 app 是 ...
阅读全文 »

iOS逆向指南:界面分析

发表于 2018-01-06   |   分类于 逆向工程
写几篇文章总结一下 iOS 逆向的整个流程,逆向初学者可以作为入门指南。内容包括逆向工具和环境配置、踩坑点、界面分析、砸壳、静态分析、动态分析、lldb 调试、推荐 hopper 和 IDA 插件、IDA 插件的编写、各种分析技巧。 逆向的作用对于 iOS 开发工程师: 通过查看界面、阅读汇编代码 ...
阅读全文 »

iOS VIPER架构实践(三):面向接口的路由设计

发表于 2017-09-27   |   分类于 代码架构
路由是实现模块间解耦的一个有效工具。如果要进行组件化开发,路由是必不可少的一部分。目前iOS上绝大部分的路由工具都是基于URL匹配的,优缺点都很明显。这篇文章里将会给出一个更加原生和安全的设计,这个设计的特点是: 路由时用protocol寻找模块 可以对模块进行固定的依赖注入和运行时依赖注入 支持 ...
阅读全文 »

iOS VIPER架构实践(二):VIPER详解与实现

发表于 2017-08-11   |   分类于 代码架构
第一篇文章对VIPER进行了简单的介绍,这篇文章将从VIPER的源头开始,比较现有的几种VIPER实现,对VIPER进行进一步的职责剖析,并对各种细节实现问题进行挖掘和探讨。最后给出两个完整的VIPER实现,并且提供快速生成VIPER代码的模板。 Demo和轮子的github地址是:ZIKViper ...
阅读全文 »

iOS VIPER架构实践(一):从MVC到MVVM到VIPER

发表于 2017-07-21   |   分类于 代码架构
简介最近半年在写app的时候,研究了一下各种iOS代码架构,最后选择了VIPER进行实践,在此对实践中遇到的各种设计问题做一番总结,并分享造出的轮子。 对代码风格和架构有兴趣的同学,肯定都已经在很多地方见过各种架构的介绍。MVC、MVP、MVVM、VIPER,细分程度逐渐上升。这些架构设计都是来自M ...
阅读全文 »

CFRunloop的多线程隐患

发表于 2017-05-22
如果你还不了解什么是runloop,可以看这里的详解深入理解RunLoop。 苹果官方文档中,声明了CFRunloop是线程安全的: Thread safety varies depending on which API you are using to manipulate your run l ...
阅读全文 »

iOS逆向:在任意app上开启malloc stack追踪内存来源

发表于 2017-05-04   |   分类于 逆向工程
lldb有一个内存调试工具malloc stack,开启以后就可以查看某个内存地址的malloc和free记录,追踪对象是在哪里创建的。 这个工具可以打印出对象创建的堆栈,而在逆向时,也经常需要追踪某些方法的调用栈,如果可以随时打印出某个对象的创建记录,也就能直接找到其所在的类和方法,不用再花费大量 ...
阅读全文 »

iOS逆向:用Xcode直接调试第三方app

发表于 2017-05-04   |   分类于 逆向工程
一般动态调试app时,都是在终端里用lldb直接调试,但是用Xcode的Attach to Process也可以连接到真机上的进程进行调试。但是只能调试用自己的证书签名的app。 在Xcode上调试的优点: 有UI界面,查看堆栈更直接,可以用Xcode打断点。 可以使用debug gauges里的 ...
阅读全文 »
12
zuik

zuik

自强不息 厚德载物 zuikxyo@gmail.com https://github.com/Zuikyo https://xiaozhuanlan.com/zuik https://juejin.im/user/58b78c1dac 502e006bc59b5c

15 日志
9 分类
1 标签
RSS
© 2019 zuik
由 Hexo 强力驱动
主题 - NexT.Pisces