内容简介:目前已经支持以下一些通用的简单的静态代码检测规则:未来也许会支持更多...
FBI-WARNING
是一个使用 Clang
在编译的时候对 ObjC
代码进行静态分析的 .dylib
库。
目前已经支持以下一些通用的简单的静态代码检测规则:
@property
-
NSString
和Block
需要使用copy
关键字修饰。 -
delegate
需要使用weak
关键字修饰。 - 使用
atomic
原子性修饰时候的提醒。 -
property
不应该使用大写开头命名。 -
property
不应该使用内存管理语义命名。 - 应该使用
@Property
方式定义属性。
Method
- 方法名不应该使用大写开头命名。
- 方法名不应该使用内存管理语义命名。
- 方法参数名不应该使用大写开头命名。
- 方法体超过 XX(50) 行的提醒。
Class
- 类/分类名应该使用大写开头。
- 类/分类名应该使用自定义大写前缀开头。
- 类/分类名应该使用驼峰命名
Others
- 应该使用
NS_ENUM/NS_OPTIONS
定义枚举,而不是使用enum
。
未来也许会支持更多...
Custom
如果想要增加或者修改规则的小伙伴可以看看笔者写的另外两篇入门的文章(大牛请略过) LLVM & Clang 入门 和 Clang Plugin 之 Debug 这两篇文章讲了怎么搭建环境和使用 Xcode 进行调试。
当前代码中已经支持了可自定义过滤 Framework
或者文件,在 isVenderSourceCode()
函数中,将需要过滤的 Framework
或者 文件名
直接添加在 venders
中就可以了。
Notes
本仓库中会包含 FBI-WARNING
、 FBI-WARNING-Tooling
、 FWPluginDemo
和一个 .dylib
库。
FBI-WARNING:它会编译生成一个 .dylib
库,这个 .dylib
库会用于直接集成到 Xcode 中。集成部分请参考 Xcode 集成 Plugin 。
FBI-WARNING-Tooling:它是一个可直接使用适用于 Xcode
调试的代码。逻辑代码和 FBI-WARNING
是一样的(只是在加载方式和 CMakeLists
的配置文件上有一些差异),更准确的来说, FBI-WARNING
是将 FBI-WARNING-Tooling
进行调试好的代码复制过去的。调试部分请参考 Clang Plugin 之 Debug 。
笔者也是刚开始学习,代码写得不够规范还请各位大佬见谅。其他自定义规则,请有需求的或者感兴趣的同学自己动动手。
欢迎对 clang
和 逆向
感兴趣的同学添加微信一起交流(添加时请注明)。
Effects
Questions
Q: 更新了 .dylib
之后,在 Xcode
中重新运行怎么还是原来那样呀,没有任何变化? A: 这时候需要对着对应的 Xcode
项目,按住 Shift
+ Command
+ K
, Clean
一次就好了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Tales from Facebook
Daniel Miller / Polity Press / 2011-4-1 / GBP 55.00
Facebook is now used by nearly 500 million people throughout the world, many of whom spend several hours a day on this site. Once the preserve of youth, the largest increase in usage today is amongst ......一起来看看 《Tales from Facebook》 这本书的介绍吧!