定位代码漏洞的方法及装置与流程

文档序号:12908356阅读:612来源:国知局
定位代码漏洞的方法及装置与流程

本发明涉及电子技术领域,特别涉及一种定位代码漏洞的方法及装置。



背景技术:

随着科学技术的发展,手机等电子设备已经得到很大的普及,且已成为人们工作和生活中不可缺少的一部分。同时,为满足消费者的需要,这些电子数码产品一般都具备播放视频、听歌曲等各种视听娱乐功能,并且用户还可以使用电子设备投递简历、存储数据等。

现在android(安卓)智能手机越来越多,开发android智能手机的公司也越来越多,在开发智能手机android时研发人员需要修改许多bug(代码漏洞)和修改字符串内容(有的手机需要多个国家出售,这样就需要支持多个国家的语言,但是好多字符串的翻译只有中文和英文,或者有的字符串的翻译内容不正确,需要修改)。目前,研发人员大多数是通过界面上的文字来寻找bug。具体而言,根据界面上显示的文字,在代码中选择翻译与显示的文字相同的字符串。

但是发明人在实现本发明的过程中,发现现有技术中还存在以下技术问题:一:如果根据界面上显示的文字选择的字符串为多个(因为多个字符串在同一个语言翻译可能是相同的),则研发人员还需要通过对代码进行分析,来判断具体是哪个字符串,过程较为复杂。二:由于界面上显示的文字有可能是其他国家的语言,在这种情况下,如果选择的字符串为多个,就会增加查找字符串的难度,极大的浪费时间。



技术实现要素:

本发明实施例的目的在于提供一种定位代码漏洞的方法及装置,使得可以快速的从文本文件中直接获取用于定位代码漏洞的字符串,以便根据字符串修改代码漏洞,并且,可以省去根据界面上显示的文字选择字符串的时间,可以提高研发效率。

为解决上述技术问题,本发明实施例提供了一种定位代码漏洞的方法,包括:在代码测试过程中,在新建用户窗口时,读取并记录用户窗口使用的所有字符串;其中,字符串用于定位代码漏洞;在接收到截图指令时,将记录的字符串输出到文本文件中;将文本文件和截图所得的图片一起存储到文件夹中。

本发明实施例还提供了一种定位代码漏洞的装置,包括:新建模块,用于新建用户窗口;读取模块,用于在代码测试过程中,在新建用户窗口时,读取用户窗口使用的所有字符串;其中,字符串用于定位代码漏洞bug;记录模块,用于在代码测试过程中,在新建用户窗口时,记录用户窗口使用的所有字符串;接收模块,用于接收截图指令;输出模块,用于在接收到截图指令时,将记录的字符串输出到文本文件中;存储模块,用于将文本文件和截图所得的图片一起存储到文件夹中。

本发明实施例相对于现有技术而言,通过在代码测试过程中,在新建用户窗口时,读取并记录用户窗口使用的所有字符串;其中,字符串用于定位代码漏洞;在接收到截图指令时,将记录的字符串输出到文本文件中;将文本文件和截图所得的图片一起存储到文件夹中,使得可以快速的从文件夹的文本文件中直接获取用于定位代码漏洞的字符串,以便研发人员或者程序开发人员根据字符串修改代码漏洞,有助于后期对代码质量和技术的改进。并且,这种方式可以省去研发人员或者程序开发人员根据界面上显示的文字选择字符串的时间,可以提高研发效率。

另外,读取用户窗口使用的所有字符串时,具体读取资源中的所有字符串,从而提供了一种读取用户窗口使用的所有字符串的具体实现方式,有助于保证本发明的可行性,并且通过这种方式读取的字符串较为精确。

另外,读取用户窗口使用的所有字符串时,具体读取代码的读取字符串函数中的所有字符串,从而提供了又一种读取用户窗口使用的所有字符串的具体实现方式,有助于进一步保证本发明的可行性,并且通过这种方式读取的字符串较为精确。

另外,通过对读取字符串函数进行实时监听,来读取代码的读取字符串函数中的所有字符串,由于读取字符串函数是动态函数,因此通过实时监听的方式读取字符串,使得获取的字符串较为精确。

另外,新建用户窗口时,获取用户窗口的标识,并将标识保存在文本文件中;其中,标识包括应用包名、用户窗口名、起始端以及结束端;将记录的字符串输出到文本文件中时,将字符串输出到起始端和结束端之间。从而,通过这种方式,可以根据起始端和结束端之间的字符串快速的定位代码漏洞。

另外,将记录的字符串输出到文本文件中,具体包括:将记录的字符串依次输出到文本文件中。

另外,判定字符串不存在于文本文件中时,再将记录的字符串输出到文本文件中,可以避免字符串重复。

另外,读取模块包括第一读取子模块;第一读取子模块,用于在读取用户窗口使用的所有字符串时,具体读取资源中的所有字符串。

另外,读取模块包括第二读取子模块;第二读取子模块,用于在读取用户窗口使用的所有字符串时,具体读取代码的读取字符串函数中的所有字符串。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是根据本发明第一实施方式中定位代码漏洞的方法的流程图;

图2是根据本发明第二实施方式中定位代码漏洞的方法的流程图;

图3是根据本发明第三实施方式中定位代码漏洞的装置的方框图;

图4是根据本发明第四实施方式中定位代码漏洞的装置的方框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种定位代码漏洞的方法。具体流程如图1所示,定位代码漏洞的方法包括:

步骤101,读取并记录用户窗口使用的所有字符串。其中,字符串用于定位代码漏洞bug。

值得一提的是,在代码测试过程中,在每一次新建或打开一个新的activity(activity指的是用户窗口)时,都会读取activity使用的所有字符串。

步骤102,判断是否接收到截图指令。如果是,则进入步骤103;否则,返回步骤102继续判断是否接收到截图指令。

值得一提的是,在代码测试的过程中,用户可以按电子设备的截图按键。在用户按下截图按键时,电子设备可以判定为接收到截图指令。以智能手机为例进行说明:比如同时按下音量下键和关机键。

步骤103,将记录的字符串输出到文本文件中。

在实际的应用中,将记录的字符串输出到txt(txt指的是文本文件)中的同时,还可以将和字符串对应的所有种类的语言输出到txt中。值得一提的是,语言种类的多少等于字符串实际支持的语言种类的多少,即电子设备支持语言种类的多少。

步骤104,将文本文件和截图所得的图片一起存储到文件夹中。

研发人员或者程序开发人员可以快速的从文件夹的txt中直接获取用于定位代码漏洞的字符串,并可以根据字符串修改代码漏洞,有助于后期对代码质量和技术的改进。并且,这种方式可以省去研发人员或者程序开发人员根据界面上显示的文字选择字符串的时间,可以提高研发效率。

通过上述内容,不难发现,本实施方式使得可以快速的从文本文件中直接获取用于定位代码漏洞的字符串,以便根据字符串修改代码漏洞,并且,可以省去根据界面上显示的文字选择字符串的时间,可以提高研发效率。

本发明的第二实施方式涉及一种定位代码漏洞的方法。第二实施方式是一种具体的实现方式。具体流程如图2所示,定位代码漏洞的方法包括:

步骤201,获取activity的标识,并将标识保存在txt文件中。其中,标识包括应用包名、activity名、起始端以及结束端。

在代码测试过程中,在每一次新建或打开一个新的activity时,都会获取activity的标识,并将标识保存在txt文件中。

步骤202,读取并记录activity使用的所有字符串。其中,字符串用于定位代码漏洞bug。

在代码测试过程中,在每一次新建或打开一个新的activity时,都会读取activity使用的所有字符串。值得一提的是,步骤202不限于在步骤201之后执行,也可以在步骤201之前执行。或者在实际的应用中,在每一次新建或打开一个新的activity时,也可以同时执行步骤201和步骤202,不能实施方式对此不做限制。

具体而言,在读取activity使用的所有字符串时,具体读取资源中的所有字符串。其中,资源指的是.xml文件。即在读取activity使用的所有字符串时,可以具体读取.xml文件中的所有字符串。从而提供了一种读取activity使用的所有字符串的具体实现方式,有助于保证本发明的可行性,并且通过这种方式读取的字符串较为精确。

或者,于实际的应用而言,在读取activity使用的所有字符串时,具体读取代码的读取字符串函数中的所有字符串。其中,读取字符串函数指的是在java(java是一门面向对象编程语言)中读取字符串函数,即getstring()函数。从而,通过这种方式提供了又一种读取activity使用的所有字符串的具体实现方式,有助于进一步保证本发明的可行性,并且读取的字符串较为精确。值得一提的是,由于getstring()函数是动态函数,为了使获取的字符串更为精确,可以通过对getstring()函数进行实时监听,来读取代码的getstring()中的所有字符串。并且为了使获取的字符串包括所有的activity使用的字符串,在实际的设计时,还可以同时读取.xml文件中的所有字符串以及getstring()中的所有字符串。并且,为了避免重复,在.xml文件中的字符串和getstring()中的字符串相同时,可以只保留.xml文件中的字符串或getstring()中的字符串。

步骤203,判断是否接收到截图指令。如果是,则进入步骤204;否则,返回步骤203继续判断是否接收到截图指令。

值得一提的是,在代码测试的过程中,用户可以按电子设备的截图按键。在用户按下截图按键时,电子设备可以判定为接收到截图指令。以智能手机为例进行说明:比如同时按下音量下键和关机键。

步骤204,判断字符串是否已经存在于txt中。如果字符串不存在于txt中,则进入步骤205;否则,结束。通过这种方式,可以避免字符串重复。

步骤205,将字符串输出到txt中activity标识的起始端和结束端之间。从而,可以根据起始端和结束端之间的字符串快速的定位代码漏洞。值得一提的是,在实际的应用中,可以但不限于将记录的字符串依次输出到txt中。

在实际的应用中,将记录的字符串输出到txt(txt指的是文本文件)中的同时,还可以将和字符串对应的所有种类的语言输出到txt中。值得一提的是,语言种类的多少等于字符串实际支持的语言种类的多少,即电子设备支持语言种类的多少。

步骤206,将txt和截图所得的图片一起存储到文件夹中。

研发人员或者程序开发人员可以快速的从文件夹的txt中直接获取用于定位代码漏洞的字符串,并可以根据字符串修改代码漏洞,有助于后期对代码质量和技术的改进。并且,这种方式可以省去研发人员或者程序开发人员根据界面上显示的文字选择字符串的时间,可以提高研发效率。

此外,需要说明的是,如果字符串是在打开activity后过一段时间才使用的话,这个字符串记录在当前activity(就是用户最前面的activity)中。当activity关闭后,可以把txt文件中的关于activity的所有数据删除掉。

通过上述内容,不难发现,本实施方式使得可以快速的从文本文件中直接获取用于定位代码漏洞的字符串,以便根据字符串修改代码漏洞,并且,可以省去根据界面上显示的文字选择字符串的时间,可以提高研发效率。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第三实施方式涉及一种定位代码漏洞的装置。如图3所示,定位代码漏洞的装置包括:新建模块31,用于新建用户窗口。读取模块32,用于在代码测试过程中,在新建用户窗口时,读取用户窗口使用的所有字符串;其中,字符串用于定位代码漏洞bug。记录模块33,用于在代码测试过程中,在新建用户窗口时,记录用户窗口使用的所有字符串。接收模块34,用于接收截图指令。输出模块35,用于在接收到截图指令时,将记录的字符串输出到文本文件中。存储模块36,用于将文本文件和截图所得的图片一起存储到文件夹中。

不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

通过上述内容,不难发现,本实施方式使得可以快速的从文本文件中直接获取用于定位代码漏洞的字符串,以便根据字符串修改代码漏洞,并且,可以省去根据界面上显示的文字选择字符串的时间,可以提高研发效率。

本发明第四实施方式涉及一种定位代码漏洞的装置。如图4所示,定位代码漏洞的装置包括:新建模块31,用于新建用户窗口。读取模块32,用于在代码测试过程中,在新建用户窗口时,读取用户窗口使用的所有字符串;其中,字符串用于定位代码漏洞bug。记录模块33,用于在代码测试过程中,在新建用户窗口时,记录用户窗口使用的所有字符串。接收模块34,用于接收截图指令。输出模块35,用于在接收到截图指令时,将记录的字符串输出到文本文件中。存储模块36,用于将文本文件和截图所得的图片一起存储到文件夹中。

另外,读取模块32包括第一读取子模块321;第一读取子模块321,用于在读取用户窗口使用的所有字符串时,具体读取资源中的所有字符串。或者,读取模块32包括第二读取子模块322;第二读取子模块322,用于在读取用户窗口使用的所有字符串时,具体读取代码的读取字符串函数中的所有字符串。

由于第二实施方式与本实施方式相互对应,因此本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,在第二实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。

通过上述内容,不难发现,本实施方式使得可以快速的从文本文件中直接获取用于定位代码漏洞的字符串,以便根据字符串修改代码漏洞,并且,可以省去根据界面上显示的文字选择字符串的时间,可以提高研发效率。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1