一种 hook C++ static initializers 的方法

先补充:标题中 static initializers 其实应该叫做 C++ static initializers and C/C++ __attribute__(constructor) functions。 使用 MachOView 打开一个MachO文件,多数情况下会看到这个section __mod_init_func 。 ...
Skill

一种 hook objective c +load 的方法

iOS有以下四种方法可方便的在premain阶段执行代码: 1. Objective C类的+load方法 2. C++ static initializer 3. C/C++ __attribute__(constructor) functions 4. 动态库中的上面三种方法 ...
Skill

2016总结

每次换工作都是人生的一大改变 加入蚂蚁金服,实现了我曾经在二线城市时的“小梦想”。 ...
Essay

微信源文件是怎么组织的

项目越大,就越需要合理的组织文件目录层次。 逆向微信的过程中,经常看到一些“输出日志”的方法调用,而且带有完整的路径。例如: ...
Skill

探索 facebook iOS 客户端 - section fbsessiongks

现象 MachOView查看Facebook的可执行文件,发现 FBInjectable 和 fbsessiongks 的数据段,这篇文章就探索下 fbsessiongks 数据段的产生与用途。 ...
Skill

探索 facebook iOS 客户端 - section FBInjectable

现象 MachOView查看Facebook的可执行文件,发现 FBInjectable 和 fbsessiongks 的数据段,这篇文章就探索下 FBInjectable 数据段的产生与用途。 ...
Skill

探索 Facebook iOS 客户端 - Section RODATA

现象 使用 MachOView 查看 Facebook 的 iOS 二进制文件时,发现有几个 Section 与其他大多数 App 不同。 下图是 Facebook : 下图是微信: ...
Skill

头文件分类工具supotato

class-dump 出的头文件这么多,supotato 可以根据头文件的前2个字符形成个简单的分类报告。同时可以猜测出使用了哪些第三方库(CocoaPods)。 源码 ...
Essay

Segmentfault Hackathon 2016总结

背景 上周末两天与朋友(两个人组队)参加了segmentfault与angelhack举办的hackathon,北京站。主题是“文艺复兴”。 周六经过简单开场,以及简单的API宣讲(太简单)。下午2点正式开始了构思。提供的sdk有:agoria的视频通话sdk 与 wacom的WILL sdk。 在这个基础上我们有了个想法: 视频绘画教学。agoria提供视频功能,wacom提供绘图板功能。由于两个sdk都有demo,应该能很快组装起来。 匿名视频。随机与打开App的另一方建立连接。 匿名兴趣视频。选择App中内置的兴趣,可以与所有进入这个兴趣的用户视频。 然而,我们总觉得这些想法“没有创意”。视频sdk号称30分钟集成,WILL sdk也应该容易使用。岂不是所有人都做这个视频功能?简单的视频通话会不会没有创意? ...
Essay

Windows转iOS开发一年总结

自去年(2015年)3月15日开始iOS开发以来,去掉中间3个月的全职奶爸(兼职O2O摄影创业)(5月10日至8月12日),到今天(2016年6月26日)已经1年多一点。 去年11月份写过一篇 C++转iOS开发5个月总结 ,罗列了在接近5个月的时间内学习的知识,也做了一些计划。 本篇文章就接着上篇继续。总结下最近6个月(去年12月至今天)的学习情况。 ...
Essay