SlideShare a Scribd company logo
CodeMeter Protection Suite Rüdiger Kügler, VP Professional Services
ruediger.kuegler@wibu.com
Axel Engelmann, Architect Protection Technologies
axel.engelmann@wibu.com
Protection and Licensing
.NET Applications
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 1
Where to find the accompanying audio
To access the on-demand replay of this masterclass, please visit
www.wibu.com//wibu-systems-webinars/protecting-and-licensing-net-
applications/access.html
09.03.2023 © WIBU-SYSTEMS AG 2023 - A Bit of License Management Magic 2
Disassembling a
.NET Application
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 3
Disassembling a .NET Application (Just Decompile)
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 4
CodeMeter
Protection Suite
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 5
CodeMeter Protection Suite
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 6
AxProtector
Windows
AxProtector
macOS
AxProtector
Linux
AxProtector
.NET
AxProtector
Python
AxProtector
JavaScript
AxProtector
Java
AxProtector
Android
Automatic Protection        
Modular Licensing        
IP Protection        
CodeMoving        
File Encryption planned planned planned    planned planned
Compile Time Obfuscation   
Variants of AxProtector .NET
 AxProtector .NET 10.30
 .NET Framework < 4.7.2
 AxProtector .NET (incl. AxProtector GUI)
 .NET Framework 4.7.2 or higher
 AxProtector .NET Standard
 .NET Standard 2.0 or higher
 AxProtector .NET NC (Native Core)
 .NET Framework 4.7.2 or higher, .NET Standard 2.0 or higher, .NET 5 or higher
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 7
AxProtector .NET NC – Targets
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 8
Windows
 Windows x86
 Windows x86_64
macOS
 macOS x86_64
 macOS ARM
Linux
 Linux x86_64 glibc
 Linux ARMhf glibc
 Linux AARCH64 glibc
 Linux x86_64 musl
 Linux ARMhf musl
 Linux AARCH64 musl
Protecting a
Single Assembly
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 9
Compiled Assembly Protected Assembly
Operating Principle of AxProtector .NET
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 10
Header Header
AxProtector .NET
AxEngine
(Security Engine)
2 33 E8 E1 CA
59 16 4B 75 53
E 24 C5 30 D8 85
C7 15 C2
C E6 7E 87 1B A8
9 81 53 62 DE A6 F4 AF
8 D1 D9 6D DD 1B 4 CB 82 63 82
F BD 5D 71
Start(arg) pi = (double) (2*y)
y = x * (2 + x) + 1 y = sin(x)
z = Math.Pow(10, prec) inc(ab)
if (CheckVal(x)) call (fit(y))
i += 10 for(i = 0; i < z; i++)
Picture:BM P0 FF
Icon:01 FF
String:Viewer
Picture:PN G0 FF 00
String:Open File Data:01 FF FF
Code (Methods)
Resources
9 6F F6 48 22 E7 B0 DA D1 4F 3E
2 59 D0 BD A A9 DD F4 67 44 DB
8 35 60 C3 50 C3
A8
6 4A 63 4C FE
5 9C B2 1E FA D3 DD 10 DD E0
3 8F EF C4 4C F0 79
A 5F E9 DC C5 2E C A2 3B 5D 7E
Encrypted Methods
Encrypted Resources
 Firm Code
 Product Code
 …
AxProtector .NET – ISV’s Side
 Encryption at vendor’s side
 Extracting the classes, the methods, and the executable code
 Producing the new assembly (same name)
 The new assembly looks the same, methods are encrypted individually and include
some additional information
 Resources are encrypted
 Inserting automatic security checks
 Reflection, remoting, etc. are still possible
 Name obfuscation as additional option available
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 11
AxProtector .NET – User’s Side
 Decryption during runtime
 When calling the method, its code will be automatically decrypted
 Only if the suitable license is available
 On-Demand Decryption of the executable code
 Decrypted IL code is removed automatically from memory after JIT compilation
 CpsEvents adopts flexible error handling
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 12
Just Decompile with a Protected .NET Assembly
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 13
Modular Protection of a
Single Assembly
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 14
Compiled Assembly Protected Assembly
Concept of AxProtector .NET (Modular Protection)
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 15
Header Header
AxProtector .NET
AxEngine
(Security Engine)
2 33 E8 E1 CA
59 16 4B 75 53
E 24 C5 30 D8 85
C7 15 C2
C E6 7E 87 1B A8
9 81 53 62 DE A6 F4 AF
8 D1 D9 6D DD 1B 4 CB 82 63 82
F BD 5D 71
Start(arg) pi = (double) (2*y)
y = x * (2 + x) + 1 y = sin(x)
z = Math.Pow(10, prec) inc(ab)
if (CheckVal(x)) call (fit(y))
i += 10 for(i = 0; i < z; i++)
Picture:BM P0 FF
Icon:01 FF
String:Viewer
Picture:PN G0 FF 00
String:Open File Data:01 FF FF
Code (Methods)
Resources
9 6F F6 48 22 E7 B0 DA D1 4F 3E
inc(ab) A A9 DD F4 67 44 DB
35 60 C3 50 C3 i += 10
1E FA D3 DD 10 DD E0
3 8F EF C4 4C F0 79
A 5F E9 DC C5 2E C A2 3B 5D 7E
8
5 9C B2
00 00 00 00
 …
 License Lists
assigned to different
methods
Modular Protection of a Single Assembly 1
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 16
Modular Protection of a Single Assembly 2
 Encryption with different license list for highest security
 Different effective key for code encryption
 Markup with an attribute
 Configuration in YAML-file
 Application behavior by WUPI calls
 Wibu Universal Protection Interface
 High-level API for easy integration
 No AxEngine/CpsEvents messages are shown
 You need both – encryption and API calls
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 17
Modular Protection of a Single Assembly 3
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 18
Modular Protection of a Single Assembly 4
 Alternative approach for error handling (no license found)
 Exception handling
 Global handler around assembly entry points to catch global licensing exceptions
 AxEngine/CpsEvents message is shown
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 19
Fine Tuning the
Performance
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 20
0 s
10 s
20 s
30 s
40 s
Unprotected AxProtector .NET AxProtector .NET NC
Time Taken
Comparing a Method Executed 1,000,000,000 Times
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 21
35 s
36 s
37 s
38 s
Unprotected AxProtector .NET AxProtector .NET NC
Time Taken
Comparing a Method Executed 1,000,000,000 Times
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 22
1,9 % performance loss < 0,2 % performance loss
Modular Protection of
Multiple Assemblies
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 23
Application by one ISV with different modules
 Best practice approach:
 One assembly – one license – one Product Code – encryption as single assembly
 Mixing protected and unprotected assemblies is possible
 Error handling in calling executable or in called library
 Each entry point is unencrypted and checks its own license first
 Library raises exception and executable catches exception
 Executable knows and checks license before loading library
 Same technical solution as single assembly
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 24
Application by different ISVs (Plugins)
 Encrypting plugins with individual Firm Code / Product Code
 Mixing different Firm Codes is possible
 Mixing with other licensing vendors is possible
 Error handing in library (plugin)
 Error handling at entry points
 Unencrypted entry methods
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 25
Multiplatform Protection
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 26
Multiplatform Protection
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 27
https://www.wibu.com
info@wibu.com
Europe: +49-721-931720
USA: +1-425-7756900
China: +86-21-55661790
Japan: +81-45-5659710
Thank you very much for your attention
2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 28

More Related Content

What's hot

Petals Count and Flower Image Classification using computer vision
Petals Count and Flower Image Classification using computer visionPetals Count and Flower Image Classification using computer vision
Petals Count and Flower Image Classification using computer vision
Indranil Datta
 
Dbms Notes Lecture 8 : E R Diagram question with solutions
Dbms Notes Lecture 8 : E R Diagram question with solutionsDbms Notes Lecture 8 : E R Diagram question with solutions
Dbms Notes Lecture 8 : E R Diagram question with solutions
BIT Durg
 
OTT Landscape in Japan
OTT Landscape in JapanOTT Landscape in Japan
OTT Landscape in Japan
Kazu Shimura
 
4 klas-informatyka-andrusych-2021
4 klas-informatyka-andrusych-20214 klas-informatyka-andrusych-2021
4 klas-informatyka-andrusych-2021
NoName520
 
Intelligent Hiring with Resume Parser and Ranking using Natural Language Proc...
Intelligent Hiring with Resume Parser and Ranking using Natural Language Proc...Intelligent Hiring with Resume Parser and Ranking using Natural Language Proc...
Intelligent Hiring with Resume Parser and Ranking using Natural Language Proc...
Zainul Sayed
 
Os organization
Os organizationOs organization
Os organizationMohd Arif
 
Machine learning workshop using Orange datamining framework
Machine learning workshop using Orange datamining frameworkMachine learning workshop using Orange datamining framework
Machine learning workshop using Orange datamining framework
Amr Rashed
 
Гермафродитизм-Бiологiя
Гермафродитизм-БiологiяГермафродитизм-Бiологiя
Гермафродитизм-Бiологiя
Mort Trall
 
Distributed Solar Systems at EDF Renewables and AWS IoT: A Natural Fit (PUT30...
Distributed Solar Systems at EDF Renewables and AWS IoT: A Natural Fit (PUT30...Distributed Solar Systems at EDF Renewables and AWS IoT: A Natural Fit (PUT30...
Distributed Solar Systems at EDF Renewables and AWS IoT: A Natural Fit (PUT30...
Amazon Web Services
 
Embedded Systems: Lecture 1: Course Overview
Embedded Systems: Lecture 1: Course OverviewEmbedded Systems: Lecture 1: Course Overview
Embedded Systems: Lecture 1: Course Overview
Ahmed El-Arabawy
 
Seminarski-rad-cms
Seminarski-rad-cmsSeminarski-rad-cms
Seminarski-rad-cms
IgorKocevski3
 
Lec1 - Сучасні інформаційні технології
Lec1 - Сучасні інформаційні технологіїLec1 - Сучасні інформаційні технології
Lec1 - Сучасні інформаційні технології
Ruslan Shevchuk
 
Federated learning
Federated learningFederated learning
Federated learning
Mindos Cheng
 
комп’ютерні програми і мови програмування 2
комп’ютерні програми і мови програмування 2комп’ютерні програми і мови програмування 2
комп’ютерні програми і мови програмування 2
Захарова Олена
 
Predicting students performance using classification techniques in data mining
Predicting students performance using classification techniques in data miningPredicting students performance using classification techniques in data mining
Predicting students performance using classification techniques in data mining
Lovely Professional University
 
Інформатика-5. Урок 3. Інформаційні процеси та пристрої для їх підтримки
Інформатика-5. Урок 3. Інформаційні процеси та пристрої для їх підтримкиІнформатика-5. Урок 3. Інформаційні процеси та пристрої для їх підтримки
Інформатика-5. Урок 3. Інформаційні процеси та пристрої для їх підтримки
Володимир Бондар
 

What's hot (18)

Petals Count and Flower Image Classification using computer vision
Petals Count and Flower Image Classification using computer visionPetals Count and Flower Image Classification using computer vision
Petals Count and Flower Image Classification using computer vision
 
Dbms Notes Lecture 8 : E R Diagram question with solutions
Dbms Notes Lecture 8 : E R Diagram question with solutionsDbms Notes Lecture 8 : E R Diagram question with solutions
Dbms Notes Lecture 8 : E R Diagram question with solutions
 
Machine learning
Machine learningMachine learning
Machine learning
 
1
11
1
 
OTT Landscape in Japan
OTT Landscape in JapanOTT Landscape in Japan
OTT Landscape in Japan
 
4 klas-informatyka-andrusych-2021
4 klas-informatyka-andrusych-20214 klas-informatyka-andrusych-2021
4 klas-informatyka-andrusych-2021
 
Intelligent Hiring with Resume Parser and Ranking using Natural Language Proc...
Intelligent Hiring with Resume Parser and Ranking using Natural Language Proc...Intelligent Hiring with Resume Parser and Ranking using Natural Language Proc...
Intelligent Hiring with Resume Parser and Ranking using Natural Language Proc...
 
Os organization
Os organizationOs organization
Os organization
 
Machine learning workshop using Orange datamining framework
Machine learning workshop using Orange datamining frameworkMachine learning workshop using Orange datamining framework
Machine learning workshop using Orange datamining framework
 
Гермафродитизм-Бiологiя
Гермафродитизм-БiологiяГермафродитизм-Бiологiя
Гермафродитизм-Бiологiя
 
Distributed Solar Systems at EDF Renewables and AWS IoT: A Natural Fit (PUT30...
Distributed Solar Systems at EDF Renewables and AWS IoT: A Natural Fit (PUT30...Distributed Solar Systems at EDF Renewables and AWS IoT: A Natural Fit (PUT30...
Distributed Solar Systems at EDF Renewables and AWS IoT: A Natural Fit (PUT30...
 
Embedded Systems: Lecture 1: Course Overview
Embedded Systems: Lecture 1: Course OverviewEmbedded Systems: Lecture 1: Course Overview
Embedded Systems: Lecture 1: Course Overview
 
Seminarski-rad-cms
Seminarski-rad-cmsSeminarski-rad-cms
Seminarski-rad-cms
 
Lec1 - Сучасні інформаційні технології
Lec1 - Сучасні інформаційні технологіїLec1 - Сучасні інформаційні технології
Lec1 - Сучасні інформаційні технології
 
Federated learning
Federated learningFederated learning
Federated learning
 
комп’ютерні програми і мови програмування 2
комп’ютерні програми і мови програмування 2комп’ютерні програми і мови програмування 2
комп’ютерні програми і мови програмування 2
 
Predicting students performance using classification techniques in data mining
Predicting students performance using classification techniques in data miningPredicting students performance using classification techniques in data mining
Predicting students performance using classification techniques in data mining
 
Інформатика-5. Урок 3. Інформаційні процеси та пристрої для їх підтримки
Інформатика-5. Урок 3. Інформаційні процеси та пристрої для їх підтримкиІнформатика-5. Урок 3. Інформаційні процеси та пристрої для їх підтримки
Інформатика-5. Урок 3. Інформаційні процеси та пристрої для їх підтримки
 

Similar to Protecting and Licensing .NET Applications

Security and Protection for Machine Learning.pptx
Security and Protection for Machine Learning.pptxSecurity and Protection for Machine Learning.pptx
Security and Protection for Machine Learning.pptx
team-WIBU
 
Protecting Node.js-based JavaScript Applications
Protecting Node.js-based JavaScript ApplicationsProtecting Node.js-based JavaScript Applications
Protecting Node.js-based JavaScript Applications
team-WIBU
 
Running code in secure hardware or cloud environments
Running code in secure hardware or cloud environmentsRunning code in secure hardware or cloud environments
Running code in secure hardware or cloud environments
team-WIBU
 
The fastest way to protect your know-how
The fastest way to protect your know-howThe fastest way to protect your know-how
The fastest way to protect your know-how
team-WIBU
 
Embedded devices - Big opportunities in tiny packages
Embedded devices - Big opportunities in tiny packagesEmbedded devices - Big opportunities in tiny packages
Embedded devices - Big opportunities in tiny packages
team-WIBU
 
Workshop 16 october 2015 paris
Workshop 16 october 2015 parisWorkshop 16 october 2015 paris
Workshop 16 october 2015 paris
Marcel Hartgerink
 
Your CODESYS Applications, Protected and Licensed
Your CODESYS Applications, Protected and LicensedYour CODESYS Applications, Protected and Licensed
Your CODESYS Applications, Protected and Licensed
team-WIBU
 
Unleash the Power of CodeMeter - CodeMeter Basics
Unleash the Power of CodeMeter - CodeMeter BasicsUnleash the Power of CodeMeter - CodeMeter Basics
Unleash the Power of CodeMeter - CodeMeter Basics
team-WIBU
 
TMS320F28335 security
TMS320F28335 securityTMS320F28335 security
TMS320F28335 security
raje21
 
No Time to Idle – License availability for business continuity
No Time to Idle – License availability for business continuityNo Time to Idle – License availability for business continuity
No Time to Idle – License availability for business continuity
team-WIBU
 
Removing Security Roadblocks to IoT Deployment Success
Removing Security Roadblocks to IoT Deployment SuccessRemoving Security Roadblocks to IoT Deployment Success
Removing Security Roadblocks to IoT Deployment Success
Microsoft Tech Community
 
Towards 0-bug software in the automotive industry
Towards 0-bug software in the automotive industryTowards 0-bug software in the automotive industry
Towards 0-bug software in the automotive industry
Ashley Zupkus
 
Cloud-Based Licensing in Offline Scenarios
Cloud-Based Licensing in Offline ScenariosCloud-Based Licensing in Offline Scenarios
Cloud-Based Licensing in Offline Scenarios
team-WIBU
 
Meraki SD-WAN.pdf
Meraki SD-WAN.pdfMeraki SD-WAN.pdf
Meraki SD-WAN.pdf
ssuser7ba9b8
 
Introducing Azure Sphere
Introducing Azure SphereIntroducing Azure Sphere
Introducing Azure Sphere
Mirco Vanini
 
Your Migration Map to a Comprehensive Protection and Licensing System
Your Migration Map to a Comprehensive Protection and Licensing SystemYour Migration Map to a Comprehensive Protection and Licensing System
Your Migration Map to a Comprehensive Protection and Licensing System
team-WIBU
 
Enabling embedded security for the Internet of Things
Enabling embedded security for the Internet of ThingsEnabling embedded security for the Internet of Things
Enabling embedded security for the Internet of Things
team-WIBU
 
Dominating Industrie 4.0 with Secure Software Licensing
Dominating Industrie 4.0 with Secure Software LicensingDominating Industrie 4.0 with Secure Software Licensing
Dominating Industrie 4.0 with Secure Software Licensing
team-WIBU
 
I Own Your Building (Management System)
I Own Your Building (Management System)I Own Your Building (Management System)
I Own Your Building (Management System)
Zero Science Lab
 
The Effort-Performance Relationship in Software Protection
The Effort-Performance Relationship in Software ProtectionThe Effort-Performance Relationship in Software Protection
The Effort-Performance Relationship in Software Protection
team-WIBU
 

Similar to Protecting and Licensing .NET Applications (20)

Security and Protection for Machine Learning.pptx
Security and Protection for Machine Learning.pptxSecurity and Protection for Machine Learning.pptx
Security and Protection for Machine Learning.pptx
 
Protecting Node.js-based JavaScript Applications
Protecting Node.js-based JavaScript ApplicationsProtecting Node.js-based JavaScript Applications
Protecting Node.js-based JavaScript Applications
 
Running code in secure hardware or cloud environments
Running code in secure hardware or cloud environmentsRunning code in secure hardware or cloud environments
Running code in secure hardware or cloud environments
 
The fastest way to protect your know-how
The fastest way to protect your know-howThe fastest way to protect your know-how
The fastest way to protect your know-how
 
Embedded devices - Big opportunities in tiny packages
Embedded devices - Big opportunities in tiny packagesEmbedded devices - Big opportunities in tiny packages
Embedded devices - Big opportunities in tiny packages
 
Workshop 16 october 2015 paris
Workshop 16 october 2015 parisWorkshop 16 october 2015 paris
Workshop 16 october 2015 paris
 
Your CODESYS Applications, Protected and Licensed
Your CODESYS Applications, Protected and LicensedYour CODESYS Applications, Protected and Licensed
Your CODESYS Applications, Protected and Licensed
 
Unleash the Power of CodeMeter - CodeMeter Basics
Unleash the Power of CodeMeter - CodeMeter BasicsUnleash the Power of CodeMeter - CodeMeter Basics
Unleash the Power of CodeMeter - CodeMeter Basics
 
TMS320F28335 security
TMS320F28335 securityTMS320F28335 security
TMS320F28335 security
 
No Time to Idle – License availability for business continuity
No Time to Idle – License availability for business continuityNo Time to Idle – License availability for business continuity
No Time to Idle – License availability for business continuity
 
Removing Security Roadblocks to IoT Deployment Success
Removing Security Roadblocks to IoT Deployment SuccessRemoving Security Roadblocks to IoT Deployment Success
Removing Security Roadblocks to IoT Deployment Success
 
Towards 0-bug software in the automotive industry
Towards 0-bug software in the automotive industryTowards 0-bug software in the automotive industry
Towards 0-bug software in the automotive industry
 
Cloud-Based Licensing in Offline Scenarios
Cloud-Based Licensing in Offline ScenariosCloud-Based Licensing in Offline Scenarios
Cloud-Based Licensing in Offline Scenarios
 
Meraki SD-WAN.pdf
Meraki SD-WAN.pdfMeraki SD-WAN.pdf
Meraki SD-WAN.pdf
 
Introducing Azure Sphere
Introducing Azure SphereIntroducing Azure Sphere
Introducing Azure Sphere
 
Your Migration Map to a Comprehensive Protection and Licensing System
Your Migration Map to a Comprehensive Protection and Licensing SystemYour Migration Map to a Comprehensive Protection and Licensing System
Your Migration Map to a Comprehensive Protection and Licensing System
 
Enabling embedded security for the Internet of Things
Enabling embedded security for the Internet of ThingsEnabling embedded security for the Internet of Things
Enabling embedded security for the Internet of Things
 
Dominating Industrie 4.0 with Secure Software Licensing
Dominating Industrie 4.0 with Secure Software LicensingDominating Industrie 4.0 with Secure Software Licensing
Dominating Industrie 4.0 with Secure Software Licensing
 
I Own Your Building (Management System)
I Own Your Building (Management System)I Own Your Building (Management System)
I Own Your Building (Management System)
 
The Effort-Performance Relationship in Software Protection
The Effort-Performance Relationship in Software ProtectionThe Effort-Performance Relationship in Software Protection
The Effort-Performance Relationship in Software Protection
 

More from team-WIBU

Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
team-WIBU
 
Unlocking the Future: Empowering Industrial Security
Unlocking the Future: Empowering Industrial SecurityUnlocking the Future: Empowering Industrial Security
Unlocking the Future: Empowering Industrial Security
team-WIBU
 
The Power of Partnership: Enabling Success Together
The Power of Partnership: Enabling Success TogetherThe Power of Partnership: Enabling Success Together
The Power of Partnership: Enabling Success Together
team-WIBU
 
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für GeschäftskontinuitätKeine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
team-WIBU
 
Optimizing Cloud Licensing: Strategies and Best Practices
Optimizing Cloud Licensing: Strategies and Best PracticesOptimizing Cloud Licensing: Strategies and Best Practices
Optimizing Cloud Licensing: Strategies and Best Practices
team-WIBU
 
For a Few Licenses More
For a Few Licenses MoreFor a Few Licenses More
For a Few Licenses More
team-WIBU
 
App Management on the Edge
App Management on the EdgeApp Management on the Edge
App Management on the Edge
team-WIBU
 
A Bit of License Management Magic
A Bit of License Management MagicA Bit of License Management Magic
A Bit of License Management Magic
team-WIBU
 
The first step is always the most decisive
The first step is always the most decisiveThe first step is always the most decisive
The first step is always the most decisive
team-WIBU
 
Protection and monetization of 3D printed objects in the spare parts business...
Protection and monetization of 3D printed objects in the spare parts business...Protection and monetization of 3D printed objects in the spare parts business...
Protection and monetization of 3D printed objects in the spare parts business...
team-WIBU
 
Authenticate and authorize your IIoTdevices
Authenticate and authorize your IIoTdevicesAuthenticate and authorize your IIoTdevices
Authenticate and authorize your IIoTdevices
team-WIBU
 
How and Why to Create and Sell Consumption-Based Licenses
How and Why to Create and Sell Consumption-Based LicensesHow and Why to Create and Sell Consumption-Based Licenses
How and Why to Create and Sell Consumption-Based Licenses
team-WIBU
 
Serving Up Features-on-Demand for Every Appetite
Serving Up Features-on-Demand for Every AppetiteServing Up Features-on-Demand for Every Appetite
Serving Up Features-on-Demand for Every Appetite
team-WIBU
 
License Portal - The DIY Solution
License Portal - The DIY SolutionLicense Portal - The DIY Solution
License Portal - The DIY Solution
team-WIBU
 
Subscriptions - Relationships built to last
Subscriptions - Relationships built to lastSubscriptions - Relationships built to last
Subscriptions - Relationships built to last
team-WIBU
 
Safer to market: Licensing and e-commerce integrated
Safer to market: Licensing and e-commerce integratedSafer to market: Licensing and e-commerce integrated
Safer to market: Licensing and e-commerce integrated
team-WIBU
 
Managing entitlements through the product lifecycle
Managing entitlements through the product lifecycleManaging entitlements through the product lifecycle
Managing entitlements through the product lifecycle
team-WIBU
 
Creating, delivering, and managing licenses made easy
Creating, delivering, and managing licenses made easyCreating, delivering, and managing licenses made easy
Creating, delivering, and managing licenses made easy
team-WIBU
 
Everything You Always Wanted to Know About CodeMeter FSBs
Everything You Always Wanted to Know About CodeMeter FSBsEverything You Always Wanted to Know About CodeMeter FSBs
Everything You Always Wanted to Know About CodeMeter FSBs
team-WIBU
 
Protecting Python applications the simpler way
Protecting Python applications the simpler wayProtecting Python applications the simpler way
Protecting Python applications the simpler way
team-WIBU
 

More from team-WIBU (20)

Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Unlocking the Future: Empowering Industrial Security
Unlocking the Future: Empowering Industrial SecurityUnlocking the Future: Empowering Industrial Security
Unlocking the Future: Empowering Industrial Security
 
The Power of Partnership: Enabling Success Together
The Power of Partnership: Enabling Success TogetherThe Power of Partnership: Enabling Success Together
The Power of Partnership: Enabling Success Together
 
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für GeschäftskontinuitätKeine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
 
Optimizing Cloud Licensing: Strategies and Best Practices
Optimizing Cloud Licensing: Strategies and Best PracticesOptimizing Cloud Licensing: Strategies and Best Practices
Optimizing Cloud Licensing: Strategies and Best Practices
 
For a Few Licenses More
For a Few Licenses MoreFor a Few Licenses More
For a Few Licenses More
 
App Management on the Edge
App Management on the EdgeApp Management on the Edge
App Management on the Edge
 
A Bit of License Management Magic
A Bit of License Management MagicA Bit of License Management Magic
A Bit of License Management Magic
 
The first step is always the most decisive
The first step is always the most decisiveThe first step is always the most decisive
The first step is always the most decisive
 
Protection and monetization of 3D printed objects in the spare parts business...
Protection and monetization of 3D printed objects in the spare parts business...Protection and monetization of 3D printed objects in the spare parts business...
Protection and monetization of 3D printed objects in the spare parts business...
 
Authenticate and authorize your IIoTdevices
Authenticate and authorize your IIoTdevicesAuthenticate and authorize your IIoTdevices
Authenticate and authorize your IIoTdevices
 
How and Why to Create and Sell Consumption-Based Licenses
How and Why to Create and Sell Consumption-Based LicensesHow and Why to Create and Sell Consumption-Based Licenses
How and Why to Create and Sell Consumption-Based Licenses
 
Serving Up Features-on-Demand for Every Appetite
Serving Up Features-on-Demand for Every AppetiteServing Up Features-on-Demand for Every Appetite
Serving Up Features-on-Demand for Every Appetite
 
License Portal - The DIY Solution
License Portal - The DIY SolutionLicense Portal - The DIY Solution
License Portal - The DIY Solution
 
Subscriptions - Relationships built to last
Subscriptions - Relationships built to lastSubscriptions - Relationships built to last
Subscriptions - Relationships built to last
 
Safer to market: Licensing and e-commerce integrated
Safer to market: Licensing and e-commerce integratedSafer to market: Licensing and e-commerce integrated
Safer to market: Licensing and e-commerce integrated
 
Managing entitlements through the product lifecycle
Managing entitlements through the product lifecycleManaging entitlements through the product lifecycle
Managing entitlements through the product lifecycle
 
Creating, delivering, and managing licenses made easy
Creating, delivering, and managing licenses made easyCreating, delivering, and managing licenses made easy
Creating, delivering, and managing licenses made easy
 
Everything You Always Wanted to Know About CodeMeter FSBs
Everything You Always Wanted to Know About CodeMeter FSBsEverything You Always Wanted to Know About CodeMeter FSBs
Everything You Always Wanted to Know About CodeMeter FSBs
 
Protecting Python applications the simpler way
Protecting Python applications the simpler wayProtecting Python applications the simpler way
Protecting Python applications the simpler way
 

Recently uploaded

Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 

Recently uploaded (20)

Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 

Protecting and Licensing .NET Applications

  • 1. CodeMeter Protection Suite Rüdiger Kügler, VP Professional Services ruediger.kuegler@wibu.com Axel Engelmann, Architect Protection Technologies axel.engelmann@wibu.com Protection and Licensing .NET Applications 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 1
  • 2. Where to find the accompanying audio To access the on-demand replay of this masterclass, please visit www.wibu.com//wibu-systems-webinars/protecting-and-licensing-net- applications/access.html 09.03.2023 © WIBU-SYSTEMS AG 2023 - A Bit of License Management Magic 2
  • 3. Disassembling a .NET Application 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 3
  • 4. Disassembling a .NET Application (Just Decompile) 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 4
  • 5. CodeMeter Protection Suite 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 5
  • 6. CodeMeter Protection Suite 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 6 AxProtector Windows AxProtector macOS AxProtector Linux AxProtector .NET AxProtector Python AxProtector JavaScript AxProtector Java AxProtector Android Automatic Protection         Modular Licensing         IP Protection         CodeMoving         File Encryption planned planned planned    planned planned Compile Time Obfuscation   
  • 7. Variants of AxProtector .NET  AxProtector .NET 10.30  .NET Framework < 4.7.2  AxProtector .NET (incl. AxProtector GUI)  .NET Framework 4.7.2 or higher  AxProtector .NET Standard  .NET Standard 2.0 or higher  AxProtector .NET NC (Native Core)  .NET Framework 4.7.2 or higher, .NET Standard 2.0 or higher, .NET 5 or higher 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 7
  • 8. AxProtector .NET NC – Targets 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 8 Windows  Windows x86  Windows x86_64 macOS  macOS x86_64  macOS ARM Linux  Linux x86_64 glibc  Linux ARMhf glibc  Linux AARCH64 glibc  Linux x86_64 musl  Linux ARMhf musl  Linux AARCH64 musl
  • 9. Protecting a Single Assembly 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 9
  • 10. Compiled Assembly Protected Assembly Operating Principle of AxProtector .NET 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 10 Header Header AxProtector .NET AxEngine (Security Engine) 2 33 E8 E1 CA 59 16 4B 75 53 E 24 C5 30 D8 85 C7 15 C2 C E6 7E 87 1B A8 9 81 53 62 DE A6 F4 AF 8 D1 D9 6D DD 1B 4 CB 82 63 82 F BD 5D 71 Start(arg) pi = (double) (2*y) y = x * (2 + x) + 1 y = sin(x) z = Math.Pow(10, prec) inc(ab) if (CheckVal(x)) call (fit(y)) i += 10 for(i = 0; i < z; i++) Picture:BM P0 FF Icon:01 FF String:Viewer Picture:PN G0 FF 00 String:Open File Data:01 FF FF Code (Methods) Resources 9 6F F6 48 22 E7 B0 DA D1 4F 3E 2 59 D0 BD A A9 DD F4 67 44 DB 8 35 60 C3 50 C3 A8 6 4A 63 4C FE 5 9C B2 1E FA D3 DD 10 DD E0 3 8F EF C4 4C F0 79 A 5F E9 DC C5 2E C A2 3B 5D 7E Encrypted Methods Encrypted Resources  Firm Code  Product Code  …
  • 11. AxProtector .NET – ISV’s Side  Encryption at vendor’s side  Extracting the classes, the methods, and the executable code  Producing the new assembly (same name)  The new assembly looks the same, methods are encrypted individually and include some additional information  Resources are encrypted  Inserting automatic security checks  Reflection, remoting, etc. are still possible  Name obfuscation as additional option available 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 11
  • 12. AxProtector .NET – User’s Side  Decryption during runtime  When calling the method, its code will be automatically decrypted  Only if the suitable license is available  On-Demand Decryption of the executable code  Decrypted IL code is removed automatically from memory after JIT compilation  CpsEvents adopts flexible error handling 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 12
  • 13. Just Decompile with a Protected .NET Assembly 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 13
  • 14. Modular Protection of a Single Assembly 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 14
  • 15. Compiled Assembly Protected Assembly Concept of AxProtector .NET (Modular Protection) 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 15 Header Header AxProtector .NET AxEngine (Security Engine) 2 33 E8 E1 CA 59 16 4B 75 53 E 24 C5 30 D8 85 C7 15 C2 C E6 7E 87 1B A8 9 81 53 62 DE A6 F4 AF 8 D1 D9 6D DD 1B 4 CB 82 63 82 F BD 5D 71 Start(arg) pi = (double) (2*y) y = x * (2 + x) + 1 y = sin(x) z = Math.Pow(10, prec) inc(ab) if (CheckVal(x)) call (fit(y)) i += 10 for(i = 0; i < z; i++) Picture:BM P0 FF Icon:01 FF String:Viewer Picture:PN G0 FF 00 String:Open File Data:01 FF FF Code (Methods) Resources 9 6F F6 48 22 E7 B0 DA D1 4F 3E inc(ab) A A9 DD F4 67 44 DB 35 60 C3 50 C3 i += 10 1E FA D3 DD 10 DD E0 3 8F EF C4 4C F0 79 A 5F E9 DC C5 2E C A2 3B 5D 7E 8 5 9C B2 00 00 00 00  …  License Lists assigned to different methods
  • 16. Modular Protection of a Single Assembly 1 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 16
  • 17. Modular Protection of a Single Assembly 2  Encryption with different license list for highest security  Different effective key for code encryption  Markup with an attribute  Configuration in YAML-file  Application behavior by WUPI calls  Wibu Universal Protection Interface  High-level API for easy integration  No AxEngine/CpsEvents messages are shown  You need both – encryption and API calls 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 17
  • 18. Modular Protection of a Single Assembly 3 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 18
  • 19. Modular Protection of a Single Assembly 4  Alternative approach for error handling (no license found)  Exception handling  Global handler around assembly entry points to catch global licensing exceptions  AxEngine/CpsEvents message is shown 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 19
  • 20. Fine Tuning the Performance 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 20
  • 21. 0 s 10 s 20 s 30 s 40 s Unprotected AxProtector .NET AxProtector .NET NC Time Taken Comparing a Method Executed 1,000,000,000 Times 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 21
  • 22. 35 s 36 s 37 s 38 s Unprotected AxProtector .NET AxProtector .NET NC Time Taken Comparing a Method Executed 1,000,000,000 Times 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 22 1,9 % performance loss < 0,2 % performance loss
  • 23. Modular Protection of Multiple Assemblies 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 23
  • 24. Application by one ISV with different modules  Best practice approach:  One assembly – one license – one Product Code – encryption as single assembly  Mixing protected and unprotected assemblies is possible  Error handling in calling executable or in called library  Each entry point is unencrypted and checks its own license first  Library raises exception and executable catches exception  Executable knows and checks license before loading library  Same technical solution as single assembly 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 24
  • 25. Application by different ISVs (Plugins)  Encrypting plugins with individual Firm Code / Product Code  Mixing different Firm Codes is possible  Mixing with other licensing vendors is possible  Error handing in library (plugin)  Error handling at entry points  Unencrypted entry methods 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 25
  • 26. Multiplatform Protection 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 26
  • 27. Multiplatform Protection 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 27
  • 28. https://www.wibu.com info@wibu.com Europe: +49-721-931720 USA: +1-425-7756900 China: +86-21-55661790 Japan: +81-45-5659710 Thank you very much for your attention 2023-03-08 © WIBU-SYSTEMS AG 2023 - Protecting and Licensing .NET Application 28