1.一种生成随机布局程序的方法,其特征在于,包括:
对于需要进行随机布局的程序,生成用来对所述程序进行随机布局的随机数;
构建所述程序的函数信息块和/或变量信息块;
利用所生成的随机数,对所述函数信息块和/或所述变量信息块的位置进行调整,形成随机布局程序。
2.根据权利要求1所述的方法,其特征在于,通过以下步骤构建所述程序的函数信息块:
按照所述程序的输入顺序,从所述程序中依次获取函数,并将所获取的每个函数作为一个函数信息块进行缓存。
3.根据权利要求2所述的方法,其特征在于,通过以下步骤对所述函数信息块的位置进行调整:
为所缓存的每个函数信息块获取一个随机数,并按照随机数的大小,对每个函数信息块的位置进行排序。
4.根据权利要求1所述的方法,其特征在于,通过以下步骤构建所述程序的变量信息块:
按照所述程序的输入顺序,从所述程序中依次获取全局变量,并将所获取的每个全局变量作为一个全局变量信息块进行缓存。
5.根据权利要求4所述的方法,其特征在于,通过以下步骤对所述变量信息块的位置进行调整:
为所缓存的每个变量信息块获取一个随机数,并按照随机数的大小,对每个变量信息块的位置进行排序。
6.一种生成随机布局程序的装置,其特征在于,包括:
随机数生成模块,用于对于需要进行随机布局的程序,生成用来对所述程序进行随机布局的随机数;
输入模块,用于构建所述程序的函数信息块和/或变量信息块;
排序模块,用于利用所生成的随机数,对所述函数信息块和/或变量信息块的位置进行调整。
7.根据权利要求6所述的装置,其特征在于,所述输入模块按照所述程序的输入顺序,从所述程序中依次获取函数,并将所获取的每个函数作为一个函数信息块进行缓存。
8.根据权利要求7所述的装置,其特征在于,所述排序模块为所缓存的每个函数信息块获取一个随机数,并按照随机数的大小,对每个函数信息块的位置进行排序。
9.根据权利要求6所述的装置,其特征在于,所述输入模块按照所述程序的输入顺序,从所述程序中依次获取变量,并将所获取的每个变量作为一个变量信息块进行缓存。
10.根据权利要求9所述的装置,其特征在于,所述排序模块为所缓存的每个变量信息块获取一个随机数,并按照随机数的大小,对每个变量信息块的位置进行排序。