CN1185589C - 防止对计算机程序非授权访问的方法和系统 - Google Patents
防止对计算机程序非授权访问的方法和系统 Download PDFInfo
- Publication number
- CN1185589C CN1185589C CNB98120158XA CN98120158A CN1185589C CN 1185589 C CN1185589 C CN 1185589C CN B98120158X A CNB98120158X A CN B98120158XA CN 98120158 A CN98120158 A CN 98120158A CN 1185589 C CN1185589 C CN 1185589C
- Authority
- CN
- China
- Prior art keywords
- processor
- memory position
- program
- routine
- pattern
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000004590 computer program Methods 0.000 title description 4
- 230000005055 memory storage Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 3
- 241000282994 Cervidae Species 0.000 description 1
- 240000004859 Gamochaeta purpurea Species 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
防止一程序在找错应用程序下运行的系统和方法。该方法是与一个软件程序一起存储在计算机系统的硬驱上的一个例程的一部分。该系统有一个用来运行该软件程序和该例程的处理器。该例程当处理器在找错模式下运行时将防止对软件程序的非授权访问,当该处理器运行软件程序时,该软件程序能起动执行该例程。该例程检验某些寄存器以判断是否操作于找错模式,如果是,则使处理器停止运行该程序。
Description
技术领域
本公开一般地涉及计算机和计算机程序,较具体地涉及一种防止在找错应用程序下运行程序的系统和方法。
背景技术
存储在一个计算机内的计算机程序常常含有许多可受保护的知识产权。其中有些产权可以容易地通过版权和/或专利法律得到保护。然而,其他的产权是作为商业秘密来保护的,因此需要最高级的安全性来防止非授权的使用或访问。
某一特定程序一旦被一个不受软件许可或其他形式的保护限制的用户得到,要防止该程序的非授权使用或访问将变得困难。例如,计算机制造商经常在计算机正安装一些诊断程序,其中含有许多制造商的商业秘密。典型的情况是,只安装程序的可执行(.exe)部分,由此使用户无法得到源码。而且,程序的可执行部分还常常加了密。例如,威斯康星州Brown Deer市PKWARE公司的PKLITE应用程序对程序的可执行部分进行了压缩,由此在处理中对它进行了加密。然而,这没有能防止用户通过找错应用程序来运行该程序,找错应用程序使计算机处理器工作在暂停执行模式,这一模式使处理器在某些预定的间隔上停止执行或跳到另一个例程上。例如,该处理器可以是一个加利福尼亚州Santa Clara市Intel(英特)公司生产的PENTIUM(奔腾)处理器,暂停执行模式的例子有找错模式和单步骤操作模式,在Intel公司提供的“INTEL ARCHITECTURE SOFTWAREDEVELOPER’S MANUAL(英特体系软件开发者手册)”(1997,Vol.1-3)中对这两种模式有较详细的说明,这里引用该手册作为参考。通过使用找错程序,用户可以错误地访问程序,由此访问存储在其中的商业秘密。
因此,需要一种用来防止即使通过找错应用程序对一个程序的非授权访问的系统和方法。
发明内容
为此,提供了一种用来防止一个程序在找错应用程序下运行的系统和方法。在一个实施例中,在一个计算机系统的硬驱上存储了一个例程和一个软件程序。该计算机系统有一个用来运行软件程序和例程两者的处理器,而且该系统能操作于暂停执行模式。该例程能防止例如当处理器在一个找错应用程序下运行于暂停执行模式时对软件程序的非授权访问。当处理器正在运行该软件程序时,该软件程序将能起动例程的执行。该例程一旦被起动,它将检查某一预定的存储器位置,判断处理器是否操作于暂停执行模式,如果是,则使处理器停止继续运行该软件程序。
在一个实施例中,该存储器位置是处理器的一个中断寄存器,其中指明了是否正在使用通常在找错工作模式中使用的中断点。该例程检验中断寄存器是否指向任何其他的程序或例程。如果是这样,则处理器可能正运行于找错模式,从而该例程使处理器停止继续运行原来的程序。在另一个实施例中,该存储器位置是处理器的一个旗标寄存器,其中指明了是否是处理器的其他工作模式。在该实施例中,例程检验旗标寄存器是否指明了处理器操作的一个单步骤模式。如果是这样,该例程将使处理器停止继续运行原来的程序。
根据本发明的另一方面,提供一种用来防止用户在一个操作于暂停执行模式的处理器上运行一个程序的方法,该方法包括以下步骤:检验一个第一预定存储器位置;判断该第一存储器位置是否调用另一个例程;以及如果是这样,则使处理器停止继续运行该程序。
根据本发明的还一方面,提供一种用来防止用户通过找错应用程序在处理器上运行一个程序的设备,该设备包括:用来检验一个第一预定存储器位置的装置;用来判断该第一存储器位置是否指明处理器操作于一个暂停执行模式的装置;以及用来在响应于第一存储器位置指明了暂停执行模式的判定时,使处理器停止继续运行该程序的装置。
附图说明
图1是实现一个实施例的计算机的方框图。
图2是准备由图1计算机运行的一个例程的流程图。
具体实施方式
参见图1,代号10代表一个含有一些部件的计算机,这些部件包括:至少一个处理器12,RAM(随机存取存储器)14,一个硬驱16,以及一个软驱18。各个部件都能通过图中的总线20与处理器12进行通信。在本例中,处理器12运行例如由华盛顿州Redmond市Microsoft(微软)公司提供的DOS操作系统代码。然而应该理解,计算机10及其示例性的部件仅仅是许多不同类型的计算机和部件的一个代表。DOS也仅仅是许多不同类型的操作系统,包括也是由Microsoft公司开发的Windows(视窗)和Windows95的一个代表。
处理器12含有多个寄存器,包括中断寄存器22和旗标寄存器24。这里,寄存器22、24的名称是PENTIUM和PENTIUM II处理器中的名称,但其含义仅仅是实际上所有型号和/或牌号的处理器的类似寄存器的示例性代表。寄存器22和24在上面已引入作为参考的“英特体系软件开发者手册”中也有所说明,该手册还说明了几种不同的处理器操作模式,包括正常模式、找错模式和单步骤模式。
存储在硬驱16上的一个可执行(.exe)程序文件26。该程序26已利用一个例如上面较详细说明过的PKLITE音通工具进行了压缩和加密。由于程序26已加密,用户不能简单地通过读出硬盘16来访问和解编译该程序。然而,通常用户可以把程序26安装到RAM14中,并利用一个找错应用程序(未示出)来用处理器12运行该程序。这样做的结果是,用户可以了解程序26中的第一代码行,并解编译该程序,由此做到对该程序的非授权访问。
参见图2,其中示出也是存储在硬盘16上的一个例程100,该例程可以防止用户利用找错应用程序去运行程序26。当程序26开始操作时,它将起动例程100。因此,作为例子,例程100是一个初始化例程,然而应该理解,例程100也可以在执行程序26过程中的任何时间上运行。
在步骤102中,例程100检验寄存器22和24。采用上述IntelPENTIUM处理器的例子,上这中断寄存器22是一个找错寄存器7,而上述旗标寄存器24是一个EFLAG(E旗标)寄存器,在步骤104中,例程100判断EFLAG寄存器24的捕捉旗标(trap flag)(TF)是否已被设置。如果设置了表明单步骤模式的TF,则例程100在步骤106停止执行程序26。如果没有设置TF,则处理进到步骤108,在那里例程100判断中断寄存器22的中断点旗标(INT3)指向何处。INT3可能会指向一个常常被找错程序使用的例程,例如“中断点除外处理器例程(breakpoint exception handler routine)”;或者可能会含有一个返回指令“IRET”,这意味着没有调用其他的程序或例程。如果INT3指向除了IRET以外的任何其他指令,则处理将进到前述的步骤106。否则,处理前进到步骤110,在那里例程100把控制返回给程序26,使后者可以正常运行。通过检验寄存器22和24,例程100将可得知处理器12是否在找错模式下操作,从而可防止程序26在找错应用程序下运行。
虽然已经示出并说明了一些示例性实施例,但在上面的公开中仍希望有修改、改变和替代的自由度,而且在某些情况中,可以只利用某些特性而不相应地利用其他的特性。例如,例程100可被程序26重复地调用,以此来进一步保证该程序不是被一个找错程序运行的。此外,程序26和例程100可以存储在不同的位置;可以检验附加的或另外的寄存器、旗标或存储装置,还可以在不改变所示实施例的范畴的情况下对其加上附加的错误处理例程。所以,应该广义地并以符合本发明范畴的方式去理解所附的权利要求。
Claims (21)
1、一种计算机,它包括:
至少一个用于运行软件程序的处理器,该处理器能够在一个暂停执行模式下操作,并含有一个能指明该处理器当前是否在暂停执行模式下操作的第一存储器位置;以及
一个用于存储一例程的存储装置,该存储装置可被该处理器访问;以及
其中,当处理器运行软件程序时,该软件程序能起动例程;并且
其中,当该例程一旦被起动时,它将检验第一存储器位置以判断处理器是否处于暂停执行模式,如果是这样,则将使处理器停止继续运行该软件程序。
2、根据权利要求1的计算机,其中的第一存储器位置是处理器的一个中断寄存器。
3、根据权利要求1的计算机,其中的第一存储器位置是处理器的一个旗标寄存器。
4、根据权利要求1的计算机,其中的处理器还含有一个第二存储器位置,而且第一存储器位置是一个中断寄存器,第二存储器位置是一个旗标寄存器,并且,其中两个寄存器中的任一个寄存器都可以指明处理器当前是否在暂停执行模式下操作。
5、根据权利要求1的计算机,其中的暂停执行模式是一个找错模式。
6、根据权利要求1的计算机,其中的暂停执行模式是一个单步骤模式。
7、根据权利要求1的计算机,其中如果存储在存储装置中的例程判定了处理器不处于暂停执行模式,则例程返回执行软件程序。
8、根据权利要求1的计算机,其中的存储装置是一个硬盘。
9、根据权利要求1的计算机,其中的存储装置是一个软盘。
10、根据权利要求1的计算机,其中的存储装置是一个随机存取存储器。
11、一种用来防止用户在一个操作于暂停执行模式的处理器上运行一个程序的方法,该方法包括以下步骤:
检验一个第一存储器位置;
判断该第一存储器位置是否调用另一个例程;以及
如果是这样,则使处理器停止继续运行该程序。
12、根据权利要求11的方法,它还包括以下步骤:
检验一个第二存储器位置;
判断该第二存储器位置是否指明了处理器操作的一个暂停执行模式;以及
如果是这样,则使处理器停止继续运行该程序。
13、根据权利要求11的方法,其中的第一存储器位置是处理器的一个中断寄存器。
14、根据权利要求12的方法,其中的第一存储器位置是处理器的一个中断寄存器,并且第二存储器位置是处理器的一个旗标寄存器。
15、根据权利要求12的方法,其中操作的暂停执行模式是一个单步骤模式。
16、根据权利要求12的方法,其中操作的暂停执行模式是一个找错模式。
17、一种用来防止用户通过找错应用程序在处理器上运行一个程序的设备,该设备包括:
用来检验一个第一存储器位置的装置;
用来判断该第一存储器位置是否指明处理器操作于一个暂停执行模式的装置;以及
用来在响应于第一存储器位置指明了暂停执行模式的判定时,使处理器停止继续运行该程序的装置。
18、根据权利要求17的设备,它还包括:
用来检验一个第二存储器位置的装置;
用来判断该第二存储器位置是否指向另一个例程的装置;以及
用来在响应于第二存储器位置指向了另一个例程的判定时,使处理器停止继续运行该程序的装置。
19、根据权利要求17的设备,其中的第一存储器位置是处理器的一个旗标寄存器。
20、根据权利要求18的设备,其中的第一存储器位置是处理器的一个旗标寄存器,并且第二存储器位置是处理器的一个中断寄存器。
21、根据权利要求17的设备,其中操作的暂停执行模式是单步骤模式或找错模式中的任一种模式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/950,626 US6237137B1 (en) | 1997-10-15 | 1997-10-15 | Method and system for preventing unauthorized access to a computer program |
US08/950626 | 1997-10-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1215870A CN1215870A (zh) | 1999-05-05 |
CN1185589C true CN1185589C (zh) | 2005-01-19 |
Family
ID=25490685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB98120158XA Expired - Lifetime CN1185589C (zh) | 1997-10-15 | 1998-10-13 | 防止对计算机程序非授权访问的方法和系统 |
Country Status (14)
Country | Link |
---|---|
US (1) | US6237137B1 (zh) |
JP (1) | JPH11175336A (zh) |
KR (1) | KR100394090B1 (zh) |
CN (1) | CN1185589C (zh) |
AU (1) | AU736077B2 (zh) |
BR (1) | BR9802354B1 (zh) |
DE (1) | DE19847677C2 (zh) |
FR (1) | FR2772157A1 (zh) |
GB (1) | GB2330932B (zh) |
IE (1) | IE980483A1 (zh) |
IT (1) | IT1303132B1 (zh) |
MY (1) | MY115760A (zh) |
SG (1) | SG75856A1 (zh) |
TW (1) | TW389859B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6519721B1 (en) * | 1999-05-19 | 2003-02-11 | Intel Corporation | Method and apparatus to reduce the risk of observation of program operation |
US6983374B2 (en) * | 2000-02-14 | 2006-01-03 | Kabushiki Kaisha Toshiba | Tamper resistant microprocessor |
GB2381625C (en) | 2000-07-18 | 2008-12-12 | Bitarts Ltd | Digital data protection arrangement |
DE10126281A1 (de) | 2001-05-29 | 2002-12-12 | Infineon Technologies Ag | Programmgesteuerte Einheit |
EP1412879B1 (en) | 2001-06-29 | 2012-05-30 | Secure Systems Limited | Security system and method for computers |
KR100781554B1 (ko) | 2004-11-29 | 2007-12-03 | 주식회사 안철수연구소 | 실시간 컴퓨터 프로그램의 디버깅 방지 방법 및 그 기록매체 |
US20060137016A1 (en) * | 2004-12-20 | 2006-06-22 | Dany Margalit | Method for blocking unauthorized use of a software application |
CN100594509C (zh) * | 2005-02-11 | 2010-03-17 | 辛普雷克斯梅杰有限公司 | 软件保护方法 |
JP4810846B2 (ja) * | 2005-03-15 | 2011-11-09 | 富士ゼロックス株式会社 | プログラムデータの不正利用を阻止するプログラム |
US8510596B1 (en) * | 2006-02-09 | 2013-08-13 | Virsec Systems, Inc. | System and methods for run time detection and correction of memory corruption |
WO2007147495A2 (en) * | 2006-06-21 | 2007-12-27 | Wibu-Systems Ag | Method and system for intrusion detection |
JP4048382B1 (ja) | 2006-09-01 | 2008-02-20 | 富士ゼロックス株式会社 | 情報処理システムおよびプログラム |
US9703680B1 (en) | 2011-12-12 | 2017-07-11 | Google Inc. | System and method for automatic software development kit configuration and distribution |
US9087154B1 (en) | 2011-12-12 | 2015-07-21 | Crashlytics, Inc. | System and method for providing additional functionality to developer side application in an integrated development environment |
US9262250B2 (en) | 2011-12-12 | 2016-02-16 | Crashlytics, Inc. | System and method for data collection and analysis of information relating to mobile applications |
DE202013101230U1 (de) | 2013-03-22 | 2013-04-10 | Oleg A. Schlegel | Einrichtung einer Gegenwirkung mit einer Filtrierung von Ereignissen eines unbefugten Zugangs auf ein Programm eines portativen Computers |
AU2014318585B2 (en) | 2013-09-12 | 2018-01-04 | Virsec Systems, Inc. | Automated runtime detection of malware |
AU2015279923B9 (en) | 2014-06-24 | 2018-01-25 | Virsec Systems, Inc. | System and methods for automated detection of input and output validation and resource management vulnerability |
US11409870B2 (en) | 2016-06-16 | 2022-08-09 | Virsec Systems, Inc. | Systems and methods for remediating memory corruption in a computer application |
WO2019231000A1 (ko) * | 2018-05-29 | 2019-12-05 | 라인플러스 주식회사 | 프로그램 보호를 위한 자바 디버거 차단 방법 및 시스템 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57161946A (en) | 1981-03-30 | 1982-10-05 | Fujitsu Ltd | Microcomputer with protecting mechanism for memory contents |
US4525780A (en) * | 1981-05-22 | 1985-06-25 | Data General Corporation | Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information |
US4369449A (en) | 1981-06-01 | 1983-01-18 | Macdougall James B | Linearly polarized omnidirectional antenna |
JPS5894195A (ja) | 1981-11-30 | 1983-06-04 | Nec Home Electronics Ltd | ワンチツプ・マイクロコンピユ−タ |
US4525599A (en) * | 1982-05-21 | 1985-06-25 | General Computer Corporation | Software protection methods and apparatus |
EP0153764B1 (en) * | 1984-03-02 | 1993-11-03 | Nec Corporation | Information processor having an interruption operating function |
JPS62126448A (ja) | 1985-11-27 | 1987-06-08 | Fuji Electric Co Ltd | メモリの管理・保護方式 |
JPS63163912A (ja) * | 1986-12-26 | 1988-07-07 | Toshiba Corp | マイクロコンピユ−タシステム |
US4819234A (en) * | 1987-05-01 | 1989-04-04 | Prime Computer, Inc. | Operating system debugger |
US5432795A (en) * | 1991-03-07 | 1995-07-11 | Digital Equipment Corporation | System for reporting errors of a translated program and using a boundry instruction bitmap to determine the corresponding instruction address in a source program |
US5446904A (en) * | 1991-05-17 | 1995-08-29 | Zenith Data Systems Corporation | Suspend/resume capability for a protected mode microprocessor |
US5446900A (en) * | 1992-07-24 | 1995-08-29 | Microtec Research, Inc. | Method and apparatus for statement level debugging of a computer program |
US5671422A (en) * | 1994-11-14 | 1997-09-23 | Intel Corporation | Method and apparatus for switching between the modes of a processor |
WO1997004394A1 (en) | 1995-07-14 | 1997-02-06 | Christopher Nathan Drake | Computer software authentication, protection, and security system |
-
1997
- 1997-10-15 US US08/950,626 patent/US6237137B1/en not_active Expired - Lifetime
-
1998
- 1998-06-17 IE IE980483A patent/IE980483A1/en not_active IP Right Cessation
- 1998-07-08 BR BRPI9802354-3A patent/BR9802354B1/pt not_active IP Right Cessation
- 1998-07-14 SG SG1998001775A patent/SG75856A1/en unknown
- 1998-07-15 JP JP10200973A patent/JPH11175336A/ja active Pending
- 1998-07-16 KR KR10-1998-0028802A patent/KR100394090B1/ko not_active IP Right Cessation
- 1998-07-27 TW TW087112254A patent/TW389859B/zh not_active IP Right Cessation
- 1998-07-27 MY MYPI98003411A patent/MY115760A/en unknown
- 1998-08-21 AU AU80891/98A patent/AU736077B2/en not_active Expired
- 1998-10-02 GB GB9821547A patent/GB2330932B/en not_active Expired - Lifetime
- 1998-10-12 IT IT1998TO000865A patent/IT1303132B1/it active IP Right Grant
- 1998-10-13 FR FR9812775A patent/FR2772157A1/fr not_active Withdrawn
- 1998-10-13 CN CNB98120158XA patent/CN1185589C/zh not_active Expired - Lifetime
- 1998-10-15 DE DE19847677A patent/DE19847677C2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE19847677A1 (de) | 1999-05-06 |
GB9821547D0 (en) | 1998-11-25 |
CN1215870A (zh) | 1999-05-05 |
SG75856A1 (en) | 2000-10-24 |
KR19990036567A (ko) | 1999-05-25 |
US6237137B1 (en) | 2001-05-22 |
DE19847677C2 (de) | 2003-08-14 |
TW389859B (en) | 2000-05-11 |
AU8089198A (en) | 1999-05-06 |
BR9802354B1 (pt) | 2009-12-01 |
AU736077B2 (en) | 2001-07-26 |
FR2772157A1 (fr) | 1999-06-04 |
GB2330932B (en) | 2002-06-26 |
IT1303132B1 (it) | 2000-10-30 |
MY115760A (en) | 2003-08-30 |
BR9802354A (pt) | 1999-10-19 |
ITTO980865A1 (it) | 2000-04-12 |
KR100394090B1 (ko) | 2003-12-31 |
JPH11175336A (ja) | 1999-07-02 |
IE980483A1 (en) | 1999-06-02 |
GB2330932A (en) | 1999-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1185589C (zh) | 防止对计算机程序非授权访问的方法和系统 | |
CN1151414C (zh) | 计算机存储装置的可修改分区引导记录 | |
US5953530A (en) | Method and apparatus for run-time memory access checking and memory leak detection of a multi-threaded program | |
CA2332650C (en) | Software analysis system having an apparatus for selectively collecting analysis data from a target system executing software instrumented with tag statements and method for use thereof | |
US20030093685A1 (en) | Method and system for obfuscation of computer program execution flow to increase computer program security | |
US6026236A (en) | System and method for enabling software monitoring in a computer system | |
US6071316A (en) | Automated validation and verification of computer software | |
US5740413A (en) | Method and apparatus for providing address breakpoints, branch breakpoints, and single stepping | |
ATE340723T1 (de) | Verfahren zum betrieb eines kraftfahrzeugs- managementrechnersystems | |
EP0457426B1 (en) | Method and system for optimizing termination in systems of programmable devices | |
Evans et al. | On-line debugging techniques: a survey | |
US7152226B2 (en) | Flexible horizontal stack display and editor | |
EP3506100A1 (en) | Automated software application verification system | |
WO1993013477A1 (en) | Computer protection device | |
EP2171590A2 (en) | Authorised debugging | |
AU651682B2 (en) | Improved system and method for detecting cross-domain instruction calls and data references especiallly adapted for code interface jacketing in a multi-code execution and debugging system within a multi-architecture environment | |
WO2005045611A2 (en) | System for selectively enabling operating modes of a device | |
EP1879128B1 (de) | Abgesicherter Programmcode | |
EP0657812A1 (en) | System and method for monitoring library software | |
KR19990024648A (ko) | 오오피 기반의 마이크로컨트롤러 응용 개발 시스템 | |
Impson | The Perl Debugger | |
Schaller | Tutorial: Buffer Overflows | |
Rosenberg et al. | Using the Tool Kits | |
Strom | Point: do programmers need seatbelts? | |
Van De Vanter | Debugging in Pan I |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term |
Granted publication date: 20050119 |
|
CX01 | Expiry of patent term |