学习了一些新姿势,C语言动态执行。

https://github.com/eleme/Stinger
https://juejin.im/post/5a600d20518825732c539622

1 个赞

mark :star_struck:

mark:kissing_heart:

我有几个问题希望能解答下:

  1. 使用 ‘libffi’ hook 方法对比使用 Objc 的 ‘Method Swizzling’ 有何优势(忽略 hook 方法执行前、方法执行后、多次 hook 这些功能)?
  2. ‘libffi’ 能否 hook Block 或 C 的方法?

首先,这个框架不是我开发的,转载来的。
尝试回答一下问题1
1 c语言没有runtime,没办法动态的执行,也没办法method swizzling。

还有一个需要注意的地方,
c语言是面向过程的,没有方法(method)这么一说,只有函数(function)

我觉得重点还是在于这个框架解决的问题,而不是框架能不能解决xx和yy问题。

框架的功能我看了,感觉跟 method swizzling 的功能差不多,所以我不明白这个框架具体解决的问题。

mark:+1:

eleme有个NVMAspect 怎么又来一个