Иногда в своих проектах необходимо реализовать возможность контроля запущенных экземпляров программ или возможность взаимного контроля зависимых друг от друга программ. Для решения этой задачи нам понадобиться получить список запущенных процессов.
Читать далее...
Начнём с того, что такое SWIG. Итак, это мега-штука, которая предоставляет интерфейс скриптовым языкам (PHP, Python, Tcl, etc) к коду на C/C++. На официальном сайте есть несколько туториалов, которые вкратце показывают как можно применить SWIG для того или иного языка и python в их числе. Вроде при попытке повторить действия никаких ошибок не происходит, однако почему-то никак не получалось получить доступ к описанной в C++ структуре и объявленной там же переменной.
Итак, данный пост содержит немного подправленые инструкции из туториала с официального сайта SWIG для python.
Читать далее...
Я считаю что данная тема довольно актуальна и для своих программ иногда приходится придумывать механизмы которые к примеру не позволяли запускать одновременно несколько копий программ. Для реализации такого механизма достаточно описать в своем проекте функцию получения списка запущенных процессов и в зависимости от своих нужд работать с полученным списком. Читать далее...
Иногда в программах необходимо использовать возможность проверки типа носителя или его серийный номер. Причины могут быть разными от банального контроля устройств в системе до средств защит использующих привязку к железу. Сейчас я вам покажу как с помощью API реализовать эту простую задачу.
Читать далее...
Мы уже недавно рассматривали примитивную работу с потоками, а именно, запуск потоков и передача им параметров, использование замков и, по большому счёту, всё. Теперь пришло время изучить другие способы взаимодействия потоков в python'е.
Для лучшего понимания советую прочитать этот пост.
Читать далее...
В данной статье будет рассмотрена реализация многопоточного приложения на Python'е. Сама задачка выглядит примерно так:
1. Главный поток запрашивает у пользователя md5-сумму какого-либо файла и директорию для поиска файла с такой же суммой. Получив эти параметры первый поток запускает 2й и продолжает свою работу (опять ожидает данных от пользователя).
2. Запущенный поток проверяет есть ли в БД приложения файл с таким хешом. Если есть - выводит результат, иначе, запускает 3й поток с такими же параметрами (путь и хеш) и по его завершении заново проверяет БД. Выводит результат.
3. 3й поток хеширует все файлы с помощью md5 по указанному пути и результат записывает в базу данных.
Читать далее...
В криптографии шифр Вернама известен также как «схема одноразовых блокнотов». Решение является системой симметричного шифрования, которая была изобретена в 1917 году сотрудниками AT&T Мейджором Джозефом Моборном и Гильбертом Вернамом.
В 1949 годах была опубликована работа Клода Шеннона, где Шеннон доказал абсолютную стойкость шифра Вернама. В этой работе, Шеннон показал что не существует других шифров с подобными свойствами и его выводом стало следующее утверждение: шифр Вернама – самая безопасная криптосистема из всех имеющихся.
Читать далее...
Немного теории. Шифр Виженера представляет собой усовершенствованную многоалфавитную систему шифрования (или, как её ещё называют, полиалфавитная). Идея шифра состоит в использовании в качестве ключа (кодовое слово) текст самого сообщения (открытого - не зашифрованного) или же шифрованного текста (закрытого). Кроме того, для усиления стойкости шифра, в качестве первого символа ключа берется случайным образом буква из алфавита. Авторами этой идеи являются Джероламо Кардано и собственно сам Блез де Виженер. Данный шифр также имеет другое название "шифр самоключ". Этот шифр Виженер описал в своей книге "Трактат о шифрах". В своем трактате Блез описал этот шифр следующим образом. В простейшем случае за основу бралась таблица Тритемия, в последствии которая получила название таблица Виженера.
Читать далее...
В данной статье будет приведён пример защиты исполняемого кода от различных анализаторов и прочей бяки. Данный способ может использоваться как для защиты кода от крякеров, так и для написания зловредного ПО (чего вам крайне не рекомендую), которое делает неизвестно что... код то зашифрован. Исходники на C++.
Читать далее...
Причиной побудившей меня написать эту статью была нестабильность работы соединения с Интернетом, которое довольно часто разрывалось. А стандартная функция ОС Windows ХР не справлялась с возложенной на нее обязанностью по восстановлению разорванного соединения. Плюс к этому, не так уж удобно «листать» системный журнал в поиске причины разрыва, или времени разрыва, или других каких логов.(Стоит только вспомнить эти ужасные времена, когда у «стрима» было аж по 4 обрыва. Сколько нерв попортили они людям) … прошу прощения, отвлекся ;) Приступим к решению этого вопроса. В качестве язык программирования будем использовать Delphi 7 версии.
Читать далее...
В mail.ru агенте есть возможно одна полезная вещь - отправка до 50 sms в сутки с одного аккаунта. Протокол агента является открытым и его можно посмотреть на сайте, однако выложена не совсем свежая версия и не сказано ни слова об отправке sms, но это не проблема.
Читать далее...
Свежие комментарии