DE60236119D1 - Verfahren zur Verschleierung von Computerbefehlsketten - Google Patents

Verfahren zur Verschleierung von Computerbefehlsketten

Info

Publication number
DE60236119D1
DE60236119D1 DE60236119T DE60236119T DE60236119D1 DE 60236119 D1 DE60236119 D1 DE 60236119D1 DE 60236119 T DE60236119 T DE 60236119T DE 60236119 T DE60236119 T DE 60236119T DE 60236119 D1 DE60236119 D1 DE 60236119D1
Authority
DE
Germany
Prior art keywords
disguising
computer command
command chains
chains
computer
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
Application number
DE60236119T
Other languages
English (en)
Inventor
Raymond R Kiddy
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Application granted granted Critical
Publication of DE60236119D1 publication Critical patent/DE60236119D1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
DE60236119T 2001-07-25 2002-07-24 Verfahren zur Verschleierung von Computerbefehlsketten Expired - Lifetime DE60236119D1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/915,827 US6694435B2 (en) 2001-07-25 2001-07-25 Method of obfuscating computer instruction streams

Publications (1)

Publication Number Publication Date
DE60236119D1 true DE60236119D1 (de) 2010-06-02

Family

ID=25436311

Family Applications (2)

Application Number Title Priority Date Filing Date
DE60236119T Expired - Lifetime DE60236119D1 (de) 2001-07-25 2002-07-24 Verfahren zur Verschleierung von Computerbefehlsketten
DE60230419T Expired - Lifetime DE60230419D1 (de) 2001-07-25 2002-07-24 Methode zum verschleiern von computer-befehlssequenzen

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE60230419T Expired - Lifetime DE60230419D1 (de) 2001-07-25 2002-07-24 Methode zum verschleiern von computer-befehlssequenzen

Country Status (5)

Country Link
US (2) US6694435B2 (de)
EP (2) EP1975784B1 (de)
DE (2) DE60236119D1 (de)
HK (2) HK1122631A1 (de)
WO (1) WO2003010660A1 (de)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694435B2 (en) * 2001-07-25 2004-02-17 Apple Computer, Inc. Method of obfuscating computer instruction streams
US7607171B1 (en) 2002-01-17 2009-10-20 Avinti, Inc. Virus detection by executing e-mail code in a virtual machine
US9652613B1 (en) 2002-01-17 2017-05-16 Trustwave Holdings, Inc. Virus detection by executing electronic message code in a virtual machine
CA2369304A1 (en) * 2002-01-30 2003-07-30 Cloakware Corporation A protocol to hide cryptographic private keys
US7584354B2 (en) * 2003-01-31 2009-09-01 Intel Corporation Implementing portable content protection to secure secrets
GB0312874D0 (en) * 2003-06-05 2003-07-09 Zoo Digital Group Plc Controlling access to an audiovisual product
US20110081130A1 (en) * 2003-06-20 2011-04-07 ZOO Digital Limited, a Limited Company Obscuring data in an audiovisual product
US20090120653A1 (en) * 2003-07-31 2009-05-14 Michael Steven Thomas Fire suppression delivery system
US7340734B1 (en) * 2003-08-27 2008-03-04 Nvidia Corporation Method and apparatus to make code more difficult to reverse engineer
US7424620B2 (en) * 2003-09-25 2008-09-09 Sun Microsystems, Inc. Interleaved data and instruction streams for application program obfuscation
US8220058B2 (en) * 2003-09-25 2012-07-10 Oracle America, Inc. Rendering and encryption engine for application program obfuscation
US20050069138A1 (en) * 2003-09-25 2005-03-31 Sun Microsystems, Inc., A Delaware Corporation Application program obfuscation
US7353499B2 (en) * 2003-09-25 2008-04-01 Sun Microsystems, Inc. Multiple instruction dispatch tables for application program obfuscation
US7415618B2 (en) * 2003-09-25 2008-08-19 Sun Microsystems, Inc. Permutation of opcode values for application program obfuscation
US7363620B2 (en) * 2003-09-25 2008-04-22 Sun Microsystems, Inc. Non-linear execution of application program instructions for application program obfuscation
US7401328B2 (en) * 2003-12-18 2008-07-15 Lsi Corporation Software-implemented grouping techniques for use in a superscalar data processing system
US7426749B2 (en) 2004-01-20 2008-09-16 International Business Machines Corporation Distributed computation in untrusted computing environments using distractive computational units
US7661096B2 (en) * 2004-02-13 2010-02-09 Microsoft Corporation Interaction with nested and non-nested streams
JP4514473B2 (ja) * 2004-02-23 2010-07-28 富士通株式会社 コンピュータシステム、中央装置及びプログラム実行方法
US8694802B2 (en) * 2004-04-30 2014-04-08 Apple Inc. System and method for creating tamper-resistant code
US7689969B1 (en) * 2005-01-18 2010-03-30 The Mathworks, Inc. Obfuscation of automatically generated code
US20080216071A1 (en) * 2005-04-07 2008-09-04 Koninklijke Philips Electronics, N.V. Software Protection
US20060259903A1 (en) * 2005-05-12 2006-11-16 Xerox Corporation Method for creating unique identification for copies of executable code and management thereof
US20060259900A1 (en) * 2005-05-12 2006-11-16 Xerox Corporation Method for creating unique identification for copies of executable code and management thereof
US8719716B2 (en) 2005-09-15 2014-05-06 The Mathworks, Inc. Locked element for use in a graphical modeling environment
US20070288738A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for selecting a random processor to boot on a multiprocessor system
US20070288761A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors
US7594104B2 (en) * 2006-06-09 2009-09-22 International Business Machines Corporation System and method for masking a hardware boot sequence
US20070288740A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for secure boot across a plurality of processors
US7774616B2 (en) * 2006-06-09 2010-08-10 International Business Machines Corporation Masking a boot sequence by providing a dummy processor
EP2107489A3 (de) * 2006-12-21 2009-11-04 Telefonaktiebolaget L M Ericsson (PUBL) Verschleierung von Computerprogrammcodes
US8286138B2 (en) * 2007-01-30 2012-10-09 Microsoft Corporation Multi-threaded detection of a game software debugger
US7664937B2 (en) * 2007-03-01 2010-02-16 Microsoft Corporation Self-checking code for tamper-resistance based on code overlapping
US8181039B2 (en) * 2007-04-13 2012-05-15 Microsoft Corporation Disc drive counterfeiting countermeasure
US8402529B1 (en) 2007-05-30 2013-03-19 M86 Security, Inc. Preventing propagation of malicious software during execution in a virtual machine
US20090106540A1 (en) * 2007-10-18 2009-04-23 Infineon Technologies Ag Apparatus and method for remanipulating instructions
US7818552B2 (en) * 2007-12-20 2010-10-19 The United States Of America As Represented By The Secretary Of The Army Operation, compare, branch VLIW processor
US7520951B1 (en) 2008-04-17 2009-04-21 International Business Machines (Ibm) Corporation Method of transferring nanoparticles to a surface
JP4905480B2 (ja) * 2009-02-20 2012-03-28 富士ゼロックス株式会社 プログラム難読化プログラム及びプログラム難読化装置
US9003377B2 (en) * 2010-01-07 2015-04-07 Microsoft Technology Licensing, Llc Efficient resumption of co-routines on a linear stack
US10156954B2 (en) * 2010-01-29 2018-12-18 Oracle International Corporation Collapsible search results
US9135434B2 (en) * 2010-04-19 2015-09-15 Appcentral, Inc. System and method for third party creation of applications for mobile appliances
US8918768B2 (en) * 2012-12-06 2014-12-23 Apple Inc. Methods and apparatus for correlation protected processing of data operations
EP2876593B1 (de) * 2013-11-21 2018-09-26 Nxp B.V. Verfahren zur Erzeugung einer Struktur und entsprechende Struktur
GB201400992D0 (en) * 2014-01-21 2014-03-05 Metaforic Ltd Method of protecting dynamic cryptographic keys
US20150378756A1 (en) * 2014-06-25 2015-12-31 SmartBear Software, Inc. Systems and methods for mobile application tracing instrumentation
US9760736B2 (en) * 2015-09-29 2017-09-12 International Business Machines Corporation CPU obfuscation for cloud applications
GB2571545B (en) 2018-02-28 2020-04-15 Wippit Ltd Method for controlling reproduction of an item

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2713845B1 (fr) * 1993-12-07 1996-01-19 Thomson Consumer Electronics Procédé d'entrelacement et de désentrelacement en bloc et dispositif de mise en Óoeuvre.
US5485620A (en) * 1994-02-25 1996-01-16 Automation System And Products, Inc. Integrated control system for industrial automation applications
US5892899A (en) 1996-06-13 1999-04-06 Intel Corporation Tamper resistant methods and apparatus
US6059840A (en) 1997-03-17 2000-05-09 Motorola, Inc. Automatic scheduling of instructions to reduce code size
US6668325B1 (en) 1997-06-09 2003-12-23 Intertrust Technologies Obfuscation techniques for enhancing software security
US5903761A (en) 1997-10-31 1999-05-11 Preemptive Solutions, Inc. Method of reducing the number of instructions in a program code sequence
US6102966A (en) 1998-03-20 2000-08-15 Preemptive Solutions, Inc. Method for renaming identifiers of a computer program
US6427234B1 (en) * 1998-06-11 2002-07-30 University Of Washington System and method for performing selective dynamic compilation using run-time information
US20020069402A1 (en) * 2000-10-05 2002-06-06 Nevill Edward Colles Scheduling control within a system having mixed hardware and software based instruction execution
US7152223B1 (en) * 2001-06-04 2006-12-19 Microsoft Corporation Methods and systems for compiling and interpreting one or more associations between declarations and implementations in a language neutral fashion
US6694435B2 (en) * 2001-07-25 2004-02-17 Apple Computer, Inc. Method of obfuscating computer instruction streams

Also Published As

Publication number Publication date
EP1975784B1 (de) 2010-04-21
US7322045B2 (en) 2008-01-22
EP1410182B1 (de) 2008-12-17
US6694435B2 (en) 2004-02-17
US20040151306A1 (en) 2004-08-05
HK1063667A1 (en) 2005-01-07
US20030023859A1 (en) 2003-01-30
HK1122631A1 (en) 2009-05-22
EP1410182A1 (de) 2004-04-21
EP1975784A1 (de) 2008-10-01
WO2003010660A1 (en) 2003-02-06
DE60230419D1 (de) 2009-01-29

Similar Documents

Publication Publication Date Title
DE60236119D1 (de) Verfahren zur Verschleierung von Computerbefehlsketten
DE60204761D1 (de) Verfahren zur epoxidierung von olefinen
ATA8612001A (de) Verfahren zum testen von software
DE50003227D1 (de) Verfahren zur verarbeitung von datenstrukturen
DE60127695D1 (de) Verfahren zur komprimierung von datenpaketen
DE60226674D1 (de) Verfahren und Vorrichtung zur Ausrüstung von Bohrlöchern
ATE298630T1 (de) Verfahren zur aktivierung von cobaltkatalysatoren
DE60234425D1 (de) Verfahren zur optimaliserung von verkerhrsinformationsinhalt
ATA1112001A (de) Verfahren zur tragekontrolle von regulierungen
DE50213891D1 (de) Verfahren zur ver- und entschlüsselung von kommunikationsdaten
DE50210071D1 (de) Verfahren zur automatischen ergänzung von software
DE60125906D1 (de) Verfahren zur Verbesserung von Leistung
DE50303241D1 (de) Verfahren zur bereitstellung von abwesenheitsinformation
DE60227674D1 (de) Verfahren zur epoxidierung von olefinen
ATE357540T1 (de) Verfahren zur bakterienunterstützten haldenauslaugung von chalkopyrit
DE50301044D1 (de) Verfahren zur auswahl von transpondern
DE60203514D1 (de) Verfahren zur zuteilung von stockwerkanrufen
DE60210911D1 (de) Verfahren zur Herstellung von dehnungserfassenden Vorrichtungen
DE60301283D1 (de) Verfahren zur Bestimmung von Biopolymeren
DE60204673D1 (de) Verfahren zur epoxidierung von olefinen
ATE301626T1 (de) Verfahren zur disproportionierung von isopentan
DE60208415D1 (de) Verfahren zur optimierung von testdaten
DE50203911D1 (de) Verfahren zum aktivieren von sicherheitseinrichtungen
DE50201799D1 (de) Verfahren zur gewinnung von n-phosphonomethylglycin
DE50001116D1 (de) Verfahren zur justage von parabolantennen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition