| 研究生: |
蔡明修 Tsai, Ming-Hsiu |
|---|---|
| 論文名稱: |
使用反反編譯混淆法設計與實作Java 抗加入式浮水印產生器 Design and Implementation of a Java additive-proofing watermarker using the anti-decompiling obfuscating method |
| 指導教授: |
侯廷偉
Hou, Ting-Wei |
| 學位類別: |
碩士 Master |
| 系所名稱: |
工學院 - 工程科學系 Department of Engineering Science |
| 論文出版年: | 2003 |
| 畢業學年度: | 91 |
| 語文別: | 中文 |
| 論文頁數: | 83 |
| 中文關鍵詞: | 混淆 、浮水印 、反編譯 、爪哇 |
| 外文關鍵詞: | watermark, obfuscate, Java, decompile |
| 相關次數: | 點閱:112 下載:1 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本論文提出整合混淆技術和浮水印技術,來保護Java軟體版權的研究。使用反反編譯混淆器使Java程式免於被反編譯的威脅,且經由混淆程式後,攻擊者不易察覺程式是否有嵌入浮水印,或不易發現浮水印資料位置。且根據已混淆過的程式碼的特性,設計出使浮水印本身具有時戳的效果,當程式被嵌入多個浮水印時,可辨識浮水印產生的先後次序,以達到防止加入攻擊法的保護。
This paper presents an approach to protect Java software copyright by integrating obfuscation techniques and watermark techniques. An anti-decompiling obfuscator is developed to protect a Java program from the threat of decompiling. After obfuscating the program, the thieves have difficulties to be aware of whether the program had been embedded a watermark or not, or hard to find the location of the watermark data. According to the characteristic of the obfuscated program code, the watermark itself contains a time stamp. If the program should be embedded a number of watermarks, we can distinguish the order of the time when these watermarks were generated, which then achieves the protection from the additive attack.
[LOW98a] Douglas Low, “Protection Java Via Code Obfuscation”, ACM Crossroads Student Magazine, April 1998, http://www.acm.org/crossroads/xrds4-3/codeob.html
[LOW98b] Douglas Low, “Java Control Flow Obfuscation”, Master’s Thesis, Department of Computer Science, University of Auckland, New Zealand, June 1998
[LuZh99] Chenghui Luo, Jian Zhao, “Obfuscating and Watermarking Java Software for Copyright protection”, In the INI GraphicsNet research publications, Computer Graphik topics Issue 4, vol 11, 1999, pp. 31-32
[Jobf] Jobfusator: Java Class File Obfuscator, http://www.duckware.com/jobfuscate/index.html
[MeDo97] Meyer, Downing, “Java Virtual Machine”, O’REILLY, 1997
[MiGa00] Jerome Miecznikowski, Etienne Gagnon, “Decompiling Java class files with soot(poster session)”, In proceedings of the conference on Object-oriented programming, systems, languages, and applications, Minneapolis, Minnesota, United States, 2000, pp. 111-112
[MiHe01] Miecznikowski, J. Hendren, L. “Decompiling Java Using Staged Encapsulation”, In Reverse Engineering, 2001. Proceedings. Eighth Working Conference, Oct. 2001, pp. 368-374
[MoIi00] Monden, A.; Iida, H.; Matsumoto, K.; Inoue, K.; Torii, K. “A practical method for watermarking Java programs ”, In Computer Software and Applications Conference, 2000. COMPSAC 2000. The 24th Annual International, Oct. 2000, pp. 191-197
[PaKr00] Palsberg, J. Krishnaswamy, S. Minseok Kwon Ma, D. Qiuyun Shao Zhang, “Experience with software watermarking”, Computer Security Applications, 2000. ACSAC '00. 16th Annual Conference, Dec. 2000, pp. 308-316
[RAI00] Raja Vallee-Rai, “Soot: A Java Bytecode Optimization Framework”, Master’s Thesis, School of Computer Science, McGill University, Montreal, 2000
[RAMA84] M. V. S. Ramanath, Marvin Solomon, “Jump Minimization in Linear Time”, ACM Transactions on Programming Languages and Systems, Volume 6, Issue 4, October 1984, pp. 527-545
[PKT73] W. W. Peterson, T. Kasami, N. Tokura, “On the capabilities of while, repeat, and exit statements”, Communications of the ACM, Volume 16, Issue 8, August 1973, pp. 503-512
[PRWA97] Todd A. Proebsting, Scott A. Watterson, “Krakatoa: Decompliation in Java(Does Bytecode Reveal Source?)”, In Proceedings of the Third USENIX Conference on Object-Oriented Technologies and Systems Portland, Oregon, June 1997
[PTBHNW97] Todd A Proebsting, Greg Townsend, Patrick Bridges, John H Hartman, Tim Newsham, Scott A Watterson, “Toba: Java for applications, A Way Ahead of Time (WAT) Compiler”, In Third USENIX Conference on Object Oriented Technologies and Systems, June, 1997
[SABL] Sable Research Group, Compiler and Concurrency Lab, School of Computer Science, McGill University, http://www.sable.mcgill.ca
[SHKQ00] Julien P. Stern, Gaël Hachez, François Koeune, Jean-Jacques Quisquater, “Robust Object Watermarking: Application to Code”, In Proceedings of the Third International Workshop on Information Hiding, London, UK, UK, 2000, pp. 368-378
[SPEC] Standard Performance Evaluation Corporation, http://www.spec.org
[Vlie96a] Hanpeter van Vliet, Mocha: the Java decompiler, 1996, http://www.brouhaha.com/~eric/computers/mocha.html
[Vlie96b] Hanpeter van Vliet, Crema: the Java obfuscator, 1996, http://www.brouhaha.com/~eric/computers/mocha.html
[Zeli] Java Obfuscator: Zelix Klass Master, http://www.zelix.com
[吳朝相99] 吳朝相, “一切從’殼’開始”, Feb 23, 1999, http://wongtaisin.uhome.net/unpack/lesson102.htm
[陳孟彰02] 陳孟彰, “數位影像版權保護之研究”, 國立成功大學資訊工程學系碩士班碩士論文, 2002
[德錡03] 德錡實業有限公司, “外殼加密”, 2003, http://www.mtitw.com/dis2.htm
[賴韓張95] 賴溪松, 韓亮, 張真誠, “近代密碼學及其應用”, 松崗, 1995