CN101464791A - 代码******及方法 - Google Patents

代码******及方法 Download PDF

Info

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
Application number
CNA2007102031381A
Other languages
English (en)
Inventor
李忠一
叶建发
林柏全
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hongfujin Precision Industry Shenzhen Co Ltd
Hon Hai Precision Industry Co Ltd
Original Assignee
Hongfujin Precision Industry Shenzhen Co Ltd
Hon Hai Precision Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hongfujin Precision Industry Shenzhen Co Ltd, Hon Hai Precision Industry Co Ltd filed Critical Hongfujin Precision Industry Shenzhen Co Ltd
Priority to CNA2007102031381A priority Critical patent/CN101464791A/zh
Priority to US12/202,387 priority patent/US20090158267A1/en
Publication of CN101464791A publication Critical patent/CN101464791A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/54Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2101Auditing 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. 【权利要求1】一种代码******,应用于计算机上,所述的计算机还包括有存储设备,其特征在于,所述的存储设备上储存有控制反转容器、目标代码、***代码及配置文件,所述的代码******包括:
    载入模块,用于从存储设备中载入控制反转容器,以及从存储设备中载入目标代码、***代码及配置文件至所述的控制反转容器中;
    设定模块,用于通过配置文件记录目标代码中的切入点,并通过配置文件将***代码的***位置设定为该切入点;
    侦测模块,用于通过控制反转容器侦测当前***中执行的代码是否为目标代码,并且该目标代码是否已执行到配置文件所记录的切入点位置;
    中断模块,用于在当前***中执行的代码为目标代码,且该目标代码已执行到配置文件所记录的切入点位置时,中断目标代码的执行;及
    ***模块,用于根据配置文件找到设定模块所设定的要***到该切入点位置的***代码,并执行该***代码。
  2. 【权利要求2】如权利要求1所述的代码******,其特征在于,该***还包括:返回模块,用于当执行完所述的***代码后,返回至目标代码的切入点位置继续执行该目标代码。
  3. 【权利要求3】一种代码***方法,其特征在于,该方法包括如下步骤:
    提供一个存储设备,该存储设备上储存有控制反转容器、目标代码、***代码及配置文件;
    从存储设备中载入控制反转容器;
    从存储设备中载入目标代码、***代码及配置文件至所述的控制反转容器中;
    通过配置文件记录目标代码中的切入点,并通过配置文件将***代码的***位置设定为该切入点;
    通过控制反转容器侦测当前***中执行的代码是否为目标代码,并且该目标代码是否已执行到配置文件所记录的切入点位置;
    在当前***中执行的代码为目标代码,且该目标代码已执行到配置文件所记录的切入点位置时,中断目标代码的执行;及
    根据配置文件找到所设定的要***到该切入点位置的***代码,并执行该***代码。
  4. 【权利要求4】如权利要求3所述的代码***方法,其特征在于,该方法还包括步骤:在执行该***代码的步骤后,返回至目标代码的切入点位置继续执行该目标代码。
CNA2007102031381A 2007-12-17 2007-12-17 代码******及方法 Pending CN101464791A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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