ITTO980865A1 - Elaboratore con sistema per simulare la presenza dio un drive di dischetto. - Google Patents
Elaboratore con sistema per simulare la presenza dio un drive di dischetto. Download PDFInfo
- Publication number
- ITTO980865A1 ITTO980865A1 IT000865A ITTO980865A ITTO980865A1 IT TO980865 A1 ITTO980865 A1 IT TO980865A1 IT 000865 A IT000865 A IT 000865A IT TO980865 A ITTO980865 A IT TO980865A IT TO980865 A1 ITTO980865 A1 IT TO980865A1
- Authority
- IT
- Italy
- Prior art keywords
- processor
- memory location
- mode
- program
- suspended
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 12
- 101100348848 Mus musculus Notch4 gene Proteins 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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)
Description
DESCRIZIONE dell'invenzione industriale dal titolo: "Elaboratore con sistema per simulare la presenza di un drive di dischetto"
TESTO DELLA DESCRIZIONE
La presente descrizione è relativa in generale ad elaboratori e programmi di elaboratore e, più specificamente, ad un sistema e un metodo per impedire l'esecuzione di programmi in un programma di utilità di debugger.
Un programma di elaboratore che è memorizzato all'interno di un elaboratore contiene spesso molte proprietà intellettuali proteggibili. Alcune di queste proprietà sono immediatamente proteggibili tramite copyright e/o leggi brevettuali. Tuttavia, altre di queste proprietà sono proteggibili come segreti aziendali, pertanto richiedono il livello massimo di sicurezza per impedire l'utilizzo o l'accesso non autorizzati.
La prevenzione dell'utilizzo o accesso non autorizzati di un particolare programma diventa difficile quando il programma è ottenuto da un utente che non è sottoposto a licenze software o altre forme di protezione. Per esempio, i programmi diagnostici sono spesso installati su un elaboratore dal costruttore dell'elaboratore e contengono molti segreti aziendali del costruttore. Tipicamente, soltanto la porzione eseguibile (.exe) del programma è installata, tenendo l'utente all'oscuro in tal modo del codice sorgente. Inoltre, la porzione .exe del programma è spesso criptata. Per esempio, un programma di utilità PKLITE della PKWARE , Ine. di Brown Deer, WI, comprime la porzione .exe del programma, criptandolo così nel processo. Tuttavia, questo non impedisce ad un utente di eseguire il programma tramite un programma di utilità di debugger. Il programma di utilità di debugger fa sì che il processore dell'elaboratore operi in un modo di esecuzione sospeso che fa sì che il processore interrompa l'esecuzione o salti ad un'altra routine a certi intervalli predefiniti. A scopo esemplificativo, il processore può essere un processore PENTIUM, come prodotto dalla .Intel, Corp. di Santa Clara, CA, ed esempi di modi di esecuzione sospesi comprendono un modo di debug ed un modo operativo a singole fasi, tutti i quali sono descritti in maggior dettaglio nel manuale INTEL ARCHITECTURE SOFTWARE DEVELOPERS'S MANUAL, Volumi 1-3, 1997, fornito dalla Intel Corporation, che è qui allegato per riferimento. Utilizzando il programma di debugger, l'utente può accedere per errore al programma, accedendo in tal modo ai segreti aziendali in esso memorizzati.
Pertanto, quello che è necessario è un sistema e un metodo che impediscano l'accesso non autorizzato di un programma, anche tramite un programma di utilità di debugger.
L'invenzione
In risposta a ciò, è previsto un sistema e un metodo per impedire ad un programma di venire eseguito con un programma di utilità di debugger. In una forma di attuazione, una routine e un programma software sono memorizzati su un drive a disco rigido di un sistema di elaboratore. Il sistema di elaboratore ha un processo per eseguire sia il programma software sia la routine ed è in grado di funzionare in un modo di esecuzione sospeso. La routine impedisce l'accesso non autorizzato al programma software, ad esempio quando il processore sta funzionando nel modo di esecuzione sospeso con un programma di utilità di debugger. Quando il processore sta eseguendo il programma software, il programma può dare inizio all'esecuzione della routine. Una volta iniziata, la routine controlla una certa predeterminata locazione di memoria per determinare se essa è operativa nel modo di esecuzione sospeso e se è così interrompe il processore impedendogli di continuare a eseguire il programma software.
In una forma di attuazione, la locazione di memoria è un registro di interruzione del processore, che indica se si utilizzano punti di interruzione, che sono utilizzati comunemente nei modi operativi di debug. La routine controlla il registro di interruzione per determinare se esso punta a qualche altro programma o routine. Se è così, è probabile che il processore stia funzionando in modo debug e la routine impedisce al processore di continuare ad eseguire il programma originale. In un'altra forma di attuazione, la locazione di memoria è un registro indicatore del processore, che indica se esistono altri modi operativi del processore. In questa forma di attuazione, la . routine controlla il registro indicatore per determinare se esso indica un modo di funzionamento a singola fase per il processore. Se è così, la routine impedisce al processore di continuare a eseguire il programma.
Descrizione dettagliata dei disegni La Figura 1 è un diagramma a blocchi di un elaboratore per implementare una forma di attuazione .
La Figura 2 è un diagramma di flusso di una routine che deve essere eseguita dall'elaboratore di Figura 1.
Descrizione dettagliata della forma di attuazione preferita
Con riferimento alla Figura 1, il numero di riferimento 10 indica un elaboratore avente parecchi componenti, compreso almeno un processore 12, una RAM 14, un'unità a disco rigido 16, e un'unità a disco floppy 18. Ogni componente è in grado di comunicare con il processore 12, come rappresentato graficamente da un bus generale 20. Nel presente esempio, il processore 12 sta eseguendo il codice di sistema operativo DOS come fornito dalla Microsoft Corp. di Redmond, WA. Si comprende, tuttavia, che l'elaboratore 10 e i suoi componenti illustrati sono semplicemente rappresentativi di molti tipi diversi di elaboratori e componenti e che il DOS è semplicemente rappresentativo di molti tipi diversi di sistemi operativi, compreso Windows e Windows 95, anche essi dalla Microsoft Corp.
Il processore 12 comprende una pluralità di registri, compreso un registro INTERRUPT 22 ed un registro FLAG 24. I nomi dei registri 22, 24 sono relativi ai processori PENTIUM e PENTIUM II, ma vogliono solo essere illustrativi di registri simili praticamente su tutti i modelli e/o le marche di processori. I registri 22, 24 sono descritti inoltre nel manuale INTEL ARCHITECTURE SOFTWARE DEVELOPER'S MANUAL, che è già stato allegato per riferimento e che descrive inoltre parecchi modi operativi di processore diversi, compreso un modo normale, un modo di debug, ed un modo a sìngola fase.
Sul drive a disco rigido 16 è memorizzato un file di programma eseguibile (.exe) 26. Il programma 26 è attualmente compresso e criptato utilizzando un'utilità convenzionale quale PKLITE, descritta in maggior dettaglio in precedenza. Dato che il programma 26 è criptato, un utente non può leggere semplicemente il disco rigido 16 per accedere e decompilare il programma. Convenzionalmente, tuttavia, l'utente dovrebbe essere in grado di caricare il programma 26 nella RAM 14 ed eseguire il programma con il processore 12 utilizzando un programma di utilità di debug (non illustrato). Facendo così, l'utente potrebbe apprendere ogni linea di codice nel programma 26 e decompilare il programma, ottenendo in tal modo un accesso non autorizzato al programma.
Con riferimento alla Figura 2, una routine 100, che è memorizzata anche essa sul disco rigido 16, impedisce all'utente di eseguire il programma 26 utilizzando il programma di utilità di debug. Il programma 26 lancia la routine 100 durante il funzionamento iniziale del programma. Pertanto, a scopo esemplificativo, la routine 100 è una routine di inizializzazione, comprendendosi, tuttavia, che la routine 100 può essere eseguita in- qualsiasi momento si esegue il programma 26.
Nella fase 102, la routine 100 controlla i registri 22, 24. Utilizzando l'esempio con processore PENTIUM descritto in precedenza, in modo specifico il registro INTERRUPT 22 è un Registro di Debug 7 e il registro FLAG 24 è un Registro EFLAG.
Nella fase 104, la routine 100 determina se l'indicatore di trappola (TF) del Registro EFLAG 24 è impostato. Se TF è impostato, indicando il modo a singola fase, la routine 100 interrompe l'esecuzione del programma 26 nella fase 106. Se TF è vuoto, l'esecuzione procede alla fase 108, dove la routine 100 determina dove punta l'indicatore di punto di interruzione (INT 3) del Registro INTERRUPT 22. INT 3 può puntare ad una routine quale una routine di trattamento di eccezioni di punti di interruzione, che è utilizzata spesso da un programma di debug, oppure può contenere un'istruzione di ritorno "IRET", che significa che non viene chiamato nessun altro programma o routine. Se INT 3 punta a qualsiasi istruzione diversa da IRET, l'esecuzione procede alla fase 106 sopra descritta. Altrimenti, l'esecuzione procede alla fase 110 dove la routine 100 ritorna al controllo al programma 26, che può ora procedere normalmente. Controllando ì registri 22, 24, la routine 100 sa se il processore 12 sta funzionando in un modo di debug o meno, impedendo in tal modo al programma 26 di venire eseguito con un programma di utilità di debugger.
Anche se sono state illustrate e descritte forme di attuazione illustrative, si prevede nella precedente descrizione una certa ampiezza di modifiche, variazioni e sostituzioni, e in certi esempi, alcune caratteristiche saranno impiegate senza un utilizzo corrispondente di altre caratteristiche. Per esempio, la routine 100 può essere chiamata ripetutamente dal programma 26, garantendo in tal modo ulteriormente che il programma non venga eseguito da un debugger. Inoltre, il programma 26 e la routine 100 possono essere memorizzati in locazioni diverse, registri aggiuntivi o alternativi, indicatori o dispositivi di memoria possono essere controllati e si possono aggiungere routine di trattamento di errori aggiuntive alla forma di attuazione illustrativa senza modificarne il campo di protezione. Di conseguenza, è appropriato che le rivendicazioni allegate siano costruite in senso ampio e in maniera coerente con il campo di protezione dell'invenzione.
Claims (21)
- RIVENDICAZIONI 1. Elaboratore comprendente: almeno un processore per eseguire un programma software, il processore in grado di funzionare in un modo a esecuzione sospesa e avente una prima locazione di memoria che indica se il processore sta attualmente operando nel modo a esecuzione sospesa; un dispositivo di memoria accessibile da parte del processore; e una routine posta nel dispositivo di memoria; in cui, quando il processore sta eseguendo il programma software, il programma è in grado di dare inizio alla routine; e in cui, una volta iniziata, la routine controlla la prima locazione di memoria per determinare se il processore si trova nel modo di esecuzione sospesa e se è così, impedisce al processore di continuare ad eseguire il programma software .
- 2. Elaboratore secondo la rivendicazione 1 in cui la prima locazione di memoria è un registro di interruzione del processore.
- 3. Elaboratore secondo la rivendicazione 1 in cui la prima locazione di memoria è un registro indicatore del processore.
- 4. Elaboratore secondo la rivendicazione 1 in cui il processore comprende inoltre una seconda locazione di memoria, la prima locazione dì memoria essendo un registro di interruzione e la seconda locazione di memoria essendo un registro indicatore, e in cui uno dei due registri può indicare se il processore sta attualmente funzionando nel modo a esecuzione sospesa.
- 5. Elaboratore secondo la rivendicazione 1 in cui il modo a esecuzione sospesa è un modo di debug .
- 6. Elaboratore secondo la rivendicazione 1 in cui il modo a esecuzione sospesa è un modo a singola fase.
- 7. Elaboratore secondo la rivendicazione 1 in cui, se la routine determina che il processore non si trova nel modo a esecuzione sospesa, la routine restituisce l'esecuzione al programma software.
- 8. Elaboratore secondo la rivendicazione 1 in cui il dispositivo di memoria è un disco rigido.
- 9. Elaboratore secondo la rivendicazione 1 in cui il dispositivo di memoria è un disco floppy.
- 10. Elaboratore secondo la rivendicazione 1 in cui il dispositivo di memoria è una memoria ad accesso casuale.
- 11. Metodo per impedire ad un utente di eseguire un programma su un processore operativo in un modo a esecuzione sospesa, il metodo comprendendo le fasi di: controllare una prima predeterminata locazione di memoria; determinare se la prima locazione di memoria richiama un'altra routine; e se è così, impedire al processore di continuare a eseguire il programma.
- 12. Metodo secondo la rivendicazione 11 comprendente inoltre le fasi di: controllare una seconda predeterminata locazione di memoria; determinare se la seconda locazione di memoria indica un modo di funzionamento a esecuzione sospesa per il processore; e se è così, impedire al processore di continuare a eseguire il programma.
- 13. Metodo secondo la rivendicazione 11 in cui la prima locazione di memoria è un registro di interruzione del processore.
- 14. Metodo secondo la rivendicazione 12 in cui la prima locazione di memoria è un registro di interruzione del processore e la seconda locazione di memoria è un registro indicatore del processore.
- 15. Metodo secondo la rivendicazione 11 in cui il modo di funzionamento a esecuzione sospesa è un modo a singola fase.
- 16. Metodo secondo la rivendicazione 12 in cui il modo di funzionamento a esecuzione sospesa è un modo di debug.
- 17. Dispositivo per impedire ad un utente di eseguire un programma sul processore operativo in un modo di debug, il dispositivo comprendendo: mezzi per controllare una prima predeterminata locazione di memoria; mezzi per determinare se la prima locazione di memoria indica che il processore è operativo in un modo a esecuzione sospesa; e mezzi che rispondono alla determinazione che la prima locazione di memoria indica il modo a esecuzione sospesa per impedire al processore di continuare a eseguire il programma.
- 18. Dispositivo secondo la rivendicazione 17 comprendente inoltre: mezzi per controllare una seconda predeterminata locazione di memoria; mezzi per determinare se la seconda locazione di memoria punta ad un'altra routine; e mezzi che rispondono alla determinazione che la seconda locazione di memoria punta ad un'altra routine per impedire al processore di continuare a eseguire il programma.
- 19. Dispositivo secondo la rivendicazione 17 in cui la prima locazione di memoria è un registro indicatore del processore.
- 20. Dispositivo secondo la rivendicazione 18 in cui la prima locazione di memoria è un registro indicatore del processore e la seconda locazione di memoria è un registro dì interruzione del processore .
- 21. Dispositivo secondo la rivendicazione 17 in cui il modo di funzionamento a esecuzione sospesa è uno tra un modo.a singola fase o un modo di debug. Il tutto sostanzialmente come descritto ed illustrato e per gli scopi specificati.
Applications Claiming Priority (1)
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 |
Publications (2)
Publication Number | Publication Date |
---|---|
ITTO980865A1 true ITTO980865A1 (it) | 2000-04-12 |
IT1303132B1 IT1303132B1 (it) | 2000-10-30 |
Family
ID=25490685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
IT1998TO000865A IT1303132B1 (it) | 1997-10-15 | 1998-10-12 | Elaboratore con sistema per simulare la presenza dio un drive didischetto. |
Country Status (14)
Country | Link |
---|---|
US (1) | US6237137B1 (it) |
JP (1) | JPH11175336A (it) |
KR (1) | KR100394090B1 (it) |
CN (1) | CN1185589C (it) |
AU (1) | AU736077B2 (it) |
BR (1) | BR9802354B1 (it) |
DE (1) | DE19847677C2 (it) |
FR (1) | FR2772157A1 (it) |
GB (1) | GB2330932B (it) |
IE (1) | IE980483A1 (it) |
IT (1) | IT1303132B1 (it) |
MY (1) | MY115760A (it) |
SG (1) | SG75856A1 (it) |
TW (1) | TW389859B (it) |
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 |
US7270193B2 (en) * | 2000-02-14 | 2007-09-18 | Kabushiki Kaisha Toshiba | Method and system for distributing programs using tamper resistant processor |
JP4892167B2 (ja) | 2000-07-18 | 2012-03-07 | シンプレックス メジャー センドリアン ベルハッド | ディジタル・データ保護構成 |
DE10126281A1 (de) * | 2001-05-29 | 2002-12-12 | Infineon Technologies Ag | Programmgesteuerte Einheit |
TWI231896B (en) | 2001-06-29 | 2005-05-01 | Secure Systems Ltd | 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 |
EP1851670B1 (en) * | 2005-02-11 | 2016-08-10 | Simplex Major SDN. BHD., | Software protection method |
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 | 富士ゼロックス株式会社 | 情報処理システムおよびプログラム |
US9262250B2 (en) * | 2011-12-12 | 2016-02-16 | Crashlytics, Inc. | System and method for data collection and analysis of information relating to mobile applications |
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 |
US9703680B1 (en) | 2011-12-12 | 2017-07-11 | Google Inc. | System and method for automatic software development kit configuration and distribution |
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 |
JP2016534479A (ja) | 2013-09-12 | 2016-11-04 | ヴァーセック・システムズ・インコーポレーテッドVirsec Systems,Inc. | マルウェアのランタイム中の自動検出 |
US10354074B2 (en) | 2014-06-24 | 2019-07-16 | Virsec Systems, Inc. | System and methods for automated detection of input and output validation and resource management vulnerability |
AU2017285429B2 (en) | 2016-06-16 | 2022-03-31 | Virsec Systems, Inc. | Systems and methods for remediating memory corruption in a computer application |
JP7076014B2 (ja) * | 2018-05-29 | 2022-05-26 | ライン プラス コーポレーション | プログラム保護のためのJavaデバッガ遮断方法およびシステム |
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 |
US5551033A (en) * | 1991-05-17 | 1996-08-27 | Zenith Data Systems Corporation | Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program |
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 CN CNB98120158XA patent/CN1185589C/zh not_active Expired - Lifetime
- 1998-10-13 FR FR9812775A patent/FR2772157A1/fr not_active Withdrawn
- 1998-10-15 DE DE19847677A patent/DE19847677C2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
BR9802354A (pt) | 1999-10-19 |
AU8089198A (en) | 1999-05-06 |
AU736077B2 (en) | 2001-07-26 |
FR2772157A1 (fr) | 1999-06-04 |
CN1185589C (zh) | 2005-01-19 |
IE980483A1 (en) | 1999-06-02 |
MY115760A (en) | 2003-08-30 |
KR19990036567A (ko) | 1999-05-25 |
GB2330932B (en) | 2002-06-26 |
JPH11175336A (ja) | 1999-07-02 |
DE19847677C2 (de) | 2003-08-14 |
IT1303132B1 (it) | 2000-10-30 |
US6237137B1 (en) | 2001-05-22 |
TW389859B (en) | 2000-05-11 |
CN1215870A (zh) | 1999-05-05 |
BR9802354B1 (pt) | 2009-12-01 |
SG75856A1 (en) | 2000-10-24 |
KR100394090B1 (ko) | 2003-12-31 |
DE19847677A1 (de) | 1999-05-06 |
GB2330932A (en) | 1999-05-05 |
GB9821547D0 (en) | 1998-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ITTO980865A1 (it) | Elaboratore con sistema per simulare la presenza dio un drive di dischetto. | |
Voas | Maintaining component-based systems | |
US7055140B2 (en) | Software breakpoints implementation via specially named function | |
Vasudevan et al. | Spike: engineering malware analysis tools using unobtrusive binary-instrumentation | |
US20210406137A1 (en) | Systems and methods for checking safety properties | |
Danner et al. | Safer Sloth: efficient, hardware-tailored memory protection | |
Kwon et al. | A2c: Self destructing exploit executions via input perturbation | |
Wang et al. | Automatic detection, validation, and repair of race conditions in interrupt-driven embedded software | |
US8407523B2 (en) | Method for protecting software programs | |
Tan et al. | Sherloc: Secure and holistic control-flow violation detection on embedded systems | |
Abrath et al. | Resilient self-debugging software protection | |
Yu et al. | An automated framework to support testing for process‐level race conditions | |
Dharsee et al. | A software solution for hardware vulnerabilities | |
Alder et al. | Pandora: Principled symbolic validation of Intel SGX enclave runtimes | |
Lehniger et al. | Combination of ROP Defense Mechanisms for Better Safety and Security in Embedded Systems | |
Bakulin et al. | Dynamic Diluted Taint Analysis for Evaluating Detected Policy Violations | |
JP2007140620A (ja) | マイクロコンピュータ及びそのマイクロコンピュータに接続されるデバッグ装置 | |
Reynaud-Plantey | The Java mobile risk | |
Brown | Control-flow Integrity for Real-time Embedded Systems | |
Svoboda | Beyond errno: Error Handling in" C". | |
Heřmánek | Útok Stack Clash | |
Abrath et al. | esilient Sel Debu in So t are rote tion | |
Zhao et al. | For Research Only | |
CA2668547C (en) | Protecting software programs | |
Goodman | Clearer, More Comprehensive Error Processing with Win32 (R) Structured Exception Handling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
0001 | Granted |