sweatcontent.com
   Home Page :> About Us :> Privacy of Info :> Terms of Use :> Add Url :> Add Your Article
Search:   
Free links exchange
 

Policies & Law

 

Computers & Software

 

Recreation

 

Relationship & Lifestyle

 

People & Society

 

Drink & Food

 

Home & Garden

 

Business & Commerce

 

Issues & News

 

Health & Hygiene

 

Automobiles

 

Employment & Careers

 

Children & Teens

 

Culture & Art

 

Online Shopping

 

Research & Science

 

Banking & Finance

 

Healthcare & Treatment

 

Travel & Vacation

 

Education & Learning

 

Adventure & Sports

 

Self Healing

 

Property & Estate

 

Online & Board Games

 
 

Home Page › Computers & Software › Paid Software
 

New Concept in Software Protection

 

Author: Alex Sergeev

Most of the available protection schemes use a so called mounted scheme (the protection program adds code to your program that makes it encrypted, compressed and debugger protected). When your program is started this code unpacks, decrypts and adjusts your application back to its original state.

In such a case a cracker's actions are obvious: he suppresses the anti-debugging tricks and dumps the unpacked and decrypted application code. Then after having disassembled and analyzed the code, he simply needs a little patching and he gets a fully functional unprotected copy.

What are the weak points of such protection?

Protection code added to an applications is usually more or less standard and soon or later it becomes the subject of detailed analysis. Once the security code is analyzed, reverse engineering of the protected application becomes a snap. In addition there are many automatic deprotectors that crackers can use for most popular protection solutions. Protected code of your application is encrypted. But before it can be executed the protector has to decrypt it and pass the control to it. This moment can be intercepted by an intruder so he can get the access to the original code for analyzing/modification.

EXECryptor uses a conceptually new approach to protect software applications. The core of the protection technology is a brand new concept of the code transformation called "Code Morphing". This technology protects the code on the CPU-command level. It is known the x86 processors command system is redundant and allows the execution of the same code using various different system commands. It breaks up the protected code into several processor commands or small command snippets and replace them by others, while maintaining the same end result. Thus the protector obfuscates the code not on the source level but on the level of the CPU commands.

The Code Morphing is multilevel technology containing hundreds of unique code transformation patterns. In addition this technology includes the special layer that transforms some commands into Virtual Machine commands (like P-Code). Code Morphing turns binary code into an undecipherable mess that is not similar to normal compiled code, and completely hides execution logic of the protected code.

Unlike other code protectors, there is no concept of code decryption with this system Protected code blocks are always in the executable state, and they are executed as a transformed code. The original code is completely lost and code restoration is an NP-hard problem.

In addition you do not have to worry about the size or speed of your program because you don't need to transform its entire code. You have to protect only critical parts of your code, responsible for serial number verification, trial expiration date, and other evaluation restrictions. The rest of application code remains intact and software execution speed remains the same.

Below is a code sample generated by Delphi and a partial (the full listing contains over 500 instructions) listing of the transformed code.

Source code:

writeln('Test OK');

After compilation:

mov eax, [$ 004092ec]
mov edx, $00408db4
call @WriteOLString
call @WriteLn
call @_IOTest

After the code transformation (partial):
xchg [edi], dl
db 3
add al, $30
xlat
call +$000025b2
jmp +$00000eec
call +$00000941
or al, $4a
scasd
call -$304ffbe9
rol eax, $14
mov edi, [ebx]
jmp +$00001738
mov ebx, eax
shr ebx, $03
push ebx
jmp +$0001b5e
call -$000001eb
jmp +$00003203
jmp +$00005df8
call +$00000910
adc dh, ah
fmul st(7)
adc [eax], al
les eax, [ecx+$0118bfc0]
stosb

http://www.strongbit.com

Author Bio:
Alex Sergeev is a famous writer. Alex likes to scribble articles about this topic.
You can also reach this article by using: free software, free software downloads, cheap computer software, discount software
 
 
 

Related Articles

 
Search Engine Optimization: What Style Suits You Best?
 
How to Pick the Perfect Product for Mail Order
 
7 Incredibly Simple Ways To Profit Wildly From Public Domain Material
 
How to Effectively Market a Web Hosting Reselling Business
 
Cheap Web Hosting Information
 
Utilizing Affiliate Marketing to Sell B2B
 
Basic Lineage 2 Adena Farming Guide
 
Student Discount On Laptops
 
Common Sense Link Exchange
 
Can You Really "Strike Gold" Online?
 
 
 
Home Page :> Privacy of Info :> Terms of Use
© 2006-2008 www.sweatcontent.com All Rights Reserved Worldwide.