发明名称 一种.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层