CN113703780A - 反编译检测、网页资源数据发送方法、装置、设备及介质 - Google Patents

反编译检测、网页资源数据发送方法、装置、设备及介质 Download PDF

Info

Publication number
CN113703780A
CN113703780A CN202010442041.1A CN202010442041A CN113703780A CN 113703780 A CN113703780 A CN 113703780A CN 202010442041 A CN202010442041 A CN 202010442041A CN 113703780 A CN113703780 A CN 113703780A
Authority
CN
China
Prior art keywords
standard
resource data
error
data
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010442041.1A
Other languages
English (en)
Other versions
CN113703780B (zh
Inventor
谢锦龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202010442041.1A priority Critical patent/CN113703780B/zh
Publication of CN113703780A publication Critical patent/CN113703780A/zh
Application granted granted Critical
Publication of CN113703780B publication Critical patent/CN113703780B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种反编译检测、网页资源数据发送方法、装置、设备及介质。所述方法包括:根据与待检测网页资源数据匹配的网页加载请求,执行所述待检测网页资源数据中包括的可执行代码;在所述可执行代码的执行过程中,获取标准错误代码对应的错误检测数据,所述标准错误代码配置于标准网页资源数据中;如果确定错误检测数据与配置数据不匹配,则确定所述待检测网页资源数据为反编译网页资源数据,所述配置数据与所述标准错误代码对应。本发明实施例可以提高反编译检测的实时性,提高反编译检测效率。

Description

反编译检测、网页资源数据发送方法、装置、设备及介质
技术领域
本发明实施例涉及网络领域,尤其涉及一种反编译检测、网页资源数据发送方法、装置、设备及介质。
背景技术
反编译是通过对他人软件的可执行程序进行逆向分析和研究,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程和运行方法等设计要素,作为自己开发软件时的参考,或者直接用于自己的软件产品中。
目前存在非法人员通过逆向手段破解网页文件中的代码,然后通过修改或者复用应用代码为自己谋取私利,严重破坏了网站的利益,侵害了用户的个人隐私。现有的检测方法是通过获取反编译后的程序代码,并进行反编译检测。
但上述反编译检测方式中,难以收集编译后的网页代码,同时在确定该程序代码被反编译之后,难以及时对用户进行打击。
发明内容
本发明实施例提供一种反编译检测、网页资源数据发送方法、装置、设备及介质,可以提高反编译检测的实时性,提高反编译检测效率。
第一方面,本发明实施例提供了一种反编译检测方法,包括:
根据与待检测网页资源数据匹配的网页加载请求,执行所述待检测网页资源数据中包括的可执行代码;
在所述可执行代码的执行过程中,获取标准错误代码对应的错误检测数据,所述标准错误代码配置于标准网页资源数据中;
如果确定错误检测数据与配置数据不匹配,则确定所述待检测网页资源数据为反编译网页资源数据,所述配置数据与所述标准错误代码对应。
第二方面,本发明实施例还提供了一种网页资源数据发送方法,包括:
获取标准网页资源数据,其中,所述标准网页资源数据包括标准错误代码;
将所述标准网页资源数据发送至网页请求方。
第三方面,本发明实施例还提供了一种反编译检测装置,包括:
可执行代码加载模块,用于根据与待检测网页资源数据匹配的网页加载请求,执行所述待检测网页资源数据中包括的可执行代码;
错误检测数据获取模块,用于在所述可执行代码的执行过程中,获取标准错误代码对应的错误检测数据,所述标准错误代码配置于标准网页资源数据中;
反编译检测模块,用于如果确定错误检测数据与配置数据不匹配,则确定所述待检测网页资源数据为反编译网页资源数据,所述配置数据与所述标准错误代码对应。
第四方面,本发明实施例还提供了一种网页资源数据发送装置,包括:
标准网页资源数据获取模块,用于获取标准网页资源数据,其中,所述标准网页资源数据包括标准错误代码;
标准网页资源数据发送模块,用于将所述标准网页资源数据发送至网页请求方。
第五方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序所述处理器执行所述程序时实现如本发明实施例中任一所述的反编译检测方法或实现如本发明实施例中任一所述的网页资源数据发送方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的反编译检测方法或实现如本发明实施例中任一所述的网页资源数据发送方法。
本发明实施例通过执行待检测网页资源数据中包括的可执行代码,并获取标准错误代码对应的错误检测数据,比较错误检测数据与配置数据,在错误检测数据与配置数据不匹配时,确定待检测网页资源数据为反编译网页资源数据,解决了现有技术中难以收集反编译后的网页代码以及反编译网页代码检测不及时的问题,实现在网页资源数据加载过程中进行反编译检测,可以避免收集反编译后的网页代码,降低反编译检测的难度,同时提高反编译检测的实时性,提高反编译检测效率。
附图说明
图1是本发明实施例一中的一种反编译检测方法的流程图;
图2是本发明实施例二中的一种反编译检测方法的流程图;
图3是本发明实施例三中的一种网页资源数据发送方法的流程图;
图4是本发明实施例四中的一种反编译检测装置的结构示意图;
图5是本发明实施例五中的一种网页资源数据发送装置的结构示意图;
图6是本发明实施例六中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一中的一种反编译检测方法的流程图的示意图,本实施例可适用于将网页资源数据加载在内存运行,对网页资源数据进行自检测是否被反编译的情况,该方法可以由本发明实施例提供的反编译检测装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成计算机设备中,具体由计算机设备中浏览器执行。如图1所示,本实施例的方法具体包括:
S110,根据与待检测网页资源数据匹配的网页加载请求,执行所述待检测网页资源数据中包括的可执行代码。
待检测网页资源数据用于渲染网页。待检测网页资源数据包括可执行代码,可执行代码用于加载到内存中执行,以实现用户交互操作。
通常,待检测网页资源数据通过浏览器端向服务器请求获取。待检测网页资源数据包括超文本标记语言(Hyper Text Markup Language,HTML)文件。其中,HTML文件是网页内容的载体,通常是由标签组成。此外,待检测网页资源数据还包括层叠样式表(CascadingStyle Sheets,CSS)和可执行代码(如JavaScript)。其中,CSS可以包括独立的文件和/或嵌入在HTML文件中的代码,可执行代码可以包括独立的文件和/或嵌入在HTML文件中的代码。CSS用于描述网页元素的样式和布局,例如标题元素的字体、颜色、尺寸和标题背景图像等。可执行代码用于可执行,以实现用户与网页的动态交互操作,例如,鼠标点击配置项图标,配置项图标弹出下拉菜单等。
其中,浏览器渲染网页过程可以包括:对HTML文件进行解析,生成文档对象模型树(Document Object Model Tree,DOM Tree);对CSS进行解析,生成CSS对象模型树(CSSObject Model Tree,CSSOM Tree);对DOM Tree和CSSOM Tree进行合成,形成渲染树;计算渲染树中各节点的布局信息;根据渲染树中各节点的布局信息,对渲染树中各节点进行绘制,生成至少一个图层,各图层用于按照设定顺序合成,生成图像,在浏览器窗口中进行显示,形成一个完整的网页效果。可执行代码还用于对DOM Tree和CSSOM Tree进行操作,以及对网页中生成的事件进行响应。
可执行代码为可执行的脚本语言代码,可以存储于独立的脚本语言文件中,也可以嵌入在HTML文件中。在本发明实施例中,可执行代码存储于独立的脚本语言文件中。通过将可执行代码存储在独立文件,可以在需要修改可执行代码时,省略在超文本标记语言文件中查询该代码的位置的操作,提高可执行代码的修改效率。
网页加载请求用于将待检测网页资源数据加载到内存中,具体的,将可执行代码加载到内存中执行。网页加载请求可以包括:在浏览器渲染网页过程中,用于指示浏览器运行可执行代码的请求;或者,在对待检测网页资源数据进行调试的过程中,用于指示代码调试程序调试可执行代码的请求,其中,代码调试程序可以是区别于浏览器的独立应用程序,也可以是浏览器中的功能程序。
S120,在所述可执行代码的执行过程中,获取标准错误代码对应的错误检测数据,所述标准错误代码配置于标准网页资源数据中。
标准网页资源数据用于服务器下发至浏览器,以指示浏览器渲染网页。标准网页资源数据中包括标准错误代码。标准错误代码用于生成错误事件,并被检测,形成错误检测数据。错误检测数据用于进行反编译检测,错误检测数据可以是标准错误代码引起的错误事件的检测结果,具体可以包括错误位置以及错误原因等。
实际上,标准错误代码对应的错误检测数据可以是标准网页资源数据区别于反编译形成的网页资源数据的标识信息。预先配置标准错误代码的插入位置和代码内容,相应的,引起的错误检测数据包括的错误位置与预先配置的插入位置相同,且包括的错误原因与预先配置的代码内容对应。由此,可以判断错误检测数据是否与预先配置的插入位置和代码内容对应,来判断网页资源数据是否为反编译网页资源数据。
示例性的,标准错误代码为死循环错误代码。其中,标准错误代码写入到可执行代码中,在该可执行代码运行过程中,运行标准错误代码发生错误,该错误不会影响可执行代码中其他正常代码的运行,可执行代码继续进行运行,完成网页渲染。实际上,标准错误代码为不影响可执行代码运行的可执行代码。
S130,如果确定错误检测数据与配置数据不匹配,则确定所述待检测网页资源数据为反编译网页资源数据,所述配置数据与所述标准错误代码对应。
配置数据用于判断待检测网页资源数据是否为反编译网页资源数据。配置数据可以包括标准错误代码引起的目标错误检测结果,和/或标准错误代码的配置信息。标准错误代码的配置信息可以包括标准错误代码的插入位置和代码内容;目标错误检测结果与配置信息对应,目标错误检测结果可以包括错误原因和错误位置等,其中,插入位置和错误位置相同,代码内容与错误原因对应。
实际上,在网页资源数据未进行反编译时,浏览器获取的是标准网页资源数据,标准网页资源数据中的标准错误代码在运行过程中会出现错误,该错误检测数据中的错误原因和错误位置是预先设定的,且与标准错误代码的配置数据对应。而反编译的网页资源数据中的标准错误代码的位置或者代码内容修改,形成错误代码,同样在运行过程中会出现错误,但此时获取的错误检测数据与标准错误代码不对应。从而,可以在确定错误检测数据与配置数据匹配时,确定待检测网页资源数据为标准网页资源数据,以及在确定错误检测数据与配置数据不匹配时,确定待检测网页资源数据为反编译网页资源数据。
此外,如果确定错误检测数据与配置数据匹配,则确定所述待检测网页资源数据为所述标准网页资源数据,所述配置数据与所述标准错误代码对应。
可选的,在执行所述待检测网页资源数据中包括的可执行代码之前,还包括:当检测到请求用户的访问操作时,根据所述访问操作,接收所述标准网页资源数据;获取待检测网页资源数据,所述待检测网页资源数据包括反编译网页资源数据或标准网页资源数据,所述反编译网页资源数据通过对所述标准网页资源数据进行反编译修改生成。
请求用户用于输入访问操作,以获取目标网页的标准网页资源数据。访问操作用于获取目标网页的标准网页资源数据,并在浏览器中显示目标网页。访问操作可以是请求用户输入的操作,可以通过多种方式输入,例如,文本输入方式,具体是请求用户在浏览器中的地址栏中输入网址,或者请求用户在浏览器中的搜索栏中输入关键词;又如,语音输入方式,具体是采集请求用户发出的语音,并识别为文本信息,作为网址或者关键词;又如,图像输入方式,具体是拍摄二维码,并识别为文本信息,作为网址或者关键词;又如,超链接触发方法,具体是,对指向目标网页的超链接进行点击触发等。
访问操作包括标准网页资源数据的网页资源地址,该网页资源地址可以是标准网页资源数据在网络中的位置。网页资源地址包括统一资源定位符(Uniform ResourceLocator,URL)。其中,根据访问操作中的网页资源地址,获取标准网页资源数据的过程可以是:根据网页资源地址生成资源获取请求;获取网页资源地址包括的域名;通过本地查询或者向域名服务器请求,获取域名匹配的网际协议(Internet Protocol,IP)地址;向IP地址指向的服务器发送资源获取请求,并接收服务器返回的标准网页资源数据。其中,服务器中存储有标准网页资源数据。
反编译网页资源数据可以是对标准网页资源数据进行反编译修改生成的网页资源数据。待检测网页资源数据为反编译网页资源数据或者标准网页资源数据。
通常,浏览器会直接加载标准网页资源数据,渲染网页并显示。而非法用户会对标准网页资源数据进行反编译,形成反编译网页资源数据,以获取标准网页资源数据中的代码内容,牟取利益。通常,非法用户不会对标准网页资源数据进行修改,而是对标准网页资源数据进行调试,在对标准网页资源数据的调试过程中,标准网页资源数据的代码位置会发生改变。
具体的,非法用户使用代码调试程序,对标准网页资源数据进行划分,一步执行至少一行代码,如果一行代码量过多,则可以对该行代码进行分行处理。从而,非法用户可以快速获取标准网页资源数据每行代码以及每行代码所实现的功能。在标准网页资源数据的代码调试过程中,标准网页资源数据的代码位置,如代码行位置,发生改变,形成反编译网页资源数据。相应的,标准网页资源数据中的标准错误代码的位置发生改变,形成反编译网页资源数据中的错误代码的位置,由此,可以根据错误检测数据中的错误位置,判断待检测网页资源数据是否为反编译网页资源数据。
通过根据访问操作,接收标准网页资源数据,并获取待检测网页资源数据,可以在浏览器的运行过程中,实时检测反编译网页资源数据,提高反编译检测的速度,保证反编译检测的实时性。
可选的,在确定所述待检测网页资源数据为反编译网页资源数据之后,还包括:生成反编译结果,并发送至服务器,以指示所述服务器根据所述反编译结果配置服务限制权限,所述服务限制权限用于所述服务器为请求用户提供部分服务。
反编译结果用于将请求用户关联的反编译结果上报给服务器。反编译结果可以包括反编译网页资源数据和请求用户的标识信息等。请求用户的标识信息可以包括:用户身份的标识信息和/或请求用户持有设备的标识信息等。服务限制权限用于服务器减少为请求用户提供的服务功能。
服务器可以为请求用户配置服务权项,服务权限可以包括:服务完全限制权限、服务限制权限和服务不限制权限。其中,服务器不为服务完全限制权限对应的用户提供服务;服务器为服务限制部分权限对应的用户提供部分服务;服务器为服务不限制权限对应的用户提供完整服务。此外,还有根据需要进行设定,对此,本发明实施例不作具体限制。
服务器根据服务限制权限,后续对该请求用户提供服务时,提供部分服务,例如,下发的网页资源数据中不包括核心业务资源数据。
通过将反编译结果上报给服务器,以使服务器对执行反编译操作的请求用户进行限制服务,可以有效打击黑产用户,降低网页资源数据的泄露风险,并提高网页资源数据的安全性。
本发明实施例通过执行待检测网页资源数据中包括的可执行代码,并获取标准错误代码对应的错误检测数据,比较错误检测数据与配置数据,在错误检测数据与配置数据不匹配时,确定待检测网页资源数据为反编译网页资源数据,解决了现有技术中难以收集反编译后的网页代码以及反编译网页代码检测不及时的问题,实现在网页资源数据加载过程中进行反编译检测,可以避免收集反编译后的网页代码,降低反编译检测的难度,同时提高反编译检测的实时性,提高反编译检测效率。
实施例二
图2为本发明实施例二中的一种反编译检测方法的流程图,本实施例以上述实施例为基础进行具体化。本实施例的方法具体包括:
S210,根据与待检测网页资源数据匹配的网页加载请求,执行所述待检测网页资源数据中包括的可执行代码。
本实施方式中未详细描述的内容,可以参考上述任意实施方式中的描述。
S220,在所述可执行代码的执行过程中,在检测到与标准错误代码对应的错误事件时,获取与所述错误事件匹配的错误检测数据,所述错误事件通过预设的错误检测模块检测,所述标准错误代码配置于标准网页资源数据中。
错误检测模块用于检测标准错误代码对应的错误事件。错误检测模型可以是计算机设备中预先配置的程序,具体可以是浏览器中的功能程序。与标准错误代码对应的错误事件用于被浏览器发现并捕获,形成错误检测数据存储。
具体的,在执行标准错误代码时,产生错误事件,浏览器获取该错误事件,并获取与该错误事件关联的数据,形成错误检测数据并存储,例如存储在异常堆栈日志中。错误检测模块可以根据标准错误代码对应的错误原因,查询与错误原因匹配的错误检测数据,例如在异常堆栈日志中查询。
实际上,错误检测模块专用于获取标准错误代码对应的错误检测数据。由此,可以实现快速区分与标准错误代码对应的错误检测数据,和与其他正常代码对应的错误检测数据,从而准确且快速获取标准错误代码对应的错误检测数据。
可选的,所述获取与所述错误事件匹配的错误检测数据,包括:获取与所述错误事件匹配的异常堆栈数据;将所述异常堆栈数据进行格式转换,获取字符串异常数据;在所述字符串异常数据中查询错误定位结果,作为错误检测数据。
实际上,程序在出现异常情况时,例如,发生崩溃,程序可以获取异常堆栈数据,并记录,以便用户根据异常堆栈数据进行异常定位并解决。异常堆栈数据用于记录错误事件关联的数据,以定位错误代码问题,并解决该错误代码问题。异常堆栈数据可以是错误事件关联的数据,异常堆栈数据可以包括:错误事件的发生时间、错误位置和错误原因等数据。
通常,异常堆栈数据的数据结构难以解析,可以对异常堆栈数据进行格式转换,形成字符串形式的数据格式,方便数据查询和解析。字符串异常数据用于数据查询。字符串异常数据可以是字符串形式的异常堆栈数据。可以采用正则匹配方式在字符串异常数据中查询错误定位结果,具体可以根据错误定位结果的字符标识信息,在字符串异常数据中进行正则匹配查询,具体是查询错误代码的行数,例如,第一行和/或第二行等。错误定位结果可以是错误事件的错误位置,具体是,错误事件关联的错误代码的位置信息。
通过获取异常堆栈数据,可以快速且准确获取错误事件的关联数据,以及将异常堆栈数据转换为字符串形式,方便进行数据查询,快速获取异常堆栈数据中的有效信息,提高错误检测数据的获取效率。
S230,如果确定错误检测数据与配置数据不匹配,则确定所述待检测网页资源数据为反编译网页资源数据,所述配置数据与所述标准错误代码对应。
可选的,所述确定错误检测数据与配置数据不匹配,包括:如果确定错误定位结果与预设错误位置不同,则确定错误检测数据与配置数据不匹配,其中,所述错误检测数据包括所述错误定位结果,所述预设错误位置为所述标准错误代码在所述标准网页资源数据中的位置。
配置数据包括预设错误位置。预设错误位置用于与错误定位结果比较,以进行反编译检测。标准错误代码在标准网页资源数据中的位置为预设错误位置。由前述可知,如果待检测网页资源数据未经过反编译,则错误定位结果与预设错误位置相同;如果待检测网页资源数据经过反编译,则标准错误代码的位置会发生改变,形成的错误代码对应的位置作为错误定位结果,此时,错误定位结果与预设错误位置不同。由此,可以仅通过错误定位结果即可进行反编译检测,提高反编译检测的速度,而且,仅需要获取错误定位结果,不需要获取其他错误检测数据,减少反编译检测的处理数据量。
其中,如果标准错误代码嵌入在HTML文件中,则预设错误位置为标准错误代码在HTML文件中的行数;如果标准错误代码存储在独立于HTML文件的脚本语言文件中,则预设错误位置为标准错误代码在该脚本语言文件中的行数。
通过配置错误检测数据为错误定位结果,并与预设错误位置进行比较,将比较结果作为错误检测数据与配置数据的比较结果,可以快速判断错误检测数据和配置数据。
可选的,所述标准网页资源数据包括标准脚本语言文件,所述标准脚本语言文件包括目标代码,所述目标代码通过所述标准错误代码和标准业务代码混合形成,所述目标代码位于所述标准脚本语言文件的首行;所述确定错误定位结果与预设错误位置不同,包括:如果确定所述错误定位结果为非首行定位结果,则确定错误定位结果与预设错误位置不同。
标准脚本语言文件包括目标代码,目标代码包括标准业务代码和标准错误代码。其中,标准业务代码用于正常执行,并实现标准脚本语言文件的功能。而标准错误代码是额外添加到标准脚本语言文件中,仅用于判断当前网页资源数据是否为反编译网页资源数据。目标代码可以是标准错误代码和标准业务代码的混合代码。实际上,如果非法用户可以识别出标准错误代码,则该非法用户可以在反编译之前将标准错误代码删除,导致反编译网页资源数据无法进行反编译检测。通过将标准错误代码和标准业务代码进行混合,可以避免在反编译过程中被非法用户识别出来而删除,提高标准错误代码的安全性。而且,将目标代码压缩到第一行,增加非法用户识别标准错误代码的难度,提高标准错误代码的安全性,从而标准错误代码可以正常生成错误事件,并进行反编译检测,保证反编译结果的准确性。
标准错误代码位于标准脚本语言文件的首行,相应的,配置数据的预设错误位置为首行。如果错误定位结果是首行,则错误定位结果与预设错误位置相同;如果错误定位结果不是首行,则错误定位结果与预设错误位置不同。
通过将标准错误代码和标准业务代码混合,并压缩到第一行,可以增加非法用户识别标准错误代码的难度,提高标准错误代码的安全性,提高反编译结果的准确性,以及提高反编译结果的准确性。
本发明实施例通过配置错误检测模块,可以在检测与标准错误代码对应的错误事件时,获取与该错误事件匹配的错误检测数据,实现区分与标准错误代码对应的错误检测数据,和与其他正常代码对应的错误检测数据,可以准确且快速获取标准错误代码对应的错误检测数据,提高错误检测数据的检测效率,从而提高反编译检测的效率。
实施例三
图3为本发明实施例三中的一种网页资源数据发送方法的流程图的示意图,本实施例可适用于向网页请求方发送网页资源数据的情况,该方法可以由本发明实施例提供的网页资源数据发送装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成计算机设备中,具体可以是服务器中。如图3所示,本实施例的方法具体包括:
S310,获取标准网页资源数据,其中,所述标准网页资源数据包括标准错误代码。
本实施方式中未详细描述的内容,可以参考上述任意实施方式中的描述。
标准网页资源数据用于网页请求方中解析渲染形成网页,并显示。标准错误代码用于在网页请求方中加载执行,生成错误事件,并形成匹配的错误检测数据,以与配置数据进行比较,判断是否反编译,其中,配置数据与标准错误代码对应。通常,标准网页资源数据中标准错误代码关联的错误检测数据,与该标准错误代码对应的配置数据匹配。如果标准错误代码发生改变,则改变后的标准错误代码关联的错误检测数据与标准错误代码对应的配置数据不匹配,表明标准网页资源数据经过反编译操作。
服务器可以是静态服务器,仅用于存储、查询和删除网页资源数据,不对网页资源数据进行复杂操作。例如,静态服务器可以包括内容分发服务器和反向代理(Nginx)服务器。
此外,服务器还可以是网页资源数据对应的业务服务器,可以对网页资源数据进行业务操作。可选的,在获取所述标准网页资源数据之前,还包括:获取标准脚本语言文件包括的标准业务代码,所述标准网页资源数据包括所述标准脚本语言文件;获取所述标准错误代码;将所述标准业务代码和所述标准错误代码进行混合,生成目标代码;将所述目标代码压缩成一行,配置于所述标准脚本语言文件的首行。
可以通过Webpack模块打包程序的JavaScript-obfuscator插件,采用标准错误代码对标准业务代码进行混淆加密。
S320,将所述标准网页资源数据发送至网页请求方。
网页请求方可以是配置于计算机设备中的浏览器。
可选的,在将所述标准网页资源数据发送至网页请求方之后,还可以包括:接收所述网页请求方发送的反编译结果,根据所述反编译结果为所述网页请求方配置服务限制权限,所述服务限制权限用于所述服务器为请求用户提供部分服务。
本发明实施例通过在标准网页资源数据中添加标准错误代码,并在标准网页资源数据加载过程中执行,生成错误检测数据,与标准错误代码对应的配置数据进行比较,以进行反编译检测,可以降低反编译检测的难度,同时提高反编译检测的实时性,提高反编译检测效率。
实施例四
图4为本发明实施例四中的一种反编译检测装置的示意图。实施例四是实现本发明上述实施例提供的反编译检测方法的相应装置,该装置可采用软件和/或硬件的方式实现,并一般可集成计算机设备中。
相应的,本实施例的装置可以包括:
可执行代码加载模块410,用于根据与待检测网页资源数据匹配的网页加载请求,执行所述待检测网页资源数据中包括的可执行代码;
错误检测数据获取模块420,用于在所述可执行代码的执行过程中,获取标准错误代码对应的错误检测数据,所述标准错误代码配置于标准网页资源数据中;
反编译检测模块430,用于如果确定错误检测数据与配置数据不匹配,则确定所述待检测网页资源数据为反编译网页资源数据,所述配置数据与所述标准错误代码对应。
本发明实施例通过执行待检测网页资源数据中包括的可执行代码,并获取标准错误代码对应的错误检测数据,比较错误检测数据与配置数据,在错误检测数据与配置数据不匹配时,确定待检测网页资源数据为反编译网页资源数据,解决了现有技术中难以收集反编译后的网页代码以及反编译网页代码检测不及时的问题,实现在网页资源数据加载过程中进行反编译检测,可以避免收集反编译后的网页代码,降低反编译检测的难度,同时提高反编译检测的实时性,提高反编译检测效率。
进一步的,所述错误检测数据获取模块420,包括:错误检测模块检测单元,用于在检测到与标准错误代码对应的错误事件时,获取与所述错误事件匹配的错误检测数据,所述错误事件通过预设的错误检测模块检测。
进一步的,所述错误检测模块检测单元,包括:异常堆栈数据查询子单元,用于获取与所述错误事件匹配的异常堆栈数据;将所述异常堆栈数据进行格式转换,获取字符串异常数据;在所述字符串异常数据中查询错误定位结果,作为错误检测数据。
进一步的,所述反编译检测模块430,包括:错误定位结果检测单元,用于如果确定错误定位结果与预设错误位置不同,则确定错误检测数据与配置数据不匹配,其中,所述错误检测数据包括所述错误定位结果,所述预设错误位置为所述标准错误代码在所述标准网页资源数据中的位置。
进一步的,所述标准网页资源数据包括标准脚本语言文件,所述标准脚本语言文件包括目标代码,所述目标代码通过所述标准错误代码和标准业务代码混合形成,所述目标代码位于所述标准脚本语言文件的首行;所述错误定位结果检测单元,包括:首行定位检测子单元,用于如果确定所述错误定位结果为非首行定位结果,则确定错误定位结果与预设错误位置不同。
进一步的,所述反编译检测装置,还包括:网页访问模块,用于在执行所述待检测网页资源数据中包括的可执行代码之前,当检测到请求用户的访问操作时,根据所述访问操作,接收所述标准网页资源数据;获取待检测网页资源数据,所述待检测网页资源数据包括反编译网页资源数据或标准网页资源数据,所述反编译网页资源数据通过对所述标准网页资源数据进行反编译修改生成。
进一步的,所述反编译检测装置,还包括:反编译结果上报模块,用于在确定所述待检测网页资源数据为反编译网页资源数据之后,生成反编译结果,并发送至服务器,以指示所述服务器根据所述反编译结果配置服务限制权限,所述服务限制权限用于所述服务器为请求用户提供部分服务。
上述装置可执行本发明实施例所提供的反编译检测方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五中的一种网页资源数据发送装置的示意图。实施例五是实现本发明上述实施例提供的网页资源数据发送方法的相应装置,该装置可采用软件和/或硬件的方式实现,并一般可集成计算机设备中。
相应的,本实施例的装置可以包括:
标准网页资源数据获取模块510,用于获取标准网页资源数据,其中,所述标准网页资源数据包括标准错误代码;
标准网页资源数据发送模块520,用于将所述标准网页资源数据发送至网页请求方。
本发明实施例通过在标准网页资源数据中添加标准错误代码,并在标准网页资源数据加载过程中执行,生成错误检测数据,与标准错误代码对应的配置数据进行比较,以进行反编译检测,可以降低反编译检测的难度,同时提高反编译检测的实时性,提高反编译检测效率。
进一步的,所述网页资源数据发送装置,还包括:错误代码混合压缩模块,用于在获取所述标准网页资源数据之前,获取标准脚本语言文件包括的标准业务代码,所述标准网页资源数据包括所述标准脚本语言文件;获取所述标准错误代码;将所述标准业务代码和所述标准错误代码进行混合,生成目标代码;将所述目标代码压缩成一行,并配置于所述标准脚本语言文件的首行。
上述装置可执行本发明实施例所提供的网页资源数据发送方法,具备执行方法相应的功能模块和有益效果。
实施例六
图6为本发明实施例六提供的一种计算机设备的结构示意图。图6示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图6显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。计算机设备12可以是挂接在总线上的设备。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(PerIPheral Component Interconnect,PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM),数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(Input/Output,I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local AreaNetwork,LAN),广域网(Wide Area Network,WAN)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图6中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列(Redundant Arrays of Inexpensive Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明任意实施例所提供的反编译检测方法或网页资源数据发送方法。
实施例七
本发明实施例七提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的方法:
也即,该程序被处理器执行时实现:根据与待检测网页资源数据匹配的网页加载请求,执行所述待检测网页资源数据中包括的可执行代码;在所述可执行代码的执行过程中,获取标准错误代码对应的错误检测数据,所述标准错误代码配置于标准网页资源数据中;如果确定错误检测数据与配置数据不匹配,则确定所述待检测网页资源数据为反编译网页资源数据,所述配置数据与所述标准错误代码对应。
或者,该程序被处理器执行时实现:获取标准网页资源数据,其中,所述标准网页资源数据包括标准错误代码;将所述标准网页资源数据发送至网页请求方。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、RAM、只读存储器(Read OnlyMemory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、无线电频率(RadioFrequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括LAN或WAN——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (13)

1.一种反编译检测方法,其特征在于,包括:
根据与待检测网页资源数据匹配的网页加载请求,执行所述待检测网页资源数据中包括的可执行代码;
在所述可执行代码的执行过程中,获取标准错误代码对应的错误检测数据,所述标准错误代码配置于标准网页资源数据中;
如果确定错误检测数据与配置数据不匹配,则确定所述待检测网页资源数据为反编译网页资源数据,所述配置数据与所述标准错误代码对应。
2.根据权利要求1所述的方法,其特征在于,所述获取标准错误代码对应的错误检测数据,包括:
在检测到与标准错误代码对应的错误事件时,获取与所述错误事件匹配的错误检测数据,所述错误事件通过预设的错误检测模块检测。
3.根据权利要求2所述的方法,其特征在于,所述获取与所述错误事件匹配的错误检测数据,包括:
获取与所述错误事件匹配的异常堆栈数据;
将所述异常堆栈数据进行格式转换,获取字符串异常数据;
在所述字符串异常数据中查询错误定位结果,作为错误检测数据。
4.根据权利要求1所述的方法,其特征在于,所述确定错误检测数据与配置数据不匹配,包括:
如果确定错误定位结果与预设错误位置不同,则确定错误检测数据与配置数据不匹配,其中,所述错误检测数据包括所述错误定位结果,所述预设错误位置为所述标准错误代码在所述标准网页资源数据中的位置。
5.根据权利要求4所述的方法,其特征在于,所述标准网页资源数据包括标准脚本语言文件,所述标准脚本语言文件包括目标代码,所述目标代码通过所述标准错误代码和标准业务代码混合形成,所述目标代码位于所述标准脚本语言文件的首行;
所述确定错误定位结果与预设错误位置不同,包括:
如果确定所述错误定位结果为非首行定位结果,则确定错误定位结果与预设错误位置不同。
6.根据权利要求1所述的方法,其特征在于,在执行所述待检测网页资源数据中包括的可执行代码之前,还包括:
当检测到请求用户的访问操作时,根据所述访问操作,接收所述标准网页资源数据;
获取待检测网页资源数据,所述待检测网页资源数据包括反编译网页资源数据或标准网页资源数据,所述反编译网页资源数据通过对所述标准网页资源数据进行反编译修改生成。
7.根据权利要求1-6任一项所述的方法,其特征在于,在确定所述待检测网页资源数据为反编译网页资源数据之后,还包括:
生成反编译结果,并发送至服务器,以指示所述服务器根据所述反编译结果配置服务限制权限,所述服务限制权限用于所述服务器为请求用户提供部分服务。
8.一种网页资源数据发送方法,其特征在于,包括:
获取标准网页资源数据,其中,所述标准网页资源数据包括标准错误代码;
将所述标准网页资源数据发送至网页请求方。
9.根据权利要求8所述的方法,其特征在于,在获取所述标准网页资源数据之前,还包括:
获取标准脚本语言文件包括的标准业务代码,所述标准网页资源数据包括所述标准脚本语言文件;
获取所述标准错误代码;
将所述标准业务代码和所述标准错误代码进行混合,生成目标代码;
将所述目标代码压缩成一行,并配置于所述标准脚本语言文件的首行。
10.一种反编译检测装置,其特征在于,包括:
可执行代码加载模块,用于根据与待检测网页资源数据匹配的网页加载请求,执行所述待检测网页资源数据中包括的可执行代码;
错误检测数据获取模块,用于在所述可执行代码的执行过程中,获取标准错误代码对应的错误检测数据,所述标准错误代码配置于标准网页资源数据中;
反编译检测模块,用于如果确定错误检测数据与配置数据不匹配,则确定所述待检测网页资源数据为反编译网页资源数据,所述配置数据与所述标准错误代码对应。
11.一种网页资源数据发送装置,其特征在于,包括:
标准网页资源数据获取模块,用于获取标准网页资源数据,其中,所述标准网页资源数据包括标准错误代码;
标准网页资源数据发送模块,用于将所述标准网页资源数据发送至网页请求方。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一所述的反编译检测方法,或如权利要求8-9中任一所述的网页资源数据发送方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的反编译检测方法,或如权利要求8-9中任一所述的网页资源数据发送方法。
CN202010442041.1A 2020-05-22 2020-05-22 反编译检测、网页资源数据发送方法、装置、设备及介质 Active CN113703780B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010442041.1A CN113703780B (zh) 2020-05-22 2020-05-22 反编译检测、网页资源数据发送方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010442041.1A CN113703780B (zh) 2020-05-22 2020-05-22 反编译检测、网页资源数据发送方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN113703780A true CN113703780A (zh) 2021-11-26
CN113703780B CN113703780B (zh) 2024-04-19

Family

ID=78646386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010442041.1A Active CN113703780B (zh) 2020-05-22 2020-05-22 反编译检测、网页资源数据发送方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN113703780B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663296A (zh) * 2012-03-31 2012-09-12 杭州安恒信息技术有限公司 面向网页JavaScript恶意代码的智能检测方法
US20130036468A1 (en) * 2011-08-01 2013-02-07 Visicom Media Inc. Anti-phishing domain advisor and method thereof
CN107832329A (zh) * 2017-09-26 2018-03-23 中国平安人寿保险股份有限公司 页面资源获取方法及终端设备
CN109558734A (zh) * 2018-11-28 2019-04-02 北京梆梆安全科技有限公司 一种堆栈安全性的检测方法及装置、移动设备
CN110659204A (zh) * 2019-08-20 2020-01-07 腾讯科技(深圳)有限公司 一种代码检测方法、设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130036468A1 (en) * 2011-08-01 2013-02-07 Visicom Media Inc. Anti-phishing domain advisor and method thereof
CN102663296A (zh) * 2012-03-31 2012-09-12 杭州安恒信息技术有限公司 面向网页JavaScript恶意代码的智能检测方法
CN107832329A (zh) * 2017-09-26 2018-03-23 中国平安人寿保险股份有限公司 页面资源获取方法及终端设备
CN109558734A (zh) * 2018-11-28 2019-04-02 北京梆梆安全科技有限公司 一种堆栈安全性的检测方法及装置、移动设备
CN110659204A (zh) * 2019-08-20 2020-01-07 腾讯科技(深圳)有限公司 一种代码检测方法、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
S_SHUI: "13.Linux shell编程(条件语句和标准输出重定向)", pages 1 - 8, Retrieved from the Internet <URL:《https://blog.csdn.net/s_shui/article/details/6841207》> *

Also Published As

Publication number Publication date
CN113703780B (zh) 2024-04-19

Similar Documents

Publication Publication Date Title
US20190146616A1 (en) Systems And Methods For Remote Tracking And Replay Of User Interaction With A Webpage
CN107783899B (zh) 应用程序中h5页面的测试方法、装置和计算机设备
US9037965B2 (en) Browser and operating system compatibility
CN110321154B (zh) 一种微服务的接口信息展示方法、装置及电子设备
US9754028B2 (en) Automatic crawling of encoded dynamic URLs
US9684718B2 (en) System for searching for a web document
JP4745819B2 (ja) 脆弱性判定システム及び検査装置
CN112035354A (zh) 风险代码的定位方法、装置、设备及存储介质
CN113051514A (zh) 元素的定位方法、装置、电子设备及存储介质
CN114157568B (zh) 一种浏览器安全访问方法、装置、设备及存储介质
CN109902726B (zh) 简历信息处理方法及装置
CN114398673A (zh) 应用程序的合规检测方法、装置、存储介质与电子设备
US9348977B1 (en) Detecting malware in content items
CN112905936A (zh) 页面录制动画生成、页面操作日志查询方法和计算机设备
CN111708680A (zh) 报错信息解析方法、装置、电子设备及存储介质
CN113703780B (zh) 反编译检测、网页资源数据发送方法、装置、设备及介质
CN116361793A (zh) 代码检测方法、装置、电子设备及存储介质
CN112748930B (zh) 编译检测方法、装置、设备及存储介质
CN112162954B (zh) 用户操作日志生成、路径的定位方法、装置、设备及介质
CN110096281B (zh) 代码解析方法、解析服务器、存储介质及装置
CN114205156A (zh) 面向切面技术的报文检测方法、装置、电子设备及介质
CN111414525A (zh) 小程序的数据获取方法、装置、计算机设备和存储介质
CN108108369B (zh) 公用接口库调用错误处理方法和装置
CN112003833A (zh) 异常行为检测方法和装置
CN113760696A (zh) 一种程序问题定位方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant