Сбросить приложение по умолчанию для типов файлов в Windows 10
1.Откройте меню “Пуск” и зайдите в “Параметры”.
2. Зайдите в “Приложения” => “Приложения по умолчанию” => возле “Сброс к рекомендованным Майкрософт значениям по умолчанию” нажмите на “Сбросить”.
Дождитесь пока возле “Сбросить” появится флажок и закройте параметры системы. Теперь все типы файлов открываются как будто вы только установили Windows.
Восстановление ассоциаций файлов в настройках Windows 10
В параметрах Windows 10 появился пункт, позволяющий сбросить все ассоциации файлов на настройки по умолчанию (который работает с некоторыми ограничениями, о чем далее).
Найти его можно в «Параметры» (клавиши Win+I) — Система — Приложения по умолчанию. Если в указанном разделе в пункте «Сброс к рекомендованным Майкрософт значениями по умолчанию» нажать «Сбросить», то все ассоциации файлов будут приведены к состоянию, которое было на момент установки системы, удалив заданные пользователем значения (Кстати, в том же окне, ниже, есть пункт «Выбор стандартных приложений для типов файлов», чтобы задать конкретные ассоциации программ для каждого типа файлов.).
А теперь об ограничениях работы этой функции: дело в том, что в процессе ее использования, удаляются заданные пользователем сопоставления файлов: в большинстве случаев, это срабатывает для того, чтобы исправить типичные нарушения ассоциаций файлов.
Но не всегда: например, если были нарушены ассоциации файлов exe и lnk, но не только добавлением программы для их открытия, но и повреждением записей в реестре (что тоже случается) об этих типах файлов, то после сброса при запуске такого файла, вас спросят: «Каким образом вы хотите открыть этот файл?», но правильного варианта не предложат.
2 простых способа переназначения умолчаний
- Зайдите в Пуск и запустите системную утилиту «Параметры» (щелкните по значку в виде шестеренки).
- Перейдите в раздел «Система».
- Потом – в «Программы по умолчанию».
- Найдите в списке пункт «Веб-браузер», щелкните по нему и выберите Оперу.
В случае с Оперой всё просто, а что делать, если нужной софтины в «Параметрах» нет? Представим другую ситуацию: перед нами стоит задача сделать браузером по умолчанию Google Chrome, которой, судя по скриншоту, в списке доступных вариантов отсутствует.
- Щелкнем по Пуску правой кнопкой мышки либо нажмем комбинацию клавиш Windows+X и выберем в меню «Панель управления».
- Зайдем в раздел «Программы по умолчанию».
- Следом – в «Задание программ…».
- Из таблицы всех установленных на компьютере приложений выберем Google Chrome и кликнем «Использовать».
Файл ENC поврежден
Если после установки необходимой программы из списка, Вы по-прежнему не можете открыть файл с расширением ENC, поводом может быть его повреждение. Решением может быть нахождение новой копии файла ENC, который Вы собираетесь открыть
Расширение файла ENC не связано с соответствующим приложением
В таком случае проще всего воспользоваться встроенными в операционную систему инструментами для связи файла ENC с приложениями для его обслуживания. Нажмите дважды на файл, которой не можете открыть, — операционная система покажет список программ, которые вероятнее всего совместимы с Вашим файлом ENC. Выберите одну из них, либо укажите на диске место, в котором Вы установили одно из предложений из нашего списка. Система Windows должна открыть файл ENC с помощью предварительно установленной программы.
Запись, касающаяся файла ENC в «Реестре Системы Windows» удалена либо повреждена
Файл ENC инфицирован вирусом
Может случится так, что компьютерный вирус подшивается под файл ENC. В таком случае, наверняка не будет возможности открытия такого файла. Скачайте любую хорошую антивирусную программу и сканируйте файл ENC. Если антивирусная программа обнаружит опасные данные, это может обозначать индикацию файла ENC.
Вы здесь, потому у вас есть файл, который имеет расширение файла, заканчивающийся в.enc. Файлы с расширением.enc может быть запущен только некоторыми программами. Вполне возможно, что.enc являются файлами данных, а не документы или средства массовой информации, что означает, что они не предназначены для просмотра на всех.
Как удалить домен в панели управления хостингом?
Чтобы удалить домен, выберите нужную панель управления хостингом и следуйте инструкции ниже:
В зависимости от того, куда в панели добавлен домен, он выполняет определенные функции. Так домен, добавленный в «Доменных именах», позволяет редактировать ресурсные записи, в «WWW-доменах» — позволяет разместить сайт на хостинге, а в «Почтовых доменах» — пользоваться почтой на хостинге.
Вы можете удалить всю информацию о домене с услуги хостинга, удалить только сайт на домене или удалить только почтовый домен. В зависимости от цели следуйте нужной инструкции ниже:
Чтобы удалить всю информацию о домене с услуги хостинга
- 1.
Перейдите в раздел «Доменные имена», выделите нужный домен и нажмите Удалить в правом верхнем углу:
Поставьте галочки напротив графы «Удалить WWW-домен» и «Удалить почтовый домен» и нажмите Ok. Таким образом вы удаляете все данные домена с услуги хостинга (файлы сайта, почта и другие настройки).
Чтобы удалить только сайт на домене (почта останется работать)
- 1.
Перейдите в раздел «WWW-домены», выделите нужный домен и нажмите кнопку Удалить:
Нажмите OK в появившемся окне:
Необходимо удалить почтовый домен (вы настраиваете стороннюю почту: Yandex, Goggle Apps …)
Перейдите в раздел «Почтовые домены», выделите необходимый домен и нажмите кнопку Удалить в правом верхнем углу:
- 1.
Откройте панель управления и в разделе «Домены» нажмите на Дополнительные домены:
Нажмите Удалить напротив необходимого домена. Важно: нажав кнопку «Удалить» вы удаляете все файлы сайта, почтовые ящики и другие настройки в панели управления, добавленные для данного доменного имени.
- 1.
На странице «Сайты и домены» выберите нужный домен и нажмите Удалить:
Подтвердите действие, нажав Да во всплывающем окне:
Взлом программ для чайников
Disclaimer: всё ниженаписанное написано исключительно с просветительскими и исследовательскими целями, а также понимания механизмов защиты от взлома. Автор ни в коем случае не рекомендует использовать данную информацию для взлома программ.
В данной статье я хочу рассказать про три с половиной основных способа взлома программ на .NET, цель, которую я преследую — помочь разработчикам лучше понять механизмы защиты своих программ, т.е. выяснить наиболее очевидные угрозы и предпринять соответствующие меры (или не принимать).
Я не буду углубляться в детали и использовать сложные инструменты для взлома. Всё будет расписано «для чайников», т.е. все инструменты будут простыми, легкодоступными и бесплатными. А основным будет Reflector, декомпилятор программ под .NET
В качестве подопытного кролика я выбрал Expresso — анализатор регулярных выражений. Данная программа бесплатная, в лицензии вроде бы ничего не указано про взлом, но при этом без регистрации она будет работать всего 60 дней. Другими словами, вред от взлома данной программы минимальный, к тому же внутреннее её устройство очень уж хорошо подходит для тренировки. Буду надеяться, что автор данной программы не обидится на меня.
Для начала краткий ликбез по структуре .NET программы, для тех кто не знаком с разработкой под данный Framework: весь код, написанный на любом .NET языке (C#, Visual Basic, F#, Delphi.NET) компилируется в особый Intermediate Language, называемый обычно IL или MSIL. Это что-то типа ассемблера, только весьма умного и обладающего весьма мощными инструкциями. И это, в принципе, такой же равноправный язык как и C#, только синтаксис похуже (а возможности больше). Кроме того, в программе на .NET активно используются метаданные, т.е. вся информация о классах, метода, пропертях, атрибутах и всём остальном сохранена в исполняемом файле.
Т.е. на самом деле, декомпиляция программы не очень верное понятие в данном случае. Она и так вся в открытом виде лежит, а инструменты в виде Reflector’а занимаются тем, что приводят конструкции MSIL к соответствующим конструкциям C# или другого языка, повышая читабельность кода.
Перейдём, собственно, к взлому.
0. Обнуление триала
Собственно, это даже не взлом, а полулегальный способ продлить срок использования неактивированной программы. Заключается он в том, что находится место, где хранится дата первого запуска и меняется/уничтожается. После этого всё можно пользоваться программой до следующего срока.
Посмотрим на нашего подопытного рефлектором. Немного погуляв по коду, находим интересную строчку в конструкторе MainForm:
Открываем редактор реестра, идём в HKEY_CURRENT_USERSoftwareUltrapicoExpresso и видим следующие ключи:
Удаляем их и получаем ещё 60 дней работы.
Данный вариант, конечно, прост и очевиден, но если он даже был бы сложнее — потребовалось бы чуть больше времени провести в рефлекторе, чтобы выяснить все места, куда пишется информация и зачистить их.
Совет разработчикам, которые будут пытаться записать данные в потаённое место: пишите аккуратнее, а то всё может обернуться проблемами обычным пользователям, у которых почему-то не окажется данного места, или не хватит на него прав.
1. Написание keygen’а
Самый ужасный для разработчика вариант, и самый приятный для конечного злобного пользователя. Программа считает себя лицензионной, никаких страшных телодвижений не нужно делать.
Открываем рефлектор и ищем код на предмет классов содержащих License или Registration, видим:
При вводе имени и кода по имени вычисляется некий хеш, который и сравнивается с кодом.
Данный хеш использует DES и всякие префиксы
Байты конвертятся в строку с помощью данного метода.
Теперь всё выяснилось, открываем IDE и копируем все необходимые куски кода (или сами реализовываем). Осталось только выяснить, какие значения у Prefix, Suffix и параметры реализации MyDES. Я их приводить не буду, это уже технические детали.
В результате генерируем ключ на любое имя и видим:
Защита от кейгенов проста и очевида: использовать в каком либо виде ассиметричное шифрование. Т.е. сделать так, чтобы без знания приватного ключа сгенерировать код было бы невозможно, а данный ключ находится только в одном месте — у автора программы.
2. Использование враппера
Проверка корректности лицензии, достаточно хлопотное дело, и небыстрое. Поэтому разработчики программ обычно проверяют лицензию один раз, и дальше используют полученный флажок — валидна/невалидна (как вариант насколько валидна, если допускается несколько типов лицензии, отличающихся возможностями). Тут можно на этом сыграть, использовав следующий алгоритм:
- Указать программе, что лицензия уже проверена
- Указать программе, что лицензия корректна
С запуском ничего интересного, а в проверке видно, что если уже программа зарегистрирована, то она считает, что всё хорошо и не делает дальнейшую работы по выяснению корректности лицензии.
Воспользуемся этим. Сделаем новый проект, добавим Reference на Expresso.exe и запустим его через себя:
Смотрим, что получилось:
Ну кто бы сомневался.
В данном случае всё оказалось просто, но если бы автор программы заменил публичные свойства на приватные, то всего-лишь пришлось бы использовать Reflection для доступа и всё бы свелось к исходной задаче.
Думаю понятно, как можно пробовать защититься от этого — проверять лицензию периодически, смотреть окружение из которого запущена программа, сделать невозможным установку нужной переменной.
Но все эти защиты приведут к тому, что злоумышленник будет использовать
3. Физический взлом программы
Тут уже всё серьёзно. Программа целиком декомилируется в MSIL а из него уже собирается обратно (помните, я писал, что MSIL это такой же язык как и C#?). Для декомпиляции нам понадобится утилита из SDK под названием ildasm, а для компиляции компилятор из .NET Framework ilasm.
Запускаем ildasm, открываем Expresso.exe и сохраняем дамп в .il файл. Находим уже рассмотренный метод IsRegistered и добавляем немножко своего кода (без меток):
Потом берём ilasm и собираем всё назад (не забыв подключить ресурсы).
Что делает данный код: устанавливает нужное имя для регистрации (не обязательно), и возвращает статус, что всё хорошо.
Чтобы было понятнее, так это выглядит в рефлекторе, в C#
Т.е. вполне очевидно, что теперь всё будет хорошо:
Немного про код в MSIL: это стековая машина, у которой нет регистров, все операции имеют вид: засунуть в стек нужное количество параметров, выполнить функцию, которая заберёт нужное количество параметров и положит результат. Ну и обратно: установить значение переменной тем, что лежит в стеке. Чтобы лучше понять работу всего этого рекомендую простой приём: пишите маленькую программу на привычном языке, компилируете, смотрите что получилось в MSILe и разбираетесь в конструкциях языка.
При этом некоторые вещи в MSIL можно сделать очень красиво, например поменять две переменные местами — 4 симпатичных строчки (на C# меньше, но некрасиво).
Чем жертвует злоумышленник: подписью программы, теперь она уже не автора, а его. В некоторых случаях это проблема, если в программе используется множество библиотек. Тогда злобному хакеру придётся разбирать их все и собирать их заново, но если он с этим справится, то у него будет «своя» версия программы подписанная его ключом.
Защиты от всего этого безобразия собственно немного: проводить обфускацию или выносить часть логики/проверки защиты в нативный код.
Отправка документов в работу
Быстро отправить документ в работу можно прямо из его карточки. Список доступных действий для отправки зависит от документа.
Выбор действия для отправки документа в обработку
Например, документы, для которых предусмотрен четкий порядок обработки, отправляются задачей на согласование по регламенту. Входящие документы, по которым необходимо вынести резолюцию, отправляются на рассмотрение руководителю. А утвержденные приказы или распоряжения отправляются сотрудникам на ознакомление.
Ознакомиться с документом можно прямо в карточке задачи, задания или уведомления на панели предпросмотра. Возможность позволяет одновременно читать документ и оставлять комментарии в тексте задания.