[发明专利]一种模拟软件运行的方法有效
申请号: | 201010214123.7 | 申请日: | 2010-06-29 |
公开(公告)号: | CN102012858A | 公开(公告)日: | 2011-04-13 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 北京飞天诚信科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 模拟 软件 运行 方法 | ||
技术领域
本发明涉及软件保护领域,特别涉及一种模拟软件运行的方法。
背景技术
R7.Net外壳工具的保护原理是将被加壳程序中符合条件的(能够在加密锁中运行的指令)、连续的指令序列提取出来,将这部分指令序列移植到加密锁中去运行,以达到保护算法的目的。
但是,当我们将一个被加壳程序中的若干指令序列移植到加密锁中以后,等我们运行这个加壳后的程序时,无法知道移植到加密锁中的指令序列的运行情况,而现有技术中,一般会有下面三种情况:
1)某些指令序列没有被执行,起不到保护作用,因为这部分指令序列没有被执行,所以不会影响到程序的正常运行;
2)某些指令序列过于频繁的被执行,严重影响效率,由于访问加密锁需要耗时,所以如果过于频繁访问加密锁,有可能导致加壳后的程序无法正常运行;
3)某些指令序列适当的被执行,在程序执行的某些关键步骤被执行,既起到了保护算法的作用,又不会影响程序的正常执行。
很明显,我们在为一个程序加壳时,应尽量选择符合第3种情况的指令序列,放弃第1、2种情况的指令序列。
并且,目前软件保护的可选择方案比较多,但经常在一个软件保护中为平衡安全与效率,可能会选择其中的一种或多种方案进行软件保护,但通常这种平衡需要在保护完成后才能去判断,并且判断的过程通常也不是很直观,特别是浪费资源和时间等。
发明内容
为了解决现有技术中的不足,本发明提供了一种模拟软件运行的方法,所述方法包括:
对被加壳程序进行分析,查找出满足条件的指令序列,记录下所述指令序列在所述被加壳程序中的具体位置;
在被加壳程序的副本的所述具体位置上插入相关语句;
启动并运行所述插入相关语句后的被加壳程序的副本,进行模拟运行,并且相关语句在执行时记录模拟运行信息;
读取模拟运行信息,进行分析和比较,查看模拟运行效果,选择保护方案。
本发明的有益效果在于:本发明提供了一种模拟软件运行的方法,通过该方法预先模拟各种保护方案,并自动分析模拟得到的相关数据,提供评定保护效果,并且在模拟过程中可预先处理保护信息,提升最终真正保护软件的效率,进一步实现了透明的软件保护,提高了效率,节约了资源,方便直观得选择最合适的保护方案。
附图说明
图1为本实施例提供的一种模拟软件运行功能的方法的流程图;
图2为本实施例提供的另一种模拟软件运行功能的方法的流程图;
图3为本实施例提供的又一种模拟软件运行功能的方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式做进一步地详细描述。
实施例1
本实施例提供了一种模拟软件运行功能的方法。
参见图1,一种模拟软件运行功能的方法,具体实现步骤如下:
步骤101:外壳工具接收用户输入的对被加壳程序进行分析的信息,调用入口函数准备对被加壳程序进行分析;
在本实施例中,入口函数具体为OnAppOperateAnalyseIl()。
步骤102:判断上述被加壳程序中是否存在连续的指令序列,若不存在,则提示出错,若存在,则执行步骤103;
其中,指令序列具体可以为运算指令序列、常量加载指令序列、局部变量加载指令序列和局部变量存储指令序列;
在实施例步骤102中,外壳工具一次性从被加壳程序中查找出所有的连续的指令序列,再判断上述所有的连续的指令序列是否满足步骤103到步骤105所说的条件,最后步骤105得到的连续的指令序列则为满足所有条件的指令序列;
具体地,在本实施例中,以如下被加壳程序为例进行说明,被加壳程序如下:
.method assembly instance void DrawIsoMap(class
[System.Drawing]System.Drawing.Graphics A_1,
uint16A_2,
uint16A_3)cil
managed
{
.locals init(int16V_0,
int16V_1,
uint16V_2,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京飞天诚信科技有限公司,未经北京飞天诚信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010214123.7/2.html,转载请声明来源钻瓜专利网。