发明名称 |
一种.NET程序加密后的执行方法 |
摘要 |
本发明提供了一种.NET程序加密后的执行方法,操作系统为.NET程序进程分配进程地址空间,并将PE文件分别映射到进程地址空间中,.NET程序进程运行后,判断当前运行的程序模块是否加密,对加密的程序模块进行解密后继续运行.NET程序进程,如果当前程序模块调用了子程序模块,继续判断子程序模块是否加密,如果子程序模块被加密则进行解密操作,继续运行.NET程序进程,通过这种方法,可以使得将.NET程序中分模块进行加密管理,提高了对.NET软件保护的功能多样化。 |
申请公布号 |
CN101980160A |
申请公布日期 |
2011.02.23 |
申请号 |
CN201010523253.9 |
申请日期 |
2010.10.28 |
申请人 |
北京飞天诚信科技有限公司 |
发明人 |
陆舟;于华章 |
分类号 |
G06F9/445(2006.01)I;G06F21/00(2006.01)I |
主分类号 |
G06F9/445(2006.01)I |
代理机构 |
|
代理人 |
|
主权项 |
一种.NET程序加密后的执行方法,其特征在于,所述方法包括:操作系统加载HOOK引擎和.NET内核,启动.NET程序进程,开始运行.NET程序模块;HOOK引擎判断当前的程序模块是否被加密;如果所述当前的程序模块被加密,调用解密模块解密所述当前的程序模块,实时编译并执行所述当前的程序模块,所述HOOK引擎判断所述当前的程序模块是否调用了子程序模块;如果调用了子程序模块,获取所述子程序模块,并判断所述子程序模块是否被加密;如果所述子程序模块被加密,调用解密模块解密所述子程序模块,实时编译并执行所述子程序模块,所述.NET程序进程继续运行,调用其他程序模块,返回执行HOOK引擎判断当前的程序模块是否被加密的操作;如果所述子程序模块没有被加密,实时编译并执行所述子程序模块,所述.NET程序进程继续运行,调用其他程序模块,返回执行HOOK引擎判断当前的程序模块是否被加密的操作;如果没有调用子程序模块,所述.NET程序进程继续运行,调用其他程序模块,返回执行HOOK引擎判断当前的程序模块是否被加密的操作;如果所述当前的程序模块没有被加密,实时编译并执行所述当前的程序模块,所述.NET程序进程继续运行,调用其他程序模块,返回执行HOOK引擎判断当前的程序模块是否被加密的操作。 |
地址 |
100085 北京市海淀区学清路9号汇智大厦B座17层 |