Browse > Article
http://dx.doi.org/10.13089/JKIISC.2008.18.2.85

A Code Block Cipher Method to Protect Application Programs From Reverse Engineering  

Jung, Dong-Woo (Chungnam National University)
Kim, Hyong-Shik (Chungnam National University)
Park, Joong-Gil (The Attached Institute of ETRI)
Abstract
One of the typical methods to prevent tampering and reverse engineering on executable codes is to encrypt them. This paper proposes a code block cipher method based on key chaining to encrypt the code. The block cipher by key chaining has been known to be inadequate for encrypting the code with control transfer, even though the key chaining has advantage of hiding the keys in blocks and making the individual keys different from block to block. This paper proposes a block transformation and duplication method to apply the block cipher by key chaining to the executable codes with control transfer instructions, and shows the idea works with the MIPS instruction set.
Keywords
code block cipher method; key chaining; application program protection; reverse engineering;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Ping Wang, Seok-kyu Kang, Kwangjo Kim, "Tamper Resistant Software Through Dynamic Integrity Checking", Proc. 2005 Symposium on Cryptography and Information Security, 2005
2 Cullen Linn, Saumya Debray, "Obfuscation of Executable Code to Improve Resistance to Static Disassembly", Proc. 10th ACM Conference on Computer and Communications Security, pp. 290-299, October 2003
3 Sonali Gupta, "Code Obfuscation Part 2: Obfuscating Data Structures", http://palisade.plynt.com, September 2005
4 Hoi Chang, Mikhail J. Atallah, "Protecting Software Codes By Guards", CERIAS Technical Report 2001-49, 2001
5 Tao Zhang, Santosh Pande, Antonio Valverde, "Tamper-Resistant Whole Program Partitioning", Proc. Conference on Languages, Compilers, and Tools for Embedded Systems, June 2003
6 Sonali Gupta, "Code Obfuscation Part 3: Hiding Control Flows", http://pali sade.plynt.com, October 2005
7 Trusted Computing Group, "Trusted Platform Module (TPM) Specifications", https://www.trustedcomputing grop.org/specs/TPM/,2007
8 Sonali Gupta, "Code Obfuscation", http://palisade.plynt.com, August 2005
9 Christian S. Collberg, Clark Thomborson, "Watermarking, Tamper-Proofing, and Obfuscation Tools for Software Protection", IEEE Transactions on Software Engineering, pp.735-746, August 2002
10 Gleb Naumovich, Nasir Memon, "Preventing Piracy, Reverse Engineering, and Tampering", Computer, pp.64-71, July 2003