[发明专利]生成对象包装类型的方法与装置有效
申请号: | 200910080271.1 | 申请日: | 2009-03-17 |
公开(公告)号: | CN101504609A | 公开(公告)日: | 2009-08-12 |
发明(设计)人: | 姚磊 | 申请(专利权)人: | 北大方正集团有限公司;北京北大方正电子有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/45 |
代理公司: | 北京同达信恒知识产权代理有限公司 | 代理人: | 黄志华 |
地址: | 100871北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 生成 对象 包装 类型 方法 装置 | ||
技术领域
本发明涉及计算机面向对象编程技术,特别地涉及一种生成对象包装类型的方法与装置。
背景技术
在计算机面向对象的编程技术领域中,随着软件系统的规模越来越庞大、逻辑越来越复杂,面向特性的编程AOP(Aspect Oriented Programming)方法日益受到重视,因为该方法旨在分离横切(Crosscut)的关注点(Concern),这里通常指功能需求,从而避免或减轻它们在设计和实现上的相互影响。
将AOP思想运用于程序实现阶段,目前通常是通过截获调用或消息实现的,其一般做法是:首先对包含要截获的原始对象的可执行程序进行反编译得到原始对象的源程序,之后将截获调用程序加入该原始对象的源程序,得到新的对象源程序,最后编译这个程序,得到新的可执行文件。
此方法的一个问题在于:原始对象的源程序一旦更改,原始对象的可执行程序也随之改变,对于截获调用原始对象的应用者,需要通过改变后的原始对象可执行程序重新执行一次上述的反编译过程,在一些情况下,如版权、加密、带数字签名等,反编译难以甚至无法进行,于是难以得到修改后的原始对象所对应的可执行文件。
发明内容
本发明的主要目的是提供一种生成对象包装类型的方法与装置,以解决现有技术中在反编译受限的情况下无法得到修改后的原始对象所对应的可执行文件的问题。
为解决上述问题,本发明提供如下的技术方案:
一种生成对象包装类型的方法,包括:
从包含原始对象的可执行程序中获取原始对象的类型信息及原始对象的公有接口信息;
根据原始对象的类型信息及原始对象的公有接口信息创建第一对象包装类型,具体包括:创建第一对象包装类型中类型与原始对象的类型相同的数据成员,创建第一对象包装类型中与所述公有接口相同的接口;
根据第一对象包装类型以及设置的对象包装类型属性信息得到对象包装类型,具体包括:调用一个修改方法,然后判断若所述对象包装类型属性信息对应于调用的修改方法,则根据调用的修改方法和所述对象包装类型属性信息修改所述第一对象包装类型得到对象包装类型,或根据调用的修改方法和所述对象包装类型属性信息生成对象包装类型;若所述对象包装类型属性信息没有对应于调用的修改方法,则调用下一个修改方法。
一种生成对象包装类型的装置,包括获取模块、创建模块和对象包装类型生成模块,其中,
所述获取模块,用于从原始对象的可执行程序中获取原始对象类型的数据成员信息及公有接口信息;
所述创建模块,用于根据所述数据成员信息及公有接口信息创建第一对象包装类型,具体包括:创建第一对象包装类型中类型与原始对象的类型相同的数据成员,创建第一对象包装类型中与所述公有接口相同的接口;
所述对象包装类型生成模块,用于根据所述第一对象包装类型以及设置的对象包装类型属性信息得到对象包装类型,具体包括:调用一个修改方法,然后判断若所述对象包装类型属性信息对应于调用的修改方法,则根据调用的修改方法和所述对象包装类型属性信息修改所述第一对象包装类型得到对象包装类型,或根据调用的修改方法和所述对象包装类型属性信息生成对象包装类型;若所述对象包装类型属性信息没有对应于调用的修改方法,则调用下一个修改方法。
根据本发明的技术方案,在本发明实施例中,根据从包含原始对象的可执行程序中获取的原始对象的类型信息及原始对象的公有接口信息创建了第一对象包装类型,再对该第一对象包装类型根据需要获得的对象包装类型的属性信息进行修改或生成新的对象包装类型进行补充,由此得到期望的对象包装类型。这样,在本发明实施例的技术方案中并不对原始对象类型编译组装件进行反编译,于是在反编译受限的情况下,仍然能够获得修改后的原始对象对应的对象组装件,由此即可进一步得到修改后的原始对象所对应的可执行文件。
附图说明
图1为本发明实施例的方法流程图;
图2为本发明实施例的装置结构示意图。
具体实施方式
当原始对象发生改变时,为了在反编译过程受限的情况下获得对象包装类型,在本发明实施例中,根据如图1所示的步骤生成对象包装类型:
步骤S1:从原始对象的可执行程序中获取原始对象类型的数据成员信息及公有接口信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北大方正集团有限公司;北京北大方正电子有限公司,未经北大方正集团有限公司;北京北大方正电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910080271.1/2.html,转载请声明来源钻瓜专利网。