SlideShare a Scribd company logo
Presented by Seminar Guide
Chaitanya Anpat Prof. Pritesh Patil
TE – IT
Monday, October 24, 20161
Copy Protection
Agenda
• Introduction
• Brief idea about protection methods
• Code confusion
• Debuggers
• Code confusion techniques
• conclusion
Introduction
• Copy protection is effort to prevent cracking
• Cracking-modification to binary files to
remove protection
reverse engineering
• Discovering technical principles of
device,object,system,software.
• It often involves disassembling exe code to
get machine code and bypass software
security.
Piracy
Game Music S/w
• This increases piracy.
• Loss due to piracy is about
$60 billion
.
.
Method of protection
• hardware based
• Hardware device is integrated with software
and used to protect and license an application.
• It uses device called USB hardware
• Software executes only if devise is actually
present on machine
• E.g.-ANSYS(related to ME)
• Serial key generation
• enter serial key
• Serial key compare
• If match installation complete
Encryptions
• Encoding applications in such a way that only
authorized users can use it
• It doesn’t prevent hacking
• Used to prevent data at rest like files and
data at transits like data transfer via
networks
Debug-Blocker
• In Armadillo, we find another feature called
Debug- Blocker.
• Armadillo creates 2 processes, referred to
them as father ( or parent ) and child. The
father process acts as a debugger, trying to
protect the child from other debuggers.
Code confusion/obfuscation
• Process of confusing
• Transforms source code such that it is
difficult for human to grasp and debugger to
disassemble accurately
• confused code should be functionally
equivalent to users perspective.
• introduce code confusing techniques so as
make code difficult to debug and which
prevent s/w to be reversed.
Debugger
• Linear sweep - win debugger
• Control flow not followed
• Recursive traversal –Ollydebuger
• control flow followed
Inline assembly `c` code for Hello
with data byte inserted
_asm
{
jmp L1 ; logic to “skip” data byte
_emit 0x00 ; inserted data byte
}
L1:printf("Hello, World!!!n");
}
WinDBG & OllyDbg
.
Code confusion technique
Layout Data
Control Preventive
Technique
Layout technique
• Layout obfuscations modify the layout
structure of the program by two basic
methods: renaming identifiers and removing
debugging information
• They make the program code less informative
to a reverse engineer.
Before
void my_output()
{
int count;
for (count = 0; count<=4; ++count)
printf("Hello %d!n", count);
}
• Tools used this technique are SD Obfuscator
CXX obfuscator.
• They will automatically output confused code
whose functionality remains same after
obfuscation.
After
#define a int
#define b printf
#define c for
a l47()
{
a l118;
c(l118=0;l118<0x664+196-0x71e;++l118)
b("x48x65x6cx6cx6fx20x25x64x21n",l118);
}
Data code confusion technique
• It changes the program’s use of data or data
structures.
• The storage of data can be obfuscated by
replacing current data definitions with those
which do not make sense for their intended
use. For example, a loop iteration variable
can be replaced with another variable type
besides an integer.
Software Protection Techniques
Control flow code confusion
• It changes the flow of the program
executing code in parallel
• insert new functions
• mislead the disassembler while
executing concurrently
Preventative technique
Conclusion
Prevention*cracking
.

More Related Content

PPTX
Computer security and
PPTX
Access Controls
PPTX
Introduction to Network Security
PPTX
Mandatory access control for information security
PPTX
Data Security
PPTX
Network security
PPT
Computer security overview
 
PPTX
Basic concepts in computer security
Computer security and
Access Controls
Introduction to Network Security
Mandatory access control for information security
Data Security
Network security
Computer security overview
 
Basic concepts in computer security

What's hot (20)

PPTX
Computer security concepts
PPTX
Computer security
DOCX
Kernel security of Systems
PPTX
Cybersecurity 1. intro to cybersecurity
PPTX
Information security
PPT
Network security
PPTX
Information Security Lecture #1 ppt
PPT
Software Security (Vulnerabilities) And Physical Security
PPTX
Network defenses
PPTX
Cloud Computing (Lecture 1 & 2).pptx
PPTX
Network security
PPT
Information security in todays world
PPTX
Authentication, authorization, accounting(aaa) slides
PPTX
Malware ppt final.pptx
PPTX
NETWORK SECURITY
PPTX
Introduction to information security
PPTX
Types of attacks
PPTX
System Security-Chapter 1
PPT
Information Security
PDF
Network Security Presentation
Computer security concepts
Computer security
Kernel security of Systems
Cybersecurity 1. intro to cybersecurity
Information security
Network security
Information Security Lecture #1 ppt
Software Security (Vulnerabilities) And Physical Security
Network defenses
Cloud Computing (Lecture 1 & 2).pptx
Network security
Information security in todays world
Authentication, authorization, accounting(aaa) slides
Malware ppt final.pptx
NETWORK SECURITY
Introduction to information security
Types of attacks
System Security-Chapter 1
Information Security
Network Security Presentation
Ad

Viewers also liked (7)

PDF
Intellectual Property Protection In software
PPT
Legal protection of computer software
PPS
Watermark
DOCX
Digital Watermarking
PPTX
Digital watermarking
PDF
Intellectual property rights
PPTX
Digital watermarking
Intellectual Property Protection In software
Legal protection of computer software
Watermark
Digital Watermarking
Digital watermarking
Intellectual property rights
Digital watermarking
Ad

Similar to Software Protection Techniques (20)

PPTX
Reverse Engineering.pptx
PDF
Bypass_AV-EDR.pdf
PDF
Captain Hook: Pirating AVs to Bypass Exploit Mitigations
PDF
Piratng Avs to bypass exploit mitigation
PDF
Software cracking and patching
PPTX
Safe and secure programming practices for embedded devices
PDF
Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...
PPTX
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
PPTX
chap-1 : Vulnerabilities in Information Systems
PDF
михаил дударев
PPTX
c programming 1-1.pptx
PPTX
Slide Deck CISSP Class Session 5
PPTX
Exploitation techniques and fuzzing
PDF
[2011 CodeEngn Conference 05] Deok9 - DBI(Dynamic Binary Instrumentation)를 이용...
PPT
E.s unit 6
PDF
Getting started with RISC-V verification what's next after compliance testing
PDF
How-To Find Malicious Backdoors and Business Logic Vulnerabilities in Your Code
PPTX
Embedded presentation
PPTX
Reverse Engineering Malware - A Practical Guide
PPTX
Capability Building for Cyber Defense: Software Walk through and Screening
Reverse Engineering.pptx
Bypass_AV-EDR.pdf
Captain Hook: Pirating AVs to Bypass Exploit Mitigations
Piratng Avs to bypass exploit mitigation
Software cracking and patching
Safe and secure programming practices for embedded devices
Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
chap-1 : Vulnerabilities in Information Systems
михаил дударев
c programming 1-1.pptx
Slide Deck CISSP Class Session 5
Exploitation techniques and fuzzing
[2011 CodeEngn Conference 05] Deok9 - DBI(Dynamic Binary Instrumentation)를 이용...
E.s unit 6
Getting started with RISC-V verification what's next after compliance testing
How-To Find Malicious Backdoors and Business Logic Vulnerabilities in Your Code
Embedded presentation
Reverse Engineering Malware - A Practical Guide
Capability Building for Cyber Defense: Software Walk through and Screening

Recently uploaded (20)

PDF
Encapsulation theory and applications.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Cloud computing and distributed systems.
PDF
Approach and Philosophy of On baking technology
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
cuic standard and advanced reporting.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Empathic Computing: Creating Shared Understanding
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Electronic commerce courselecture one. Pdf
PPTX
sap open course for s4hana steps from ECC to s4
Encapsulation theory and applications.pdf
MYSQL Presentation for SQL database connectivity
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Cloud computing and distributed systems.
Approach and Philosophy of On baking technology
Unlocking AI with Model Context Protocol (MCP)
“AI and Expert System Decision Support & Business Intelligence Systems”
20250228 LYD VKU AI Blended-Learning.pptx
Spectral efficient network and resource selection model in 5G networks
cuic standard and advanced reporting.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Big Data Technologies - Introduction.pptx
Programs and apps: productivity, graphics, security and other tools
Encapsulation_ Review paper, used for researhc scholars
Empathic Computing: Creating Shared Understanding
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Electronic commerce courselecture one. Pdf
sap open course for s4hana steps from ECC to s4

Software Protection Techniques

  • 1. Presented by Seminar Guide Chaitanya Anpat Prof. Pritesh Patil TE – IT Monday, October 24, 20161 Copy Protection
  • 2. Agenda • Introduction • Brief idea about protection methods • Code confusion • Debuggers • Code confusion techniques • conclusion
  • 3. Introduction • Copy protection is effort to prevent cracking • Cracking-modification to binary files to remove protection reverse engineering • Discovering technical principles of device,object,system,software. • It often involves disassembling exe code to get machine code and bypass software security.
  • 4. Piracy Game Music S/w • This increases piracy. • Loss due to piracy is about $60 billion
  • 5. . .
  • 6. Method of protection • hardware based • Hardware device is integrated with software and used to protect and license an application. • It uses device called USB hardware • Software executes only if devise is actually present on machine • E.g.-ANSYS(related to ME)
  • 7. • Serial key generation • enter serial key • Serial key compare • If match installation complete
  • 8. Encryptions • Encoding applications in such a way that only authorized users can use it • It doesn’t prevent hacking • Used to prevent data at rest like files and data at transits like data transfer via networks
  • 9. Debug-Blocker • In Armadillo, we find another feature called Debug- Blocker. • Armadillo creates 2 processes, referred to them as father ( or parent ) and child. The father process acts as a debugger, trying to protect the child from other debuggers.
  • 10. Code confusion/obfuscation • Process of confusing • Transforms source code such that it is difficult for human to grasp and debugger to disassemble accurately • confused code should be functionally equivalent to users perspective. • introduce code confusing techniques so as make code difficult to debug and which prevent s/w to be reversed.
  • 11. Debugger • Linear sweep - win debugger • Control flow not followed • Recursive traversal –Ollydebuger • control flow followed
  • 12. Inline assembly `c` code for Hello with data byte inserted _asm { jmp L1 ; logic to “skip” data byte _emit 0x00 ; inserted data byte } L1:printf("Hello, World!!!n"); }
  • 14. Code confusion technique Layout Data Control Preventive Technique
  • 15. Layout technique • Layout obfuscations modify the layout structure of the program by two basic methods: renaming identifiers and removing debugging information • They make the program code less informative to a reverse engineer.
  • 16. Before void my_output() { int count; for (count = 0; count<=4; ++count) printf("Hello %d!n", count); }
  • 17. • Tools used this technique are SD Obfuscator CXX obfuscator. • They will automatically output confused code whose functionality remains same after obfuscation.
  • 18. After #define a int #define b printf #define c for a l47() { a l118; c(l118=0;l118<0x664+196-0x71e;++l118) b("x48x65x6cx6cx6fx20x25x64x21n",l118); }
  • 19. Data code confusion technique • It changes the program’s use of data or data structures. • The storage of data can be obfuscated by replacing current data definitions with those which do not make sense for their intended use. For example, a loop iteration variable can be replaced with another variable type besides an integer.
  • 21. Control flow code confusion • It changes the flow of the program executing code in parallel • insert new functions • mislead the disassembler while executing concurrently
  • 24. .