众所周知APPLE的iOS是封闭的,每个app有着沙盒路径,正规发布途径也只有唯一的APPStore, 但是市场上越狱手机和强大的抓包工具依然时时刻刻威胁着App 的安全,而且随着项目慢慢积累用户,用户的隐私和数据安全越来越重要,危险遍布于开发的各个阶段,同时对安全的重视程度也间接体现了一个开发者的能力和意识。本文针对项目数据传输和本地存储着两块,将开发过程中涉及到和安全相关的问题都记录下来,作为积累。
众所周知APPLE的iOS是封闭的,每个app有着沙盒路径,正规发布途径也只有唯一的APPStore, 但是市场上越狱手机和强大的抓包工具依然时时刻刻威胁着App 的安全,而且随着项目慢慢积累用户,用户的隐私和数据安全越来越重要,危险遍布于开发的各个阶段,同时对安全的重视程度也间接体现了一个开发者的能力和意识。本文针对项目数据传输和本地存储着两块,将开发过程中涉及到和安全相关的问题都记录下来,作为积累。
////获取html到NSString
NSURL *url = [NSURL URLWithString:@"http://www.xtox.net/product/detail.action?product.id=11"];
NSString *strHtml = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
////显示到UIWebView
[self.m_web loadHTMLString:strHtml baseURL:nil];
/////显示到UITextView
[self.m_TextView setContentToHTMLString:strHtml];
缓存机制: 这个类通过
@property (nonatomic, strong) NSMutableDictionary <NSString* , AFCachedImage*> *cachedImages;
这个字典属性进行图片数据的存储。每一张图片对于唯一的一个标示字符串,如果是请求链接则将链接作为键值。添加图片的时候会计算图片的大小,进行存储空间的控制,超过初始化的大小进行时间排序,久的图片的删除,或者收到内存警告的时候,则清除所有的图片。
可以禁用NSURLCache,只需要将内存和磁盘空间设置为0就行了.
NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:0
diskCapacity:0
diskPath:nil];
[NSURLCache setSharedURLCache:sharedCache];
Charles 是在 Mac 下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。
Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。(http://blog.devtang.com/2015/11/14/charles-introduction/)
Charles 主要的功能包括:
1. 截取 Http 和 Https 网络封包。
2. 支持重发网络请求,方便后端调试。
3. 支持修改网络请求参数。
4. 支持网络请求的截获并动态修改。
5. 支持模拟慢速网络。
WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。
OLLYDBG是一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3级调试器,非常容易上手,己代替SoftICE成为当今最为流行的调试解密工具了。同时还支持插件扩展功能,是目前最强大的调试工具。
Immunity Debugger软件专门用于加速漏洞利用程序的开发,辅助漏洞挖掘以及恶意软件分析。它具备一个完整的图形用户界面,同时还配备了迄今为止最为强的python安全工具库。它巧妙的将动态调试功能与一个强大的静态分析引擎融合于一体,它还附带了一套高度可定制的纯python图形算法,可用于帮助我们绘制出直观的函数体控制流以及函数中的各个基本块。