Новости. . . Блог программистов


Блог программистов






20113 Авг

Шифровка заменой. Улучшаем алгоритм

Здравствуй читатель! В моих первых двух статьях про шифрование (ссылка1, ссылка2) методом замены, было рассказано, как получить максимальную защиту информации и минимальную избыточность (точнее сказать регулируемую избыточность). Тем не менее, алгоритм обладает одним серьёзным недостатком: книгу кодов очень легко восстановить, зная примерный характер исходных данных. А если знать точное содержимое исходных данных и если размер исходных данных достаточно большой, то книга кодов моментально восстанавливается. В этой статье я попробую решить эту проблему. Всевозможных критиков, специалистов, флудеров и троллей сразу предупреждаю, что алгоритм не претендует на звание самого лучшего, возможно, когда-то он станет лучше.
(more…)

20111 Авг

Генератор псевдослучайных чисел. Повышаем криптостойкость

Здравствуй читатель. В это статье я расскажу, как можно улучшить генератор псевдослучайных чисел, а именно как сделать так чтобы числа были более случайными. Все знают что криптостойкость некоторых алгоритмов шифрования (или почти всех) сильно зависит от того насколько непредсказуемы числа выдаваемые генератором псевдо-случайных чисел (ГПСЧ), который использует тот или иной алгоритм шифрования. В связи этим возникает понятие криптостойкости ГПСЧ, чем более непредсказуем ГСПЧ тем выше его криптостойкость. Другими словами я расскажу, как можно повысить криптостойкость генератора псевдо-случайных чисел.
(more…)

201129 Июл

Шифровка данных заменой. Борьба с избыточностью

Здравствуйте, читатели блога программистов, сегодня снова возвращаюсь к теме шифрования данных. В этой небольшой статье я расскажу, как можно избавиться от основного недостатка метода шифрования, о котором я рассказывал в этой статье про шифрование данных заменой. Описанный в той статье метод шифрования обладает очень большим недостатком – избыточностью, а именно, размер данных удваивается. Ниже я расскажу, как решить эту проблему.
(more…)

201131 Май

Расшифровка скан-кодов клавиш

Здравствуй, читатель! В этой небольшой статье я расскажу, как конвертировать скан-коды клавиш в виртуальные коды и как получать название клавиши по её скан-коду. Если вдаваться в суть дела, то я просто расскажу, как работают функции GetKeyNameText и функции MapVirtualKey. То, что я здесь опишу, возможно, вам никогда не пригодиться, разве что вы сами не захотите создать свою раскладку клавиатуры. Так же мы напишем программу на Delphi для расшифровки данных из файла клавиатурного лога, который создаёт драйвер-фильтр, написанный нами в предыдущей статье.
(more…)

201130 Май

Клавиатурный шпион. Игра переходит на новый уровень

Приветствую тебя, читатель блога программистов! Появление на блоге статьей с периодом в полгода наверно стало уже традицией, притом очень плохой традицией, поэтому эту традицию надо срочно нарушать! В этой статье я снова возвращаюсь к теме клавиатурных шпионов, казалось бы, тема избита и размусолена до такой степени, что уже при одном только её упоминании начинает тошнить. Здесь очень трудно придумать что-то новое, но всё-таки есть ещё способ фильтрации или отслеживания нажатий клавиш на клавиатуре – это написание клавиатурного драйвера-фильтра. Притом драйвер будет не обычным, а с поддержкой технологии Plug&Play.
(more…)

201125 Май

Основа HTML5 шаблона

Начинаем статью по HTML5
Во-первых в начале документа должен быть декларация, или DOCTYPE.
Это просто способ сказать браузеру или любому другому парсеру какой тип
документа он смотрит. В случае HTML, это означает, какая конкретная версия.
DOCTYPE всегда должен быть первым пунктом в верхней части. В прошлом декарация
DOCTYPE была уродлива.Для XHTML 1.0:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
А в HTML5 простая, и которую легко запомнить:
<!doctype html>
Дальше мы дописываем стандартную форму тела HTML. И указываем, что язык — русский
<!doctype html>
<html lang="ru">
</html>
В следующей части нашей страницы <head>. Первая строка определяет кодировку для документа.
Это еще один элемент, который был упрощен. Вместо:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Стает:
<meta charset="utf-8">
Переходим к следующей части нашего документа:
<meta name="description" content=" HTML5 ">
<meta name="author" content="SitePoint">
<link rel="stylesheet" href="css/styles.css">
В этих строках HTML5  не отличается от других стандартов.
В HTML5 появилось ряд новых элементом, которые не поддерживает Internet Explorer. Но это решается куском JavaScript
кода. Который разработан Джоном Резиг.
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
Подключения JavaScriptа было таким:
<script src="js/scripts.js" type="text/javascript"></script>
Стало вот таким:
<script src="js/scripts.js"></script>
Обзор новых тегов  HTML5 ждите в новой статье.
201012 Дек

Защита объектов в Windows

Здравствуйте читатели блога программистов. После долгого перерыва, который длился более чем полгода на блоге новая статья. В этой статье я расскажу про защиту объектов в операционных системах Windows. Данная статья будет полезна каждому, который начал изучать системное программирование в системах Windows, а также тем которые хотят разобраться в механизмах защиты в Windows. В статье речь, конечно, будет идти про системы Windows NT. Всё, что будет здесь сказано, будет справедливо для систем Win 2000, XP, Vista и Se7en. Итак, приступим.
(more…)

201017 Апр

Шифровка данных заменой

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

201027 Мар

Игра Fortress. Конкурс на создание лучшего бота. Итоги

Здравствуйте читатели блога программистов. 18 января на форуме программистов стартовал конкурс на создание лучшего бота для игры в Fortress. Правила игры Fortress.
Игра рассчитана на двух игроков. У каждого есть база. У базы есть щит. Есть также три типа ресурсов: энергия (En), металл (Me) и эллектроелементы (El). Есть набор проектов, которые игроки могут реализовывать. Они бывают разных типов: атака чужой базы, ремонт своей базы, развитие своей базы и т.д. Всего проектов 30, перед началом игры игрок должен выбрать только 15 из них на своё усмотрение (согласно выбранной стратегии). Каждый проект стоит некоторое количество ресурсов. Игроки делают ходы (выбирают проекты) по очереди. Если у игрока не хватает ресурсов ни на один проект, он пропускает ход. Задача игрока уничтожить базу противника (уменьшить броню базы до нуля).
Более подробно правила описаны в этой теме, а обсуждение конкурса в этой теме (также там есть вся необходимая информация для создания бота). Бот представляет собой DLL с тремя экспортируемыми функциями.

(more…)

20105 Мар

Как узнать, запущена программа с правами администратора или нет

Иногда возникает задача узнать, запущена ли программа под администраторской учеткой или же обычного пользователя. Для чего это нужно? Ну, например мы написали крутую софтину, выполняющую некие действия с системой (например свой собственный редактор реестра). Для редактирования некоторых веток (например HKEY_LOCAL_MACHINE), требуются права админа. А вдруг программа запущена без соответствующих привилегий, то тогда мы ничего не сможем сделать — это раз, система нам будет показывать непонятные на первый взгляд ошибки — это два. Одна из самых частых в такой ситуации — ошибка с кодом 5 (ERROR_ACCESS_DENIED). С проверкой на «вшивость» можно говорить пользователю, что нужно запустить программу с правами администратора и смело закрываться.
(more…)

Следующая страница →
Page 1 of 812345»...Last »

Облако меток

AdSense клиент компонент api ClientSocket библиотеки dll ServerSocket приложение INTERFACE шифровка байт char работа пароль учеба programmer процессор Application HANDLE Cursor C++ AssignFile хуки win api Project Internet google FASM memo исходники html функция язык System поиск GetLastError алгоритм программист programmersclub сервер форум exe сайт файл проект Assembler шифрование windows delphi