Показаны сообщения с ярлыком защита. Показать все сообщения
Показаны сообщения с ярлыком защита. Показать все сообщения

четверг, 17 октября 2013 г.

Защита исходного кода приложений

Для защиты исходного кода приложения обычно используются протекторы (представитель, .Net Reactor) или обфускаторы (представитель SmartAssembly, список можно глянуть здесь). В данной статье не планирую рассказать в чем их отличие, и какие есть разновидности. Со всем этим читатель может ознакомиться самостоятельно, например здесь. Случайно в интернете нашёл описание как можно написать собственный обфускатор ну или по крайней мере разобраться как он работает. Пример основан на использовании Mono.Cecil, что так же позволит немного разобраться в данной библиотеке.
К сожалению, блог автора пропал и его удалось восстановить благодаря веб-архиву. В итоге всех статей автор написал свой обфускатор, который выложил в открытом доступе http://code.google.com/p/ncloak/

Выкладываю ссылки в хронологическом порядке. Пользуйтесь :)

Protecting your precious code!
Protecting your precious code! - Part 2
Protecting your precious code - Obfuscation
Protecting your precious code - Mono.Cecil
Protecting your precious code - Naming inside our obfuscater
Lesson of rolling name table
Obfuscating multiple assemblies - Part 1
Obfuscating multiple assemblies - Part 2
Breaking into obfuscated code
String Encryption as an Obfuscation Tool - Part 1
String Encryption as an Obfuscation Tool - Part 2
String Encryption as an Obfuscation Tool - Part 3
The danger of the Changelog
Stopping ILDASM decompiling your assemblies
Handling 64-bit assemblies during obfuscation
How to make your Obfuscator fool Reflector
Making NCloak fool Reflector
Removing Invalid OpCodes From Obfuscated Assemblies
Hacking Mono.Cecil - allowing invalid opcodes
Tamper Proofing your Code
Tamper Proofing - an implementation (Part 1)
Tamper Proofing - an implementation (Part 2)

Еще статьи

2leep.com