CN101464791A - 代码******及方法 - Google Patents
代码******及方法 Download PDFInfo
- Publication number
- CN101464791A CN101464791A CNA2007102031381A CN200710203138A CN101464791A CN 101464791 A CN101464791 A CN 101464791A CN A2007102031381 A CNA2007102031381 A CN A2007102031381A CN 200710203138 A CN200710203138 A CN 200710203138A CN 101464791 A CN101464791 A CN 101464791A
- Authority
- CN
- China
- Prior art keywords
- code
- configuration file
- object code
- point
- penetration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2101—Auditing as a secondary aspect
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种代码***方法,该方法包括如下步骤:从存储设备中载入控制反转容器;从存储设备中载入目标代码、***代码及配置文件至控制反转容器中;通过配置文件记录目标代码中的切入点,并将***代码的***位置设定为该切入点;通过控制反转容器侦测当前***中执行的代码是否为目标代码,并且已执行到配置文件所记录的切入点位置;在当前***中执行的代码为目标代码,且该目标代码已执行到配置文件所记录的切入点位置时,中断目标代码的执行;及根据配置文件找到所设定的要***到该切入点位置的***代码,并执行该***代码。本发明还提供一种代码******。利用本发明可在不修改目标代码的情况下***新增加的代码,提高了编码的弹性。
Description
技术领域
本发明涉及一种代码******及方法。
背景技术
随着信息社会的高科技,商品经济化的高效益,计算机的应用已普及到经济和社会生活的各个领域。由于各个领域有各自的特别需求,因此针对不同领域,不同的对象需要开发出各种不同的软件程序。
在软件开发的开始阶段,不可能做到尽善尽美,保证所开发出来的软件程序没有任何差错。因此,经常需要对原有的开发的软件增加一种新的功能,或者对原有开发的程序段再增加一部分程序代码。而传统的软件开发过程中,在已完成开发的软件产品后,若需要***新的程序代码,例如,需增加使用者登入次数统计,往往需要重新修改原有的目标代码,若临时要取消统计,又必须再次修改,并经过编译的程序。这样,往往会增加程序编码与编译的负担,而且不容易维护。
发明内容
鉴于以上内容,有必要提供一种代码******,其可在不修改目标代码的情况下***新增加的代码,提高了编码的弹性。
此外,还有必要提供一种代码***方法,其可在不修改目标代码的情况下***新增加的代码,提高了编码的弹性。
一种代码******,应用于计算机上,所述的计算机还包括有存储设备,所述的存储设备上储存有控制反转容器、目标代码、***代码及配置文件,所述的代码******包括:载入模块,用于从存储设备中载入控制反转容器,以及从存储设备中载入目标代码、***代码及配置文件至所述的控制反转容器中;设定模块,用于通过配置文件记录目标代码中的切入点,并通过配置文件将***代码的***位置设定为该切入点;侦测模块,用于通过控制反转容器侦测当前***中执行的代码是否为目标代码,并且该目标代码是否已执行到配置文件所记录的切入点位置;中断模块,用于在当前***中执行的代码为目标代码,且该目标代码已执行到配置文件所记录的切入点位置时,中断目标代码的执行;及***模块,用于根据配置文件找到设定模块所设定的要***到该切入点位置的***代码,并执行该***代码。
一种代码***方法,该方法包括如下步骤:提供一个存储设备,该存储设备上储存有控制反转容器、目标代码、***代码及配置文件;从存储设备中载入控制反转容器;从存储设备中载入目标代码、***代码及配置文件至所述的控制反转容器中;通过配置文件记录目标代码中的切入点,并通过配置文件将***代码的***位置设定为该切入点;通过控制反转容器侦测当前***中执行的代码是否为目标代码,并且该目标代码是否已执行到配置文件所记录的切入点位置;在当前***中执行的代码为目标代码,且该目标代码已执行到配置文件所记录的切入点位置时,中断目标代码的执行;及根据配置文件找到所设定的要***到该切入点位置的***代码,并执行该***代码。
相较于现有技术,所述的代码******及方法可在不修改目标代码的情况下,只通过修改配置文件就可***新增加的代码,提高了编码和编译的弹性,而且方便维护。
附图说明
图1是本发明代码******较佳实施例的应用环境架构图。
图2是本发明代码***方法较佳实施例的流程图。
具体实施方式
如图1所示,是本发明代码******较佳实施例的应用环境架构图。所述的代码******10运行于计算机1中。所述的计算机1还包括存储设备11。
所述的存储设备11,可以是如内存等形式的内部存储器,也可以是如硬盘、光盘、软盘等形式的外部存储器。该存储设备11用于事先储存IoC(Inversion of Control,控制反转)容器、目标代码、***代码及配置文件。所述的IoC容器用于载入所述的目标代码、***代码和配置文件,及侦测***中执行的代码是否为目标代码。所述的目标代码为需要***代码的原始程序段。所述的***代码为即将***至目标代码的程序段。其中,所述的IoC容器在***开发过程中用于处理所设计的类与类之间的关系,而不必在类的内部去控制所设计的类与类之间的关系。
所述的代码******10包括有载入模块110,设定模块120,侦测模块130,中断模块140,***模块150及返回模块160。
所述的载入模块110,与所述的存储设备11相连,用于从存储设备11中载入IoC容器至所述的代码******10中,以及从存储设备11中载入目标代码、***代码及配置文件至所述的IoC容器中。
所述的设定模块120,用于通过配置文件记录目标代码中的切入点,并通过配置文件将***代码的***位置设定为该切入点。
所述的侦测模块130,用于通过IoC容器侦测当前***中执行的代码是否为目标代码,并且该目标代码是否已执行到配置文件所记录的切入点位置。
所述的中断模块140,用于在当前***中执行的代码为目标代码,且该目标代码已执行到配置文件所记录的切入点位置时,中断目标代码的执行。
所述的***模块150,用于根据配置文件找到设定模块120所设定的要***到该切入点位置的***代码,并执行该***代码。
所述的返回模块160,用于当执行完所述的***代码后,返回至目标代码的切入点位置继续执行该目标代码。
如图2所示,是本发明代码***方法较佳实施例的流程图。首先,步骤S11,载入模块110从存储设备11中载入IoC容器至代码******10中。
步骤S12,载入模块110从存储设备11中载入目标代码、***代码及配置文件至所述的IoC容器中。
步骤S13,设定模块120通过配置文件记录目标代码中的切入点,并通过配置文件将***代码的***位置设定为该切入点。
步骤S14,侦测模块130通过IoC容器侦测当前***中执行的代码是否为目标代码,并且该目标代码是否已执行到配置文件所记录的切入点位置。
步骤S15,在当前***中执行的代码为目标代码,且该目标代码已执行到配置文件所记录的切入点位置时,中断模块140中断目标代码的执行。
步骤S16,***模块150根据配置文件找到设定模块120所设定的要***到该切入点位置的***代码,并执行该***代码。
步骤S17,执行完所述的***代码后,返回模块160返回至目标代码的切入点位置继续执行该目标代码,并结束流程。
在步骤S14中,在当前***中执行的代码不为目标代码是,或者在***中执行的代码为目标代码但并没有执行到配置文件所记录的切入点位置时,则继续执行该步骤S14进行侦测。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换都不应脱离本发明技术方案的精神和范围。
Claims (4)
- 【权利要求1】一种代码******,应用于计算机上,所述的计算机还包括有存储设备,其特征在于,所述的存储设备上储存有控制反转容器、目标代码、***代码及配置文件,所述的代码******包括:载入模块,用于从存储设备中载入控制反转容器,以及从存储设备中载入目标代码、***代码及配置文件至所述的控制反转容器中;设定模块,用于通过配置文件记录目标代码中的切入点,并通过配置文件将***代码的***位置设定为该切入点;侦测模块,用于通过控制反转容器侦测当前***中执行的代码是否为目标代码,并且该目标代码是否已执行到配置文件所记录的切入点位置;中断模块,用于在当前***中执行的代码为目标代码,且该目标代码已执行到配置文件所记录的切入点位置时,中断目标代码的执行;及***模块,用于根据配置文件找到设定模块所设定的要***到该切入点位置的***代码,并执行该***代码。
- 【权利要求2】如权利要求1所述的代码******,其特征在于,该***还包括:返回模块,用于当执行完所述的***代码后,返回至目标代码的切入点位置继续执行该目标代码。
- 【权利要求3】一种代码***方法,其特征在于,该方法包括如下步骤:提供一个存储设备,该存储设备上储存有控制反转容器、目标代码、***代码及配置文件;从存储设备中载入控制反转容器;从存储设备中载入目标代码、***代码及配置文件至所述的控制反转容器中;通过配置文件记录目标代码中的切入点,并通过配置文件将***代码的***位置设定为该切入点;通过控制反转容器侦测当前***中执行的代码是否为目标代码,并且该目标代码是否已执行到配置文件所记录的切入点位置;在当前***中执行的代码为目标代码,且该目标代码已执行到配置文件所记录的切入点位置时,中断目标代码的执行;及根据配置文件找到所设定的要***到该切入点位置的***代码,并执行该***代码。
- 【权利要求4】如权利要求3所述的代码***方法,其特征在于,该方法还包括步骤:在执行该***代码的步骤后,返回至目标代码的切入点位置继续执行该目标代码。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007102031381A CN101464791A (zh) | 2007-12-17 | 2007-12-17 | 代码******及方法 |
US12/202,387 US20090158267A1 (en) | 2007-12-17 | 2008-09-01 | System and method for inserting authorized code into a program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007102031381A CN101464791A (zh) | 2007-12-17 | 2007-12-17 | 代码******及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101464791A true CN101464791A (zh) | 2009-06-24 |
Family
ID=40755017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007102031381A Pending CN101464791A (zh) | 2007-12-17 | 2007-12-17 | 代码******及方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090158267A1 (zh) |
CN (1) | CN101464791A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804083A (zh) * | 2018-05-23 | 2018-11-13 | 有米科技股份有限公司 | 一种代码操作方法及装置 |
CN112068932A (zh) * | 2020-09-01 | 2020-12-11 | 北京指掌易科技有限公司 | 应用程序的集成、监控方法、装置、***、设备及介质 |
CN112068932B (zh) * | 2020-09-01 | 2024-07-02 | 北京指掌易科技有限公司 | 应用程序的集成、监控方法、装置、***、设备及介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020073398A1 (en) * | 1998-12-14 | 2002-06-13 | Jeffrey L. Tinker | Method and system for modifying executable code to add additional functionality |
US6915416B2 (en) * | 2000-12-28 | 2005-07-05 | Texas Instruments Incorporated | Apparatus and method for microcontroller debugging |
US7516441B2 (en) * | 2001-06-04 | 2009-04-07 | Microsoft Corporation | Method and system for program editing and debugging in a common language runtime environment |
US7478385B2 (en) * | 2003-01-17 | 2009-01-13 | National Instruments Corporation | Installing software using programmatic component dependency analysis |
EP1685680B1 (en) * | 2003-11-20 | 2012-01-04 | Panasonic Corporation | Association control apparatus, association control method and service association system |
US7765525B1 (en) * | 2004-09-01 | 2010-07-27 | Intuit Inc. | Operations manager infrastructure for dynamically updating software operational policy |
JP2007172269A (ja) * | 2005-12-21 | 2007-07-05 | Internatl Business Mach Corp <Ibm> | プログラムのテスト方法、テスト装置 |
US8352923B2 (en) * | 2006-09-25 | 2013-01-08 | Typemock Ltd. | Method and system for isolating software components |
US8745584B2 (en) * | 2007-05-03 | 2014-06-03 | International Business Machines Corporation | Dependency injection by static code generation |
US8327341B2 (en) * | 2007-05-31 | 2012-12-04 | Red Hat, Inc. | Integrating aspect oriented programming into the application server |
US8448159B2 (en) * | 2007-11-02 | 2013-05-21 | Tti Inventions C Llc | Method and system for policy enabled programming |
-
2007
- 2007-12-17 CN CNA2007102031381A patent/CN101464791A/zh active Pending
-
2008
- 2008-09-01 US US12/202,387 patent/US20090158267A1/en not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804083A (zh) * | 2018-05-23 | 2018-11-13 | 有米科技股份有限公司 | 一种代码操作方法及装置 |
CN108804083B (zh) * | 2018-05-23 | 2022-01-11 | 有米科技股份有限公司 | 一种代码操作方法及装置 |
CN112068932A (zh) * | 2020-09-01 | 2020-12-11 | 北京指掌易科技有限公司 | 应用程序的集成、监控方法、装置、***、设备及介质 |
CN112068932B (zh) * | 2020-09-01 | 2024-07-02 | 北京指掌易科技有限公司 | 应用程序的集成、监控方法、装置、***、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
US20090158267A1 (en) | 2009-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109643345B (zh) | 用于确定性代码流完整性保护的技术 | |
CA2930424C (en) | Improved control flow integrity system and method | |
KR101719635B1 (ko) | 동적 함수 호출 시스템들에서 공격적인 자기-수정을 위한 시스템 및 방법 | |
US20030122871A1 (en) | System and method for flexible software linking | |
EP2426618B1 (en) | Information device, program, method for preventing execution of unauthorized program code, and computer readable recording medium | |
JP7154365B2 (ja) | ソフトウェアコードをセキュアにするための方法 | |
CN110737892B (zh) | 一种针对apc注入的检测方法和相关装置 | |
CN111428241B (zh) | 一种多安全访问策略控制方法及计算设备 | |
JP2021051745A (ja) | コンピュータ装置およびメモリ管理方法 | |
US20160171213A1 (en) | Apparatus and method for controlling instruction execution to prevent illegal accesses to a computer | |
CN106201640A (zh) | 一种升级BootLoader程序的方法及装置 | |
CN109271789A (zh) | 恶意进程检测方法、装置、电子设备及存储介质 | |
CN104252594A (zh) | 病毒检测方法和装置 | |
US20110047622A1 (en) | System and method for call path enforcement | |
CN111913742B (zh) | 一种程序处理方法及相关设备 | |
CN101477600A (zh) | 一种基于固件的软件自动防护***及安全卡 | |
CN101464791A (zh) | 代码******及方法 | |
CN103632099A (zh) | 未导出的Native API函数获取方法及装置 | |
CN102799434B (zh) | 一种利用软件保护装置实现自动代码移植的方法 | |
CN106407751B (zh) | 对可执行文件进行保护的方法和装置 | |
CN110673899A (zh) | 一种程序处理方法及相关设备 | |
CN116954704A (zh) | 一种代码分支合并方法、装置、计算机设备以及存储介质 | |
CN114637988A (zh) | 一种面向二进制的函数级软件随机化方法 | |
CN110515652B (zh) | 代码摘要的生成方法、装置和存储介质 | |
CN112182516A (zh) | 基于relro安全保护的检测方法、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20090624 |