Вход

Защита программ от несанкционированной эксплуатации

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 592204
Дата создания 2017
Страниц 23
Мы сможем обработать ваш заказ (!) 27 сентября в 16:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
2 880руб.
КУПИТЬ

Содержание

ВВЕДЕНИЕ 3
1.1 Назначение программного продукта 4
1.2. Способ сокрытия информации 4
2 Методы защиты от взлома 5
3.1 Код установщика 7
3.2 Код основной программы 14
ВЫВОД 23

Фрагмент работы для ознакомления

2 Методы защиты от взлома
Для защиты от взлома используются различные методы.
Для начала, все файлы хранятся порознь в отдельных папках и пути до этих папок хранятся в файлах, скрытых для пользователей, что усложняет их нахождение. В заблуждение вводят ненужные папки с файлами. В имеющихся файлах конфигурации наряду с нужной информацией, такой как оставшееся количество запусков и серийный номер привязанного к программе устройства, хранится множество отвлекающей внимание информации.
Важно отметить, что информация о числе запусков распределена по нескольким файлам, что усложняет понимание злоумышленником структуры хранение этой информации. Принцип разделения следующий: в одном файле среди массы отвлекающей информации хранится один-единственный интересующий нас символ, а в другом--число, являющееся шагом, с которым мы, пройдя по ASCII-таблице, получим оставшееся число запусков программы. С каждым запуском программы – меняется символ.
...

3.1 Код установщика
namespace Installer
{
class Program
{
static void Main(string[] args)
{
// Привязка к серии USB-накопителя
string path = Environment.CurrentDirectory;
USBSerialNumber usb = new USBSerialNumber();
string serial = usb.getSerialNumberFromDriveLetter(String.Format("{0}{1}", path[0], path[1]));//записывается буква диска, из нее извлекается серийный номер

// Шифрование и запись серии в файл
using (MD5 md5Hash = MD5.Create())
{
byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(serial));
StringBuilder sBuilder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
serial = sBuilder.ToString();
}

String userName = Environment.
...

Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00379
© Рефератбанк, 2002 - 2024