desgard.com

直到双眼适应黑暗 - 2017 年小结

作者注:原本题目为《探寻属于自己的森林》,但是一想到可能有点绿(╯‵□′)╯︵┻━┻,就改成了《挪威的森林》中另外一句印象深刻的话。也许“适应黑暗”有些悲观,但是也能引申为从学生到职场员工的一种身份的转变吧。 忙忙碌碌地度过了 2017,这年一直在探求自己未来的职业方向,和探索需要学习的一些新的技术,汇总一下今年的一些成绩,也算是给自己一个交代(找点存在感)。 书与音乐 年初的时候给自己定下了这么一个目标:持续阅读,畅销书适量阅读,技术书精细挖掘。用豆瓣记录了一年的小说、传记、杂文及设计书阅读量,共20本,其用来处理平时在交通工具上的琐碎时间: 技术书上,决定以深度为主,因为想在移动领域更上一层,要做到每一页都事件,每一段代码都理清思路。以下为技术书单以及学习情况(按照推荐度排序): 《iOS 应用逆向工程》:用来入门逆向看的书。这本书也是收获颇多的一本,从使用 class-dump 、Theos、Cydia 等逆向工具,到 Tweak 的编写实战直至使用 IDA 、LLDB...

巧用符号表 - 探求 fishhook 原理(一)

这是 探求 fishhook 原理 系列的第一篇。主要讲述了 Facebook 开源库 fishhook 的源码实现细节。需要具备 Mach-O 相关知识。可以先阅读 Mach-O 文件格式探索 一文。 关于符号表的基本知识...

Shadowsocks Probe II - TCP 代理过程

(续 Shadowsocks Probe I - Socks5 与 EventLoop 事件分发) TCPRelay 及 Socket 监听事件 前文我们了解了 Shadowsocks...

Mach-O 文件格式探索

最近开始研究 iOS 逆向的相关知识,并且使用 MonkeyDev 对 WeChat 进行了实战。这里我放出后期会持续更新的个人项目 WeCheat。在逆向专题真正开始之前,需要系统的学习一些软件内幕知识。这篇文章将从二进制格式开始讲起,并探秘 Mach-O 文件格式内容。 进程与二进制格式 进程在众多操作系统中都有提及,它是作为一个正在执行的程序的实例,这是 UNIX 的一个基本概念。而进程的出现是特殊文件在内存中加载得到的结果,这种文件必须使用操作系统可以认知的格式,这样才对该文件引入依赖库,初始化运行环境以及顺利地执行创造条件。 Mach-O(Mach...

用 Lazy 思想实现 Segment Tree 的区间更新

这篇文章是向 Ray Wenderlich 中 Swift Algorithm Club 的投稿文。用来讲述 Segment Tree 的区间更新操作以及 Swift 实现方案。Open Issue #591...

Shadowsocks Probe I - Sock5 与 EventLoop 事件分发

#define 爱国 科学 最近 Apple Store 在大陆下架了所有 VPN 应用。然而日常的爱国上网已经成为了刚需。这也就是促使我阅读 Shadowsocks 源码的原因。希望后期可以自行编写移动设备的 Client 端而努力。 Shadowsocks 的原理初探...