白盒1:iOS静态代码扫描

静态扫描

Static Analysis

1、能够在编码阶段,开发自行进行代码检查。早期发现代码隐患。

2、直接分析源代码来发现程序中的错误,而不需要实际运行。

3、自动检测objective-C程序中的BUG,发现内存泄露和其它问题。

4、内存问题发现越早,解决的代价就越小。

 静态扫描方法 :xcode集成工具

xcode下,针对某个project ,点击菜单栏上 Product--Analyze ;

 扫描结果分析

扫描结果包含warning 和error列表,可以对提示的地方点击进去,查看对应的可疑代码;

问题分类:

Dead store

Memory

Memory Error

Core Foundation

Logic Error

API Misuse

需要重点关注的点:

Memory --内存泄露点;

静态扫描使用场景:

1、在开发编码阶段使用,直接分析源代码来发现程序中的错误,而不需要实际运行,提前发现代码隐患。

2、测试在冒烟测试时可先进行扫描,错误太多代码修改量太大的情况下可暂不介入测试,以免造成返工。

时间: 2024-12-15 01:52:36

白盒1:iOS静态代码扫描的相关文章

Clang &IOS 静态代码分析工具scan-build

Author:Echo Chen(陈斌) Email:[email protected] Blog:Blog.csdn.net/chen19870707 Date:Jan.4th, 2015 IOS项目和Clang项目可以借助scan-build 实现代码的静态分析,找出代码缺陷. 1.什么是 Scan-build? Scan-build 是一个命令行工具,它能够帮助使用者运行静态分析器检查他们的代码, 找出代码的缺陷. 2.scan-build是怎么工作的? 当一个项目在构建中,源文件在编译时

Objective C静态代码扫描和代码质量管理 OClint + SonarQube

OClint是针对C, C++及Objective C代码的静态扫描分析工具,而SonarQube是一个开源的代码质量管理平台.本文将实现将OClint的扫描结果导入到SonarQube中,已实现对Objective C代码质量的管理. 操作系统: Mac OS X 10.9 所需工具: SonarQube : sonarqube-4.4 - http://www.sonarqube.org/downloads/ Sonar Runner : sonar-runner-dist-2.4 - ht

Eclipse安装FindBugs,并进行静态代码扫描

1.打开Eclipse,菜单选择Help->Install New Software,在窗口中Work With框填写http://findbugs.cs.umd.edu/eclipse,进行FindBugs插件的安装. 2.在Eclipse项目中,鼠标右击项目.目录或代码,在弹出菜单中选择Find Bugs->Find Bugs,会开始扫描选中的代码,同时会在各个包和类上标记可能存在问题的个数. 3.扫描结束后,需要打开Find Bugs Explorer查看结果,打开方法:菜单Window

Sonar静态代码扫描环境搭建(Windows10)

一.环境配置: 1.jdk安装及配置 2.MySQL数据库安装----直接调用服务器院端的MySQL数据库,在此基础上创建新的数据库sonar. 数据库的配置如下: 3.sonar官网下载sonarqube版本,选择的是5.6.3版本,官网说是长期支持,所以选的这个版本.注意sonarqube对应的sonar scanner版本号是2.8.也可以用sonar runner,其实runner跟scanner一样. http://www.sonarqube.org/downloads/ 下载sona

JAVA语言搭建白盒静态代码、黑盒网站插件式自动化安全审计平台

近期打算做一个插件化的白盒静态代码安全审计自动化平台和黑盒网站安全审计自动化平台.现在开源或半开源做黑盒网站安全扫描的平台,大多是基于python脚本,安全人员贡献python脚本插件增强平台功能.对自己或身边开发人员,对java语言更熟悉,为了后期维护打算采用java写一个这样的平台.另外白盒代码安全扫描也有Fortify等收费软件,或依赖PMD做代码分析,不过比如新增了什么安全问题,需要自定义或扩展就比较麻烦. 比如一个简单的:现在用struts2存在漏洞,现在需要升级到2.3.28版本,于

商业级别Fortify白盒神器介绍与使用分析

什么是fortify它又能干些什么? 答:fottify全名叫:Fortify SCA ,是HP的产品 ,是一个静态的.白盒的软件源代码安全测试工具.它通过内置的五大主要分析引擎:数据流.语义.结构.控制流.配置流等对应用软件的源代码进行静态的分析,分析的过程中与它特有的软件安全漏洞规则集进行全面地匹配.查找,从而将源代码中存在的安全漏洞扫描出来,并给予整理报告. 它支持扫描多少种语言? 答:FortifySCA支持的21语言,分别是: 1. asp.net      2. VB.Net    

PHP自动化白盒审计技术与实现

0x00前言 国内公开的PHP自动化审计技术资料较少,相比之下,国外已经出现了比较优秀的自动化审计实现,比如RIPS是基于token流为基础进行一系列的代码分析.传统静态分析技术如数据流分析.污染传播分析应用于PHP这种动态脚本语言分析相对较少,但是却是实现白盒自动化技术中比较关键的技术点.今天笔者主要介绍一下最近的研究与实现成果,在此抛砖引玉,希望国内更多的安全研究人员将精力投入至PHP自动化审计技术这一有意义的领域中. 0x01 基础知识 自动化审计的实现方式有多种,比如直接使用正则表达式规

软件测试不再黑盒— threadingtest带来第二代白盒覆盖率技术

软件测试不再黑盒- threadingtest带来第二代白盒覆盖率技术 穿线测试对于测试界的一个重大创新在于,在白盒测试理论出现数十年以后,上海零一拼装信息技术有限公司结合在测试理论方面十余年的潜心研究,率先提出了第二代覆盖率技术,这绝对不是一个口号,而是ZOA真正对于白盒测试的理解以及对于标准第三方测试服务的深度理解经过数年的基础研究以及2年有余的研发而推出的达到商用标准的技术.现在先让我们温习下经典的测试理论: 1.测试方法论 黑盒功能测试法 黑盒功能测试法, 是把要测试的软件看成一个 "黑

iOS 静态库,动态库与 Framework

iOS 静态库,动态库与 Framework 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式进行封装,只暴露出头文件.另外一种情况是,对于某些不会进行大的改动的代码,我们想减少编译的时间,就可以把它打包成库,因为库是已经编译好的二进制了,编译的时候只需要 Link 一下,不会浪费编译时间. 上面提到库在使用的时候需要