Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
    
    
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
    
Дочерние селекторы
    
Селекторы атрибутов
 
Универсальный селектор
    
Псевдоклассы
  
Псевдоэлементы
    
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
    
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
   
Списки
                                          
Ссылки
                                          
Дизайны сайтов
    
Формы
  
Таблицы
    
CSS3
                                         
HTML5
                                       
									Блог для вебмастеров
									Новости мира Интернет
                                    Сайтостроение
    
									Ремонт и советы
	
                                    Все новости
                                        
									
                                    Справочник от А до Я
    
									HTML, CSS, JavaScript
									
									
									Афоризмы о учёбе
									Статьи об афоризмах
									Все Афоризмы
									
									
| Помогли мы вам | 
Немного неочевидным кажется предназначение четырех полей ввода в левой нижней части окна под общим заголовком User-defined trial counters. На самом деле, как я уже говорил, для тех привередливых пользователей, которым мало стандартной защиты по времени или количеству запусков, Obsidium предлагает набор своих функций для интеграции в программу. В качестве одного из вариантов разработчик может устанавливать собственные триальные счетчики, контролируемые прямо из кода во время выполнения программы. Это четыре целочисленные 16-битные переменные, сохраняемые в системе до следующего запуска программы, значения которых можно читать функцией int  и декрементировать функцией bool . Эту функцию можно использовать, например, если мы хотим, чтобы программа после десяти сохранений блокировала функцию Save и продолжала дальше работать как ни в чем не бывало, без дальнейшей возможности сохранить файл на диск. Этот инструментарий предоставляет пользователям более гибкие возможности управления триалом.
После установки нужных параметров защиты жмем вторую снизу кнопку в левой панели с надписью PROTECT, затем во вкладке Executables выбираем файл защищаемой программы и, наконец, нажимаем кнопку Protect All. Теперь наше приложение под защитой демоверсии Obsidium, о чем нам будет напоминать раздражающее окошко при каждом ее запуске.
Потренировавшись на кошках, перейдем к взлому приложения. Итак, у нас имеется триальная версия программы, которую DIE идентифицирует следующим образом:
Obsidium v1.5.4.x - [v1.6.x.x - 1.x.x ]  - Obsidium Software - www.obsidium.de    *ACM  ,Overlay :FE4711...Nothing detected
С первого взгляда очевидно, что загружать такое в дизассемблер совершенно бесполезно: код сильно сжат или зашифрован (на самом деле и то и другое). Секции пустые, из импорта имеются в наличии всего четыре функции. Попробуем сразу загрузить ее в отладчик.
|  |  | 
