У вас вопросы?
У нас ответы:) SamZan.net

; - преобразование ключа шифрования выравнивание его длины с длиной магической строки - ifstrlen

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 5.4.2025

{   if (* (char*)a<*(char*)b)   return  -1; else   if (* (char*)a==*(char*)b)   return  0; else   return   1;    } void main()

{   char  tmp[MAXLEN],   //   упорядоченный ключ шифрования key[MAXLEN],    //   ключевая фраза

res[MAXLEN],   //  результирующее  хеш-значение   (шифро //текст)

str[MAXLEN]   = .MAGICTEXT;   //  магическая  строка /* проверка количества параметров командной строки при попытке запуска приложения и копирование ключевой фразы */

if(_argc>l)   strncpy(key,   _argv[l],   MAXLEN); else  strcpy(key,"");

/*   преобразование   ключа  шифрования   (выравнивание   его длины с длиной магической строки)   */ if(strlen(MAGICTEXT)<strlen(key)) strncpy(tmp,   key,   strlen(MAGICTEXT)); else   strcpy(tmp,   key);

while (strlen(tmp)<strlen(MAGICTEXT))   strncat(tmp," ",1) ; char  Key[MAXLEN];   //   преобразованный ключ strcpy(Key,   tmp);

//   сортировка  символов  ключа шифрования qsort(tmp,   strlen(tmp),   sizeof (char),   It); unsigned Perm[MAXLEN];   /* ключ шифрования для перестановки * /

//  цикл шифрования магической строки for(unsigned  i=0;   i<strlen(MAGICTEXT);   i++) {   Perm[i]=strchr(tmp,   Key[i])-tmp; tmp[Perm[i]]=' \1' ; res[i]=str[Perm[i]];    } res[strlen(MAGICTEXT)]='\0';

//   сравнение полученного и эталонного хеш-значений if(!strcmp(res,   HASHVALUE)) //   продолжение работы приложения при совпадении

/* завершение работы защищенного приложения при несанкционированном запуске  */ else  exit (-1);    }

Для скрытия процедуры санкционированного запуска приложения создается контейнер — документ в текстовом процессоре Microsoft Word с произвольным содержанием, но включающий в себя три макроса.

1. Играющий роль скрываемого сообщения макрос с произвольным именем для ввода пути к защищаемому приложению и

 параметра его запуска (ключевой фразы), запуска программы, завершения работы текстового процессора Microsoft Word:

Sub  CallProgO

'   CallProg Макрос

'   Макрос  создан 26.03.2004  Павел Б.   Хорев

s = InputBox("Параметры запуска",   "Инициализация",   "") If  s  о  ""  Then  Shell  s Application.   Quit End  Sub

Этот макрос с помощью команды меню Microsoft Word Сервис | Настройка | Клавиатура связывается с ключевой комбинацией клавиш на клавиатуре (например, Alt+Ctrl+P).

2. Макрос со стандартным именем для блокировки команды
меню
Microsoft Word Сервис | Настройка:

Sub ToolsCustomize()

' ToolsCustomize Макрос

' Настройка интерфейса пользователя Word (меню,

' клавиатура и " панели инструментов)

г

' Dialogs(wdDialogToolsCustomize).Show End Sub

3. Макрос со стандартным именем для блокировки команды
меню (и дублирующей ее кнопки панели управления) Сервис |
Макрос | Макросы:

Sub  ToolsMacroO г

'   ToolsMacro  Макрос

'   Запуск,   создание,   удаление или изменение макроса

'   Dialogs(wdDialogToolsMacro).Show End  Sub

При открытии документа-контейнера неуполномоченным пользователем будет выдано сообщение о наличии в документе макросов, возможно содержащих вирусы (см. подразд. 6.3), с предложением выбора варианта дальнейшей работы с документом — с отключением макросов или без их отключения. Если неуполномоченный пользователь выберет вариант работы с документом без отключения макросов, то для осуществления несанкционированного запуска защищаемого приложения он должен подобрать:

• ключевую комбинацию клавиш для выполнения запускающего макроса (просмотр списка макросов документа и назначенных комбинаций клавиш будет заблокирован);




1. 22 велись на Кунцевском заводе авиационных винтов и лыж
2. вариант расчета размера вкладов только по результатам нейросетевого анализа так как расчеты предыдущего ра
3. ПРАВО НА СМЕРТЬ
4. аналитический комплекс предназначенный для обработки информации на перфокарточных носителях электронный
5. Иеремию отличала последовательность поистине феноменальная
6. 14 Инфекции Эпидемиологический процесс распространение инфекционных заболеваний среди людей
7. Этот рынок не может существовать на принципе полного саморегулирования
8. Соотношение понятий ldquo;человекrdquo; ldquo;индивидrdquo; ldquo;индивидуальностьrdquo; ldquo;личностьrdquo;.html
9. Полярные сияния.html
10. Обычное закономерное периодически повторяющееся действие которое происходит происходило или будет про