Frydenberg.Pdf

Total Page:16

File Type:pdf, Size:1020Kb

Frydenberg.Pdf UNIVERSITY OF OSLO Department of informatics Analysis of Obfuscated CIL code Master Thesis 60 credits Linn Marie Frydenberg 1st August 2006 - 1 - Preface This master thesis is the result of one year’s work in order to fulfill the requirements for the Master degree at University of Oslo, Faculty of Informatics. Acknowledgments First of all, I would like to thank my supervisors, Torgeir Broen at Norwegian Defence Research Establishment (FFI) and Birger Møller-Pedersen at Faculty of Informatics, University of Oslo, for their excellent guidance, various thoughts and good comments during my thesis work. I also want to thank Norwegian Defence Research Establishment (FFI) for making laboratory space available. Last but not least, I would like to thank my boyfriend Alex for his love and support, and also my family and friends for their support and encouragement during my work. Oslo, August 2007 Linn Marie Frydenberg - 2 - - 3 - Abstract This thesis focuses on a technique known as obfuscation. The area has been given much attention in recent years as a low cost technique for software protection. There are already numerous papers concerned with techniques for both obfuscation and deobfuscation, but there are still many untouched issues, and little have been done in practice. The use of obfuscators in practice is one of the issues explored in this thesis, on the .NET platform. Most of today’s obfuscation research is designed and tested on the Java platform. It is therefore interesting to see which techniques that are implemented in the .NET obfuscators. The used .NET language in this thesis is C#. Obfuscation is especially used on high level languages to increase the resilient towards reverse engineering. Reverse engineering is a big problem for software written in Java or .NET languages, because of their bytecode nature. Another issue in this thesis is therefore to look at the techniques used by the obfuscators and investigate if there are techniques which are vulnerable to reverse engineering. A classification of the different obfuscation techniques is therefore given to sort out which techniques that can be viewed as reversible and which are one-way. One thing that is lacking in numerous papers about obfuscation is the actual process of reversing obfuscation techniques. Many papers propose techniques that can be used in reverse engineering, but none show the actual methods. This thesis will therefore try to reverse engineer the obfuscation techniques that are defined as reversible. - 4 - - 5 - Contents ABSTRACT ..............................................................................................................................................- 4 - LIST OF FIGURES..................................................................................................................................- 8 - LIST OF TABLES..................................................................................................................................- 10 - 1 INTRODUCTION.........................................................................................................................- 11 - 1.1 SCOPE OF THIS THESIS ................................................................................................................. - 12 - 1.2 PROBLEM STATEMENT ................................................................................................................ - 12 - 1.3 RESEARCH METHODS .................................................................................................................. - 13 - 1.4 OUTLINE OF THIS THESIS ............................................................................................................. - 13 - 2 BACKGROUND ...........................................................................................................................- 14 - 2.1 CIL CODE.................................................................................................................................... - 14 - 2.2 OBFUSCATION TECHNIQUES ........................................................................................................ - 17 - 2.2.1 Renaming symbols ............................................................................................................- 17 - 2.2.2 Control flow obfuscation ..................................................................................................- 17 - 2.2.3 Breaking Decompilation...................................................................................................- 24 - 2.2.4 Other obfuscation techniques ...........................................................................................- 25 - 2.3 CLASSIFICATION OF THE OBFUSCATION TECHNIQUES ................................................................. - 25 - 2.3.1 One-way obfuscation techniques ......................................................................................- 26 - 2.3.2 Reversible obfuscation techniques....................................................................................- 26 - 2.4 KNOWN METHODS FOR REVERSE ENGINEERING OBFUSCATED CODE......................................... - 26 - 3 SIMULATION ENVIRONMENT...............................................................................................- 28 - 3.1 METHODS.................................................................................................................................... - 28 - 3.2 CODE EXAMPLES......................................................................................................................... - 29 - 3.2.1 Code example 1 ................................................................................................................- 29 - 3.2.2 Code example 2 ................................................................................................................- 29 - 3.2.3 Code example 3 ................................................................................................................- 30 - 3.2.4 Code example 4 ................................................................................................................- 30 - 3.3 OBFUSCATORS ............................................................................................................................ - 30 - 3.3.1 Salamander .NET Obfuscator by Remotesoft ...................................................................- 31 - 3.3.2 Spices .NET Obfuscator by 9Rays.NET ............................................................................- 33 - 3.3.3 DotFuscator by PreEmptive Solutions..............................................................................- 35 - 3.4 OTHER TOOLS USED .................................................................................................................... - 37 - 3.4.1 Microsoft Visual Studio 2005 ...........................................................................................- 37 - 3.4.2 MSIL Disassembler - ILDASM .........................................................................................- 37 - 3.4.3 Lutz Roeder’s .NET Reflector...........................................................................................- 37 - 3.4.4 ILASM...............................................................................................................................- 37 - 3.4.5 Diff method from Linux.....................................................................................................- 38 - 4 SIMULATION RESULTS ...........................................................................................................- 39 - 4.1 SALAMANDER .NET OBFUSCATOR ............................................................................................. - 39 - 4.1.1 CIL code of example 1 ......................................................................................................- 39 - 4.1.2 CIL code of example 2 ......................................................................................................- 42 - 4.1.3 CIL code of example 3 ......................................................................................................- 43 - 4.1.4 CIL code of example 4 ......................................................................................................- 45 - 4.2 SPICES .NET OBFUSCATOR......................................................................................................... - 47 - 4.2.1 CIL code of example 1 ......................................................................................................- 47 - 4.2.2 CIL code of example 2 ......................................................................................................- 50 - 4.2.3 CIL code of example 3 ......................................................................................................- 50 - 4.2.4 CIL code of example 4 ......................................................................................................- 52 - - 6 - 4.3 DOTFUSCATOR ........................................................................................................................... - 53 - 4.3.1 CIL code of example 1 ......................................................................................................- 53 - 4.3.2 CIL code of example 2 ......................................................................................................- 58 - 4.3.3 CIL code of example 3 ......................................................................................................- 59 - 4.3.4 CIL code of example 4 ......................................................................................................-
Recommended publications
  • A Programmer's Guide to C
    Download from Wow! eBook <www.wowebook.com> For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. Contents at a Glance Preface ����������������������������������������������������������������������������������������������������������������������� xxv About the Author ����������������������������������������������������������������������������������������������������� xxvii About the Technical Reviewer ����������������������������������������������������������������������������������� xxix Acknowledgments ����������������������������������������������������������������������������������������������������� xxxi Introduction ������������������������������������������������������������������������������������������������������������� xxxiii ■■Chapter 1: C# and the .NET Runtime and Libraries �����������������������������������������������������1 ■■Chapter 2: C# QuickStart and Developing in C# ����������������������������������������������������������3 ■■Chapter 3: Classes 101 ����������������������������������������������������������������������������������������������11 ■■Chapter 4: Base Classes and Inheritance ������������������������������������������������������������������19 ■■Chapter 5: Exception Handling ����������������������������������������������������������������������������������33 ■■Chapter 6: Member Accessibility and Overloading ���������������������������������������������������47 ■■Chapter 7: Other Class Details �����������������������������������������������������������������������������������57
    [Show full text]
  • Code Review Guide
    CODE REVIEW GUIDE 3.0 RELEASE Project leaders: Mr. John Doe and Jane Doe Creative Commons (CC) Attribution Free Version at: https://www.owasp.org 1 2 F I 1 Forward - Eoin Keary Introduction How to use the Code Review Guide 7 8 10 2 Secure Code Review 11 Framework Specific Configuration: Jetty 16 2.1 Why does code have vulnerabilities? 12 Framework Specific Configuration: JBoss AS 17 2.2 What is secure code review? 13 Framework Specific Configuration: Oracle WebLogic 18 2.3 What is the difference between code review and secure code review? 13 Programmatic Configuration: JEE 18 2.4 Determining the scale of a secure source code review? 14 Microsoft IIS 20 2.5 We can’t hack ourselves secure 15 Framework Specific Configuration: Microsoft IIS 40 2.6 Coupling source code review and penetration testing 19 Programmatic Configuration: Microsoft IIS 43 2.7 Implicit advantages of code review to development practices 20 2.8 Technical aspects of secure code review 21 2.9 Code reviews and regulatory compliance 22 5 A1 3 Injection 51 Injection 52 Blind SQL Injection 53 Methodology 25 Parameterized SQL Queries 53 3.1 Factors to Consider when Developing a Code Review Process 25 Safe String Concatenation? 53 3.2 Integrating Code Reviews in the S-SDLC 26 Using Flexible Parameterized Statements 54 3.3 When to Code Review 27 PHP SQL Injection 55 3.4 Security Code Review for Agile and Waterfall Development 28 JAVA SQL Injection 56 3.5 A Risk Based Approach to Code Review 29 .NET Sql Injection 56 3.6 Code Review Preparation 31 Parameter collections 57 3.7 Code Review Discovery and Gathering the Information 32 3.8 Static Code Analysis 35 3.9 Application Threat Modeling 39 4.3.2.
    [Show full text]
  • VSM Cover Snipe
    0808vsm_RdrsChoice_C2_final 8/14/08 11:55 AM Page 1 SPECIAL SECTION: 2008 BUYERS GUIDE 2008 Buyers Guide Readers Choice Awards 4 Product Listings 6 Third-Party Tools Put the “Rapid” in RAD 2 Project3 7/10/08 1:32 PM Page 1 Project3 7/10/08 1:33 PM Page 2 0808vsm_BGEdNote_2.final 7/24/08 2:05 PM Page 2 Editor’s Note THIRD-PARTY TOOLS BY PATRICK MEADER PUT THE “RAPID” IN RAD editor in chief Welcome to the Visual Studio Magazine 2008 Buyers Guide supplement! Every year, the editors of Visual Studio Magazine survey include anything that covers DVD- or online-based training. the third-party market of tools and services for Visual Studio We think K-Source is intriguing for several reasons, not least and compile a list of relevant products in areas that are of the because it brings the notion of suites of controls that have most interest to Visual Studio developers. This year we com- proven so popular in the VS market to the area of training. K- piled a list of more than 400 products and services across 22 cat- Source gives you the ability to package together a wide range egories (these begin on p.6).Note that you won’t see any prod- of online training subjects for your entire development team ucts from Microsoft listed in the categories; this is a survey of (see VSM’s review of K-Source on p.12 of the August issue). third-party solution providers, which by definition excludes The listings in the print version of this supplement provide Microsoft’s offerings.When compiling the list,we allow a prod- the product name,company,and a Web site for each of the prod- uct to be listed in only one category.In cases where a product fits ucts within a given category.You can find a more detailed version more than one category (and this is frequently the case), we of these listings at VisualStudioMagazine.com (Locator+ attempt to choose the closest category fit for that product.
    [Show full text]
  • < Day Day up > Visual Studio Hacks by James Avery
    < Day Day Up > Visual Studio Hacks By James Avery ............................................... Publisher: O'Reilly Pub Date: March 2005 ISBN: 0-596-00847-3 Pages: 500 Table of Contents | Index | Examples | Errata This hands-on guide is designed for developers who want to go far beyond the obvious features of Visual Studio--the most powerful, feature-rich Integrated Development Environment (IDE) on the market today. It takes the reader on a detailed tour through code editor hacks, all manners of customization, even external tools such as PowerToys. Full of valuable tips, tools, and tricks. < Day Day Up > < Day Day Up > Visual Studio Hacks By James Avery ............................................... Publisher: O'Reilly Pub Date: March 2005 ISBN: 0-596-00847-3 Pages: 500 Table of Contents | Index | Examples | Errata Copyright credits Credits About the Author Contributors Acknowledgments Preface Preface Why Visual Studio Hacks? How to Use This Book An Important Note About Keyboard Shortcuts How This Book Is Organized Conventions Using Code Examples Safari Enabled How to Contact Us Got a Hack? Chapter 1. Master Projects and Solutions Section 1.1. Hacks 1-5 Hack 1. Manage Projects and Solutions Hack 2. Master Assembly and Project References Hack 3. Organize Projects and Solutions Hack 4. Hack the Project and Solution Files Hack 5. Remove SourceSafe Bindings Chapter 2. Master the Editor Section 2.1. Hacks 6-15 Hack 6. Master the Clipboard Hack 7. Make Pasting into Visual Studio Easier Hack 8. Master IntelliSense Hack 9. Master Regions Hack 10. Add Guidelines to the Text Editor Hack 11. Select the Best Editor Hack 12. Customize Syntax Coloring Hack 13.
    [Show full text]
  • Glenn County Business Associate Agreement
    GLENN COUNTY Information Services Committee 516 West Sycamore Street Willows, California 95988 Telephone (530) 934-6476 FAX (530) 934-6421 June 19, 2017 TO: Prospective Contractors FROM: Glenn County Information Services Coordinating Committee SUBJECT: Request for Proposal for Technical Consulting Services The County of Glenn is requesting proposals from highly qualified consultants with demonstrated expertise in providing technical support services which may include information technology planning, coordination and implementation and information technology infrastructure services. 1.0 Introduction: Summary of the intended procurement 1.1. The County of Glenn has maintained a Support Service Contract with a local vendor since 2003. The contract is scheduled to expire in August of 2017. The County of Glenn seeks a highly qualified consultant that can 1) provide scheduled and emergency on-site and remote technical consulting, 2) Information Technology (“IT”). analysis, planning and program coordination, and 3) other duties as assigned by the Glenn County Information Services (“IS”) Committee. 1.2 The County of Glenn intends to award a contract for the proposed consulting services, as further described in Section 2 of this RFP, that are expected to be performed for a three year term which shall be from September 1, 2017 through August 31, 2020; annual renegotiation of the contract will be at the discretion of the County and shall be based on changes to County staffing levels, network size/needs and/or funding levels. 1.3 This RFP has very specific vendor qualification requirements. Proposals will only be accepted from firms that meet those requirements. See Section 3, Qualifications, for more information.
    [Show full text]
  • Obfuscation Tools for .NET.Pdf
    Obfuscation Tools for .NET 12/22/07 10:59 PM Home Guides Forums Advertise Schedule Accolades About Contact Us Search Saturday, December 22, 2007 ..:: Guides » Obfuscation Tools for .NET ::.. Register Login Read How-To-Select Guide in HTML Format Sponsors August 1st 2005 - 1st Edition .NET Developer Series How-To-Select an Obfuscation Tool for .NET™ Covers Obfuscation tools for use in obfuscating .NET application .EXE files and .DLL components By Mike Gunderloy Categories discussed in this Guide: Obfuscators Compilers Linkers Encrypting Launchers http://www.howtoselectguides.com/dotnet/obfuscators/ Table of Contents Introduction Understanding Obfuscation Functionality by Category Related Categories Decision Points Features Vendors/Authors Profiled in this Guide Products Profiled in this Guide General Criteria Feature Tables Products Not Profiled in this Guide Glossary About the Guides http://www.howtoselectguides.com/dotnet/obfuscators/ Page 1 of 15 Obfuscation Tools for .NET 12/22/07 10:59 PM Executive Editor - .NET Developer Series Mike Gunderloy | http://www.larkware.com Author Mike Gunderloy | http://www.larkware.com Copy Editor Melanie Spiller | http://www.melaniespiller.com Design & Layout Palo Creative | http://www.palocreative.com Publisher Xtras, Inc. | http://www.xtras.com Xtras, Inc., Copyright © 2005. Published twice monthly. All rights reserved by Xtras, Inc. No part of this publication may be reproduced without written permission from the Publisher. How-To-Select Guides and How-To-Select Guides logo are trademarks of Xtras, Inc. How-To-Select Guides is a publication of Xtras, Inc. Printed version is printed in the USA. Xtras, Inc. would like to thank SourceGear (www.sourcegear.com/vault/) for graciously donating licenses to use Vault to the How-To-Select Guides.
    [Show full text]
  • The Visual Studio IDE and MEF
    CHAPTER 2 ■ ■ ■ The Visual Studio IDE and MEF This release of Visual Studio sees the IDE overhauled and much of it rewritten using WPF and managed code. The move to WPF allows Microsoft to make some stunning aesthetic additions to the IDE, and also opens up customization possibilities when combined with the new Managed Extensibility Framework (MEF). Microsoft’s use of WPF for a flagship product such as Visual Studio is important, as this demonstrates its commitment to the framework and confidence in its maturity. In this chapter I will begin by looking at some of the new productivity enhancements in VS2010. I will then create a code snippet and customize the start page. Finally I will introduce MEF and take a look at some of the advanced customizations that it enables. 64-BIT VERSION OF VISUAL STUDIO? A common question is whether Microsoft will release a 64-bit version of Visual Studio. At the time of writing, Microsoft has said it has no plans to do, for the following reasons: • Making use of lazy loading techniques would be a more cost-efficient way to improve the IDE’s performance, and would benefit 32-bit users as well. • A 64-bit version could adversely affect performance because data structures will use more memory. • There are cost issues. Rico Mariani (see the following link) suggests that the cheapest way to provide 64- bit support would be to incrementally convert the IDE to managed code, but this would break many existing extensions. For a detailed discussion of this issue, please refer to the following link: http://blogs.msdn.com/ricom/ archive/2009/06/10/visual-studio-why-is-there-no-64-bit-version.aspx.
    [Show full text]
  • Vb.Net Obfuscator Free
    Vb.net obfuscator free click here to download The project logo comes from Legendora Icon by Teekatas Suwannakrua. Maintained and supported by LeXtudio. Project Description Obfuscar is an open www.doorway.ru obfuscator released under MIT license. It provides basic obfuscation features that help secure secrets in www.doorway.ru assembly. Obfuscation Example. Confuser is a protector/obfuscator www.doorway.ru, providing great security www.doorway.ru Applications. Confuser is not being actively maintained. Please use the successor ConfuserEx instead! Features: Anti debugger; Anti memory dumping; Anti decompiler; Prevent any tampering of the assemblies; Encrypt codes. www.doorway.ru is a top-grade obfuscator www.doorway.ru platform, made by people who really care. It helps to www.doorway.ru code and your valuable assets.​Download · ​Features · ​Purchase · ​Support. I have also used the free PreEmptive solution and it works decently to www.doorway.ru assemblies but does have a few drawbacks. (note these drawbacks are limitations of the free version only). 1) No string encryption, so hard coded strings will still show up as plain text to someone sifting through the. Skater is www.doorway.ru freeware obfuscator www.doorway.ru code protector, obfuscator www.doorway.ru NET code protection. The Light Edition is the Free version of www.doorway.ru Obfuscator. You may use www.doorway.ru Obfuscator Light Edition, free of charge, to protect www.doorway.ru applications for both personal and commercial purposes. Skater. Free source code and tutorials for Software developers and Architects.; Updated: 16 Oct back the www.doorway.ru is not free one but they provide trial version so you can check it and compare with others.
    [Show full text]
  • Visual Studio 2008 Product Comparison Data Sheet Published: April 2008 (Version 1.08) for the Latest Information, Please See
    Visual Studio 2008 Product Comparison Data Sheet Published: April 2008 (Version 1.08) For the latest information, please see http://www.microsoft.com/vstudio Note: This product comparison is for illustrative purposes only. The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication. This Data Sheet is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2008 Microsoft Corporation. All rights reserved. Microsoft, ActiveX, Excel, InfoPath, IntelliSense, Internet Explorer, JScript, MSDN, Outlook, PowerPoint, SharePoint, SQL Server, Visio, Visual Basic, Visual C++, Visual C#, Visual Studio, Win32, and Windows Mobile are trademarks of the Microsoft group of companies All other trademarks are property of their respective owners.
    [Show full text]
  • Copyrighted Material
    INDEX $ (BuildVersion) property, 685 Add New Web Site dialog, 29 $() function, 412 ASP. NET Web Application options, 30 * (asterisk), in tab, 15 Add Reference context menu, 31 ? alias, for Debug.Print command, 629 $ADDRESS variable for tracepoint, 653 Add Scaffold dialog, 385 Add Service Reference dialog, 32 A Add Tab command, 41 Add View dialog, 389, 409 absolute placement ADO.NET Entity Framework, 571–596 for controls, 299 adding business logic to entities, 595 for HTML elements, 358 basics, 572–573 AccessDataSource control, in ASP.NET, 369 database update from entity model, 595 Accessibility property page, for ASP.NET Entity Framework Core, 596 Web Forms, 349 Entity Framework Designer, 577–582 accessibility of website, 365 getting started with, 573 Account Settings dialog, 10 Plain Old CLR Objects (POCO), 596 Action helper method, 394 Advanced Build Settings dialog, 680 action methods Advanced Compile Options dialog, 666 in ASP.NET MVC, 385–388 Advanced Compiler Settings dialog, comment on action trigger, 387 674–676 FormValues parameter type for, 401 Build events, 676–678 parameters, 400–403 Compilation constants, 676 Activate Historical Debugging link, 771 Optimizations, 675 Add Area dialog, 403 AdventureWorks2014 sample database, 573 Add Assertions dialog, 768 AdventureWorksDB sample database, 384 Add Connection dialoCOPYRIGHTEDg, 553 AfterBuil MATERIALd event, 683 Add Entity dialog, 584 AJAX, 375–378 Add New Item dialog, 247, 372 alias command, 96–97 Service-Based Database template, 524 aliases, for commands, 629–630 template in,
    [Show full text]
  • Xamarin.Android
    Xamarin.Android #xamarin.an droid 1 1: Xamarin.Android 2 2 2 Examples 2 Xamarin Studio 2 Visual Studio 4 2: Android 7 7 Examples 7 Android 7 3: RecyclerView 14 Examples 14 RecyclerView 14 RecyclerView 18 4: Xamarin ZXing 21 21 Examples 21 21 5: Xamarin.Android - 22 22 22 Examples 22 22 6: Xamarin.Android - 24 24 Examples 24 Xamarin.Android 24 7: Xamarin.Android APK 27 27 Examples 27 Visual Studio APK 27 29 Xamarin.Android APK MultiDex 37 Xamarin.Android MultiDex 37 Xamarin.Android APK ProGuard 40 Xamarin.Android ProGuard 40 ProGuard "" 42 Xamarin.Linker 42 ProGuard 45 8: 48 48 Examples 48 48 9: 49 49 49 Examples 50 AlertDialog 50 50 10: 53 Examples 53 53 Java 53 . 53 11: ListView 55 Examples 55 Custom Listview . 55 12: - Xamarin.Andorid 61 61 61 Examples 61 61 62 63 GitHub 65 13: 66 Examples 66 66 66 66 68 You can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: xamarin-android It is an unofficial and free Xamarin.Android ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow. It is neither affiliated with Stack Overflow nor official Xamarin.Android. The content is released under Creative Commons BY-SA, and the list of contributors to each chapter are provided in the credits section at the end of this book. Images may be copyright of their respective owners unless otherwise specified. All trademarks and registered trademarks are the property of their respective company owners.
    [Show full text]
  • Dotfuscator for Marketplace Apps
    Professional Edition & Dotfuscator for Marketplace Apps User's Guide バージョン 4 © 2013 PreEmptive Solutions, LLC All rights reserved. ドキュメント バージョン 4.11 www.preemptive.com 商標 Dotfuscator、DashO、Overload-Induction、Runtime Intelligence、PreEmptive Analytics、PreEmptive Analytics for TFS、 PreEmptive Solutions ロゴ、Dotfuscator ロゴ、および DashO ロゴは PreEmptive Solutions, LLC の商標です。 .NET™、MSIL™、Team Foundation Server™、および Visual Studio™ は Microsoft, Inc. の商標です。 Java は Oracle, Inc. の商標です。 その他すべての商標は、各社に帰属しています。 本書は "現状有姿" で提供されています。本ソフトウェアについて、商品性、特定目的への適合性、および非侵害保証を含む一切 の明示または黙示の保証をいたしません。 本書には、誤植が含まれていたり、技術的誤りがある可能性があります。本ドキュメントおよびサポートしているソフトウェアは、予 告なしに更新および修正することがあります。 PreEmptive Solutions, LLC は、本製品に組み込まれているテクノロジに関する知的財産権を有します。これらの知的財産所有権 には、米国の特許ならびに米国およびその他の国において出願中の特許(これに限定されるものではありません)が含まれている 可能性があります。 本製品は、その使用、コピー、配布、および逆コンパイルを制限するライセンスのもとに配布されます。PreEmptive Solutions, LLC からの書面による事前の許諾を受けることなく、その目的を問わず、どのような形態であっても複製することは禁じられています。 Dotfuscator ユーザーズ ガイド 3 1 目次 1. 目次 3-12 2. Dotfuscator 13 2.1. はじめに 13-14 2.1.1. Dotfuscator エディション 14-15 2.2. 概要 15 2.2.1. Dotfuscator の登録とアクティブ化 15-17 2.2.2. スタンドアロン GUI クイック スタート 17-19 2.2.3. コマンド ライン クイック スタート 19-21 2.2.4. Visual Studio 統合 UI クイック スタート 21-25 2.2.5. 難読化後の出力の表示と検証 25-28 2.3. Dotfuscator による難読化の理解 28-29 2.3.1. 保護概念 29 2.3.1.1. 名前の変更 29-30 2.3.1.2. 制御フロー 30-31 2.3.1.3. 文字列の暗号化 31 2.3.1.4. 不要コードの除去 32 2.3.1.5. 改ざんの検出および防御 32 2.3.1.6. Shelf Life 32-33 2.3.1.7. ウォーターマーク 33 2.3.2. 難読化されたアプリケーションのビルドとデバッグ 33 2.3.2.1. アセンブリのリンク 33-34 2.3.2.2. 増分難読化 34 2.3.2.3. 難読化されたコードのデバッグ 34-35 2.3.3.
    [Show full text]