01 2016 档案
objc反汇编分析,手工逆向libsystem_blocks.dylib
摘要:上一篇《block函数块为何物?》介绍了在函数中定义的block函数块的反汇编实现,我在文中再三指出__block变量和block函数块自始还都是stack-based的,还不完全适合在离开定义它们的范围之外使用,包括异步回调。本篇贴上我手工逆向的函数libsystem_blocks.dylib`_... 阅读全文
posted @ 2016-01-18 16:52 bbqz007 阅读(1827) 评论(0) 推荐(0)
UML分析AsyncDisplayKit框架-ASMuplexImageNode异步下载时序图。
摘要:UML分析AsyncDisplayKit框架-ASMuplexImageNode异步下载时序图。 阅读全文
posted @ 2016-01-18 16:41 bbqz007 阅读(475) 评论(0) 推荐(0)
objc反汇编分析,block函数块为何物?
摘要:你想知道void (^block) {} 的真实面目吗?请看 阅读全文
posted @ 2016-01-16 05:49 bbqz007 阅读(1800) 评论(0) 推荐(0)
apple平台下的objc的GCD,多线程编程就是优雅自然。
摘要:objc的GCD,多线程编程就是优雅自然。 阅读全文
posted @ 2016-01-15 05:38 bbqz007 阅读(508) 评论(0) 推荐(0)
AsyncDisplayKit编译和使用注意事项
摘要:facebook开源框架AsyncDisplayKit编译和使用注意事项 阅读全文
posted @ 2016-01-14 05:09 bbqz007 阅读(744) 评论(0) 推荐(0)
反汇编objc分析__block
摘要:"You can specify that an imported variable be mutable—that is, read-write— by applying the__blockstorage type modifier."文档已经清楚说明了它的作用。反汇编就是要看个究竟。__blo... 阅读全文
posted @ 2016-01-13 03:36 bbqz007 阅读(1377) 评论(1) 推荐(0)
逆向分析objc,所有类的信息都能在动态调试中获取。
摘要:不依靠 IDA pro 等工具,也能获知所有类的信息。 阅读全文
posted @ 2016-01-12 12:51 bbqz007 阅读(853) 评论(0) 推荐(0)
objc反汇编分析__strong和__weak
摘要:objc的__strong和__weak, 在反汇编中是怎么个实情?请看。 阅读全文
posted @ 2016-01-11 11:05 bbqz007 阅读(1698) 评论(0) 推荐(0)
objc里的伪指针TaggedPointer
摘要:介绍objc伪指针TaggedPointer,怎么个伪?请看。 阅读全文
posted @ 2016-01-10 18:46 bbqz007 阅读(2889) 评论(0) 推荐(1)
反汇编分析NSString,你印象中的NSString是这样吗
摘要:我们先来定义三个NSString-(void) testNSString{ NSString* a = @"abc"; NSString* b = [NSString stringWithUTF8String:"abc"]; NSString* c = [@"ab" stringB... 阅读全文
posted @ 2016-01-09 17:19 bbqz007 阅读(1310) 评论(1) 推荐(0)
反汇编分析objc函数枢纽objc_msgSend
摘要:在分析objc_msgSend之前,先来搞清楚另一个问题。函数是什么?可能会答 void foo(void) {} 像这样就是一个函数。或者函数包括函数原型和函数定义,是一段执行某样功能的机器代码。调用函数时必须要准备两个要素,函数原型和函数入口地址。函数原型的作用是什么?答声明了函数调用的方式。不... 阅读全文
posted @ 2016-01-07 16:00 bbqz007 阅读(2587) 评论(0) 推荐(1)
求重叠区间个数,某书某题错例分析
摘要:大意就是我淘钱买了一本题集,觉得书中有些地方作者太随意,例子错得不严谨,一度阻碍阅读。作为消费者不得不拿出来说一说。本文本着不迷信,实事求是精神。本文编排如下:1.引用书中原例2.主观分析例子有错3.代码运行验证其错4.修正例子代码5.另一个求值代码现在开始。下面是书中原例引用:求重叠区间个数给定多... 阅读全文
posted @ 2016-01-06 07:56 bbqz007 阅读(1293) 评论(0) 推荐(1)
成员函数指针,动态绑定(vc平台)
摘要:上一篇介绍了gcc对成员函数指针做了thunk的处理,本篇介绍vc对成员函数指针如何处理,还有动态绑定相关的处理。 同样用回上一篇的例子: struct point {float x,y;}; struct obj { virtual ~obj {} void foo(int) {} void fo 阅读全文
posted @ 2016-01-01 12:03 bbqz007 阅读(1223) 评论(0) 推荐(1)