一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

防止App被逆向编译的防护方法、系统、装置及计算机介质与流程

2022-02-20 00:38:26 来源:中国专利 TAG:

防止app被逆向编译的防护方法、系统、装置及计算机介质
技术领域
1.本发明涉及app编译技术领域,具体地说是防止app被逆向编译的防护方法、系统、装置及计算机介质。


背景技术:

2.随着互联网的快速发展,截止2021年6月,我国网民总体规模超过10亿,10亿用户接入互联网,形成了全球最为庞大、生机勃勃的数字社会,其中移动互联网发展更加迅猛,据移动互联网大数据公司questmobile《中国移动互联网2021半年大报告》显示,我国移动互联网全网用户月人均app使用数量达26.3个。
3.伴随着移动app的普及也暴露出了许多安全问题,app安全问题,不管对于开发者还是用户来说,都是至关重要的,开发出的app是安全的,用户才能放心的使用;保证app的安全稳定,是保障个人隐私权限不被侵犯的基础,互联网上有大量针对app的逆向编译工具,攻击者可以很方便地使用这些逆向工具分析出app漏洞,实现窃取用户信息、转移用户资产等目的。
4.基于上述分析,如何解决app被逆向分析注入的安全性问题,是需要解决的技术问题。


技术实现要素:

5.本发明的技术任务是针对以上不足,提供防止app被逆向编译的防护方法、系统、装置及计算机介质,来解决如何解决app被逆向分析注入的安全性问题的技术问题。
6.第一方面,本发明的防止app被逆向编译的防护方法,包括如下步骤:
7.对设备进行越狱检测;
8.如果设备越狱,对app应用进行安全策略升级或者直接强制退出app;
9.如果设备未越狱,对app应用进行完整性检测;
10.如果app应用存在异常,对app应用进行安全策略升级或者直接强制退出app;
11.如果app应用无异常,判断app应用是否被恶意注入;
12.如果app应用被恶意注入,对app应用进行安全策略升级或者直接强制退出app;
13.如果app应用没有被恶意注入,正常启动app应用。
14.作为优选,对设备进行越狱检测,包括如下步骤:
15.基于越狱设备安装cydia、sileo及其附属文件,检测越狱商店机器附属文件;
16.鉴于已经越狱的设备,能够读取到系统应用的列表,进而读取系统应用列表。
17.作为优选,对app应用进行完整性检测,包括如下步骤:
18.在加载命令中增加一个lc_load_dylib或者lc_load_weak_dylib的方式来指向动态库路径,从而实现注入功能,以检测加载命令中是否存在异常;
19.进行代码段检测,检测__text,text是否被修改。
20.作为优选,判断app应用是否被恶意注入,包括如下步骤:
21.当dyld检测到mach-o中存在“__restrict,restrict”时,dyld_insert_libraries会被忽略,导致注入失败,通过在“other linker flags”中添加
“‑
wl,-sectcreate,__restrict,restrict,/dev/null”实现反注入;
22.鉴于注入环境原理为通过dyld_insert_libraries注入dylib,通过检测此环境变量来检测是否被注入。
23.作为优选,所述方法基于xcode开发工具编写的项目实现。
24.第二方面,本发明的防止app被逆向编译的防护系统,包括:
25.越狱检测模块,所述越狱检测模块用于对设备进行越狱检测,如果设备越狱,用于对app应用进行安全策略升级或者直接强制退出app;
26.完整性检测模块,所述完整性检测模块用于在设备未越狱时,对app应用进行完整性检测,如果app应用存在异常,用于对app应用进行安全策略升级或者直接强制退出app;
27.注入模块,所述注入模块用于在app应用无异常时,判断app应用是否被恶意注入,如果app应用被恶意注入,用于对app应用进行安全策略升级或者直接强制退出app;如果app应用没有被恶意注入,用于正常启动app应用。
28.作为优选,所述设备越狱检测模块用于对设备进行越狱检测,包括如下步骤:
29.基于越狱设备安装cydia、sileo及其附属文件,检测越狱商店机器附属文件;
30.鉴于已经越狱的设备,能够读取到系统应用的列表,进而读取系统应用列表;
31.所述完整性检测模块用于对app应用进行完整性检测,包括如下步骤:
32.在加载命令中增加一个lc_load_dylib或者lc_load_weak_dylib的方式来指向动态库路径,从而实现注入功能,以检测加载命令中是否存在异常;
33.进行代码段检测,检测__text,text是否被修改;
34.所述注入模块用于对判断app应用是否被恶意注入,包括如下步骤:
35.当dyld检测到mach-o中存在“__restrict,restrict”时,dyld_insert_libraries会被忽略,导致注入失败,通过在“other linker flags”中添加
“‑
wl,-sectcreate,__restrict,restrict,/dev/null”实现反注入;
36.鉴于注入环境原理为通过dyld_insert_libraries注入dylib,通过检测此环境变量来检测是否被注入。
37.作为优选,所述防护系统为基于xcode开发工具编写的项目实现。
38.第三方面,本发明的装置,包括:至少一个存储器和至少一个处理器;
39.所述至少一个存储器,用于存储机器可读程序;
40.所述至少一个处理器,用于调用所述机器可读程序,执行第一方面任一所述的方法。
41.第四方面,本发明的计算机介质,为计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面任一所述的方法。
42.本发明的防止app被逆向编译的防护方法、系统、装置及计算机介质具有以下优点:通过对设备越狱检测、、对应用进行完整性检测以及注入对抗,解决了app被逆向分析注入的安全性问题。
附图说明
43.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.下面结合附图对本发明进一步说明。
45.图1为实施例1防止app被逆向编译的防护方法的流程框图。
具体实施方式
46.下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
47.本发明实施例提供防止app被逆向编译的防护方法、系统、装置及计算机介质,用于解决如何解决app被逆向分析注入的安全性问题的技术问题。
48.实施例1:
49.本发明的防止app被逆向编译的防护方法,包括如下步骤:
50.s100、对设备进行越狱检测;
51.如果设备越狱,对app应用进行安全策略升级或者直接强制退出app;
52.s200、如果设备未越狱,对app应用进行完整性检测;
53.如果app应用存在异常,对app应用进行安全策略升级或者直接强制退出app;
54.s300、如果app应用无异常,判断app应用是否被恶意注入;
55.如果app应用被恶意注入,对app应用进行安全策略升级或者直接强制退出app;
56.如果app应用没有被恶意注入,正常启动app应用。
57.其中步骤s100越狱检测中,首先检测越狱商店及其附属文件:所有越狱设备几乎都安装了cydia、sileo及其附属文件,可以通过以下代码检测:
58.[0059][0060]
检测越狱商店及其附属文件后,读取系统应用列表:如果设备已越狱,就可以读取到系统应用的列表,可以以此作为检查越狱的手段:
[0061]
[0062][0063]
步骤s200进行完整性检测时,首先进行加载命令检测:为使为越狱设备顺利使用插件,通常会在加载命令中增加一个lc_load_dylib或者lc_load_weak_dylib的方式来指向自己的动态库路径,从而实现注入功能,该方法即检测加载命令中是否存在异常,代码如下:
[0064]
[0065][0066]
加载命令检测后,进行代码段检测:此方法主要用来检测__text,text是否被修改,代码如下:
[0067]
[0068][0069]
步骤s300注入对抗:在越狱环境下,插件要起作用就必须注入目标程序,开发者可以对注入行为进行拦截或者检测,最大程度保证应用安全。
[0070]
首先反注入:当dyld检测到mach-o中存在“__restrict,restrict”这样的节时,dyld_insert_libraries会被忽略,导致注入失败。可以在“other linker flags”中添加
“‑
wl,-sectcreate,__restrict,restrict,/dev/null”,这时自己编写的tweak就无法再注入了。
[0071]
然后注入检测:注入环境原理都是通过dyld_insert_libraries注入dylib,因此可以通过检测此环境变量来检测是否被注入。代码如下:
[0072][0073][0074]
本实施例使用xcode开发工具编写的项目,通过设备越狱检测、应用的完整性检测以及注入对抗,解决app被逆向分析注入的安全性问题。
[0075]
实施例2:
[0076]
本发明的防止app被逆向编译的防护系统,包括越狱检测模块、完整性检测模块以
及注入模块,越狱检测模块用于对设备进行越狱检测,如果设备越狱,用于对app应用进行安全策略升级或者直接强制退出app;完整性检测模块用于在设备未越狱时,对app应用进行完整性检测,如果app应用存在异常,用于对app应用进行安全策略升级或者直接强制退出app;注入模块用于在app应用无异常时,判断app应用是否被恶意注入,如果app应用被恶意注入,用于对app应用进行安全策略升级或者直接强制退出app;如果app应用没有被恶意注入,用于正常启动app应用。
[0077]
设备越狱检测模块用于对设备进行越狱检测,包括如下步骤:基于越狱设备安装cydia、sileo及其附属文件,检测越狱商店机器附属文件;鉴于已经越狱的设备,能够读取到系统应用的列表,进而读取系统应用列表;
[0078]
完整性检测模块用于对app应用进行完整性检测,包括如下步骤:在加载命令中增加一个lc_load_dylib或者lc_load_weak_dylib的方式来指向动态库路径,从而实现注入功能,以检测加载命令中是否存在异常;进行代码段检测,检测__text,text是否被修改;
[0079]
注入模块用于对判断app应用是否被恶意注入,包括如下步骤:当dyld检测到mach-o中存在“__restrict,restrict”时,dyld_insert_libraries会被忽略,导致注入失败,通过在“other linker flags”中添加
“‑
wl,-sectcreate,__restrict,restrict,/dev/null”实现反注入;鉴于注入环境原理为通过dyld_insert_libraries注入dylib,通过检测此环境变量来检测是否被注入。
[0080]
该防护系统为基于xcode开发工具编写的项目实现,可执行实施例1公开的方法。
[0081]
实施例3:
[0082]
本发明的装置,包括:至少一个存储器和至少一个处理器;至少一个存储器,用于存储机器可读程序;至少一个处理器,用于调用所述机器可读程序,执行实施例1公开的方法。
[0083]
实施例4:
[0084]
本发明的计算机介质,为计算机可读介质,计算机可读介质上存储有计算机指令,计算机指令在被处理器执行时,使处理器执行实施例1公开的方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
[0085]
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
[0086]
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
[0087]
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
[0088]
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而
实现上述实施例中任一实施例的功能。
[0089]
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
[0090]
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,fpga或asic)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
[0091]
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献