书签 分享 收藏 举报 版权申诉 / 7

一种基于IOSMETHODSWIZZLING技术的数据隔离系统和方法.pdf

  • 上传人:1***
  • 文档编号:6201277
  • 上传时间:2019-05-20
  • 格式:PDF
  • 页数:7
  • 大小:309.42KB
  • 摘要
    申请专利号:

    CN201610262517.7

    申请日:

    2016.04.25

    公开号:

    CN105956478A

    公开日:

    2016.09.21

    当前法律状态:

    实审

    有效性:

    审中

    法律详情:

    实质审查的生效IPC(主分类):G06F 21/60申请日:20160425|||公开

    IPC分类号:

    G06F21/60(2013.01)I

    主分类号:

    G06F21/60

    申请人:

    北京珊瑚灵御科技有限公司

    发明人:

    丁昊; 宋锦辉; 李倩

    地址:

    100080 北京市海淀区苏州街18号院-2号楼1105室

    优先权:

    专利代理机构:

    北京市盛峰律师事务所 11337

    代理人:

    于国富

    PDF完整版下载: PDF下载
    内容摘要

    本发明提供一种基于iOS Method Swizzling技术的数据隔离系统和方法,属于iOS移动应用开发领域。该数据隔离系统包括,数据加密模块和方法替换模块;该数据隔离方法主要包括以下步骤:S1,所述MR模块替换writeToFile:atomically:的IMP和hook_writeToFile:atomically:的IMP;S2,所述DE模块将所述hook_writeToFile:atomically:的NSData类型的数据Adata加密成NSData类型数据Bdata。

    权利要求书

    1.一种基于iOS Method Swizzling技术的数据隔离系统,其特征在于,包
    括数据加密模块和方法替换模块;
    所述数据加密模块即DataEncryption,简称为DE模块,所述方法替换模块
    即MethodsReplace,简称为MR模块;
    所述DE模块实现对数据的AdvancedEncryptionStandard加密,所述MR模块
    实现对所需要的方法进行方法替换并修改。
    2.一种基于iOS Method Swizzling技术的数据隔离方法,其特征在于,包
    括以下步骤:
    S1,所述MR模块通过Method Swizzling技术替换系统方法
    writeToFile:atomically:的IMP和自定义方法hook_writeToFile:atomically:
    的IMP;
    S2,所述DE模块将所述自定义方法hook_writeToFile:atomically:的
    NSData类型的数据Adata加密成NSData类型数据Bdata;
    S3,将所述数据Bdata调用所述系统方法writeToFile:atomically:存入文
    件中;
    S4,所述MR模块通过Method Swizzling技术替换系统方法
    initWithContentsOfFile:的IMP和自定义方法hook_initWithContentsOfFile:
    的IMP;
    S5,将所述自定义方法hook_initWithContentsOfFile:传递的参数还原成
    所述NSData类型数据Cdata;
    S6,调用DE模块,将所述数据Cdata解密成所述NSData类型数据Ddata;
    S7,将所述数据Ddata调用所述系统方法initWithContentsOfFile:返回。
    3.根据权利要求2所述的一种基于iOS Method Swizzling技术的数据隔离
    方法,其特征在于,S1具体步骤包括:
    S11,所述MR模块通过method_getImplementation()函数获取到所述系统方
    法writeToFile:atomically:的IMP;
    S12,所述MR模块自定义一个所述自定义方法
    hook_writeToFile:atomically:,并通过系统函数method_getImplementation()
    获取所述自定义方法hook_writeToFile:atomically:的IMP;
    S13,通过系统函数class_replaceMethod()来交换所述系统方法
    writeToFile:atomically:的IMP和所述自定义方法hook_
    writeToFile:atomically:的IMP。
    4.根据权利要求2所述的一种基于iOS Method Swizzling技术的数据隔离
    方法,其特征在于,S4具体步骤包括:
    S41,所述MR模块通过method_getImplementation()函数获取到所述系统方
    法initWithContentsOfFile:的IMP;
    S42,自定义一个所述自定义方法hook_initWithContentsOfFile:,并通过
    method_getImplementation()函数获取该方法IMP;
    S43,最后通过class_replaceMethod()来交换所述系统方法
    initWithContentsOfFile:的IMP和所述自定义方法
    hook_initWithContentsOfFile:的IMP。
    5.根据权利要求2所述的一种基于iOS Method Swizzling技术的数据隔离
    方法,其特征在于,S5具体步骤包括:
    S51,获取自定义方法hook_initWithContentsOfFile:的参数Path;
    S52,根据所述参数Path,调用所述系统方法initWithContentsOfFile:得
    到所述数据Cdata。

    说明书

    一种基于iOS Method Swizzling技术的数据隔离系统和方法

    技术领域

    本发明涉及iOS移动应用开发领域,尤其涉及一种基于iOS Method
    Swizzling技术的数据隔离系统和方法。

    背景技术

    现有的iOS应用的数据读写方式都是没有经过加密的,通过某些平台可以看
    到应用里面的文件从而造成数据泄密,即使是加密也是要针对每一个存储的文
    件进行加密,非常繁琐,往往会导致最后忘记哪些加密,哪些没有解密。

    发明内容

    本发明的目的在于提供一种基于iOS Method Swizzling技术的数据隔离系
    统和方法,从而解决现有技术中存在的前述问题。

    为了实现上述目的,本发明采用的技术方案如下:

    一种基于iOS Method Swizzling技术的数据隔离系统,其特征在于,包括
    数据加密模块和方法替换模块;

    所述数据加密模块即DataEncryption,简称为DE模块,所述方法替换模块
    即MethodsReplace,简称为MR模块;

    所述DE模块实现对数据的AdvancedEncryptionStandard加密,所述MR模块
    实现对所需要的方法进行方法替换并修改。

    一种基于iOS Method Swizzling技术的数据隔离方法,包括以下步骤:

    S1,所述MR模块通过Method Swizzling技术替换系统方法
    writeToFile:atomically:的IMP和自定义方法hook_writeToFile:atomically:
    的IMP;

    S2,所述DE模块将所述自定义方法hook_writeToFile:atomically:的
    NSData类型的数据Adata加密成NSData类型数据Bdata;

    S3,将所述数据Bdata调用所述系统方法writeToFile:atomically:存入文
    件中;

    S4,所述MR模块通过Method Swizzling技术替换系统方法
    initWithContentsOfFile:的IMP和自定义方法hook_initWithContentsOfFile:
    的IMP;

    S5,将所述自定义方法hook_initWithContentsOfFile:传递的参数还原成
    所述NSData类型数据Cdata;

    S6,调用DE模块,将所述数据Cdata解密成所述NSData类型数据Ddata;

    S7,将所述数据Ddata调用所述系统方法initWithContentsOfFile:返回。

    优选的,S1具体步骤包括:

    S11,所述MR模块通过method_getImplementation()函数获取到所述系统方
    法writeToFile:atomically:的IMP;

    S12,所述MR模块自定义一个所述自定义方法
    hook_writeToFile:atomically:,并通过系统函数method_getImplementation()
    获取所述自定义方法hook_writeToFile:atomically:的IMP;

    S13,通过系统函数class_replaceMethod()来交换所述系统方法
    writeToFile:atomically:的IMP和所述自定义方法hook_
    writeToFile:atomically:的IMP。

    优选的,S4具体步骤包括:

    S41,所述MR模块通过method_getImplementation()函数获取到所述系统方
    法initWithContentsOfFile:的IMP;

    S42,自定义一个所述自定义方法hook_initWithContentsOfFile:,并通过
    method_getImplementation()函数获取该方法IMP;

    S43,最后通过class_replaceMethod()来交换所述系统方法
    initWithContentsOfFile:的IMP和所述自定义方法
    hook_initWithContentsOfFile:的IMP。

    优选的,S5具体步骤包括:

    S51,获取自定义方法hook_initWithContentsOfFile:的参数Path;

    S52,根据所述参数Path,调用所述系统方法initWithContentsOfFile:得
    到所述数据Cdata。

    本发明的有益效果是:本发明提供一种可以对数据自动加密解密的方案,
    不需写入大量的代码,就可以对存入文件的数据进行加密,在使用的时候可以
    自动解密,不需要开发人员重复加密解密的过程,即可完成对数据的保护,加
    密之后的文件通过第三方工具即使找到了存储的文件,也会因为文件加密过而
    无法读取文件的内容,在应用内部可以正常的使用文件的数据,达到数据隔离
    的效果。

    附图说明

    图1是本发明中基于iOS Method Swizzling技术的数据隔离系统的运行图。

    具体实施方式

    为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本
    发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解
    释本发明,并不用于限定本发明。

    一种基于iOS Method Swizzling技术的数据隔离系统,包括数据加密模块
    和方法替换模块;

    所述数据加密模块即DataEncryption,简称为DE模块,所述方法替换模块
    即MethodsReplace,简称为MR模块;

    所述DE模块实现对数据的AdvancedEncryptionStandard加密,所述MR模块
    实现对所需要的方法进行方法替换并修改。

    一种基于iOS Method Swizzling技术的数据隔离方法,包括以下步骤:

    S1,所述MR模块通过Method Swizzling技术替换系统方法
    writeToFile:atomically:的IMP和自定义方法hook_writeToFile:atomically:
    的IMP;其中,S1具体步骤包括:S11,所述MR模块通过
    method_getImplementation()函数获取到所述系统方法
    writeToFile:atomically:的IMP;S12,所述MR模块自定义一个所述自定义方法
    hook_writeToFile:atomically:,并通过系统函数method_getImplementation()
    获取所述自定义方法hook_writeToFile:atomically:的IMP;S13,通过系统函
    数class_replaceMethod()来交换所述系统方法writeToFile:atomically:的
    IMP和所述自定义方法hook_writeToFile:atomically:的IMP。

    S2,所述DE模块将所述自定义方法hook_writeToFile:atomically:的
    NSData类型的数据Adata加密成NSData类型数据Bdata;

    S3,将所述数据Bdata调用所述系统方法writeToFile:atomically:存入文
    件中;

    S4,所述MR模块通过MethodSwizzling技术替换系统方法
    initWithContentsOfFile:的IMP和自定义方法hook_initWithContentsOfFile:
    的IMP;其中,S4具体步骤包括:S41,所述MR模块通过
    method_getImplementation()函数获取到所述系统方法
    initWithContentsOfFile:的IMP;S42,自定义一个所述自定义方法
    hook_initWithContentsOfFile:,并通过method_getImplementation()函数获
    取该方法IMP;S43,最后通过class_replaceMethod()来交换所述系统方法
    initWithContentsOfFile:的IMP和所述自定义方法
    hook_initWithContentsOfFile:的IMP;

    S5,将所述自定义方法hook_initWithContentsOfFile:传递的参数还原成
    所述NSData类型数据Cdata;其中,S5具体步骤包括:S51,获取自定义方法
    hook_initWithContentsOfFile:的参数Path;S52,根据所述参数Path,调用所
    述系统方法initWithContentsOfFile:得到所述数据Cdata;

    S6,调用DE模块,将所述数据Cdata解密成所述NSData类型数据Ddata;

    S7,将所述数据Ddata调用所述系统方法initWithContentsOfFile:返回。

    通过采用本发明公开的上述技术方案,得到了如下有益的效果:

    本发明提供一种可以对数据自动加密解密的方案,不需写入大量的代码,
    就可以对存入文件的数据进行加密,在使用的时候可以自动解密,不需要开发
    人员重复加密解密的过程,即可完成对数据的保护,加密之后的文件通过第三
    方工具即使找到了存储的文件,也会因为文件加密过而无法读取文件的内容,
    在应用内部可以正常的使用文件的数据,达到数据隔离的效果。

    以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技
    术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这
    些改进和润饰也应视本发明的保护范围。

    关 键  词:
    一种 基于 IOSMETHODSWIZZLING 技术 数据 隔离 系统 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种基于IOSMETHODSWIZZLING技术的数据隔离系统和方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6201277.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1