Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Что скрывают ярлыки?

26.01.2019 | Категория: Software | Автор: ManHunter

Что скрывают ярлыки?

Как гласят толковые словари, форенсика - современная наука о раскрытии инцидентов, связанных с компьютерной информацией, исследовании цифровых доказательств, методах поиска, получения и закрепления таких доказательств. И действительно, невероятно сложно удалить все следы работы за компьютером, чтобы профессионал не смог их обнаружить. Сегодня я покажу вам, что скрывают такие, на первый взгляд, безобидные объекты, как ярлыки недавно открытых документов.

Читать статью целиком »
Просмотров: 1075 | Комментариев: 7

Исследование защиты программы True Paste

23.01.2019 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы True Paste

True Paste - очень удобный инструмент для хранения и быстрой вставки часто используемых шаблонных фрагментов текстов и другой информации. Все тексты группируются по тегам, что значительно облегчает поиск. При необходимости данные можно зашифровать. Действительно полезная программа, но двадцатка баксов тоже на дороге не валяется. Попробуем обойтись без денежных трат.

Читать статью целиком »
Просмотров: 1011 | Комментариев: 8

Кодирование и декодирование чисел по алгоритму Base58

22.01.2019 | Категория: Образ мышления: Assembler | Автор: ManHunter
Base58 - вариант кодирования чисел в виде буквенно-цифрового текста на основе цифр и символов латинского алфавита. Алфавит Base58, как можно догадаться из названия, содержит 58 символов. Base58 был разработан для передачи данных и уменьшения количества ошибок у пользователей, которые вручную вводят данные на основе распечатанного текста или фотографии, то есть без возможности машинного копирования и вставки. Так, к примеру, Base58 используется для кодирования идентификаторов кошельков Bitcoin, для создания коротких ссылок на фотохостингах и т.п. В отличие от кодирования Base64, позволяющего работать с неограниченными объемами двоичных данных, Base58 предназначен для кодирования только одиночных числовых значений.

Согласно спецификации, в алфавит Base58 не входят буквенно-цифровые символы, которые имеют сходное написание и могут неоднозначно восприниматься человеком (например, буква "О" и цифра "0"), а также символы, используемые при формировании URL. Вместе с тем, порядок следования символов в алфавите ничем не регламентирован, зависит только от сферы применения кодирования и может быть любым. Для этой статьи я выбрал следующий алфавит Base58:
  1. alpha db '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'
  2. alpha_len=$-alpha
Использования своего собственного порядка символов также позволяет добавить немного секурности вашему проекту, затрудняя перебор последовательных идентификаторов. Но вы должны понимать, что целиком надеяться на это ни в коем случае не стоит.

Читать статью целиком »
Просмотров: 558 | Комментариев: 2

Московский Океанариум

14.01.2019 | Категория: Жизнь в оффлайне | Автор: ManHunter

Московский Океанариум

Под крышей Московского Океанариума, расположенного в торгово-развлекательном центре "РИО", объединены более 3000 видов рыб и других животных со всех уголков мира. Здесь вы можете увидеть более 100 видов пресноводных от Амазонки и Эквадора до Австралии. Московский Океанариум - третий крупный аквариум в нашем городе, в "Москвариуме" и "Крокус Сити Океанариуме" я уже был, настало время сходить и сюда.

Читать статью целиком »
Просмотров: 310 | Комментариев: 2

Генерация случайных значений на PHP с заданной вероятностью

11.01.2019 | Категория: Web-мастеру и не только | Автор: ManHunter
Понадобилась функция, которая возвращает случайный элемент из определенного набора. Вроде бы простейшее решение в одну строчку. Но особенность задачи такова, что элементы должны появляться не просто случайно, а с определенной вероятностью: какие-то чаще, какие-то реже. То есть у каждого значения имеется весовой коэффициент, влияющий на частоту его появления. Например:
  1. // Массив значений и весовых коэффициентов
  2. $data=array(
  3.     'купить'=>50,
  4.     'заказать'=>5,
  5.     'приобрести'=>30,
  6. );
Для такого набора данных чаще всего должно появляться слово "купить", чуть реже "приобрести" и в очень редких случаях может проскакивать вариант "заказать". Готовая функция получилась следующей:
  1. //-------------------------------------------------------------
  2. // Получение случайного значения с заданной вероятностью
  3. //-------------------------------------------------------------
  4. function smart_rand($data) {
  5.     // Пустой массив не обрабатываем
  6.     if (count($data)==0) { return false; }
  7.  
  8.     // Отсортировать массив с сохранением ключей
  9.     arsort($data);
  10.  
  11.     // Сформировать массив с интервалами
  12.     $max_rand=0;
  13.     $weights=array();
  14.     foreach ($data as $key=>$value) {
  15.         $max_rand+=$value;
  16.         $weights[$max_rand]=$key;
  17.     }
  18.  
  19.     // Случайное число от 0 до суммы всех весовых коэффициентов
  20.     $rand=mt_rand(0,$max_rand);
  21.  
  22.     // Найти интервал, в который попадает случайное число
  23.     foreach ($weights as $key=>$value) {
  24.         if ($rand<=$key) {
  25.             break;
  26.         }
  27.     }
  28.     return $value;
  29. }
На входе передается массив значений с весовыми коэффициентами, на выходе одно из значений. Пример использования:
  1. // Вывести 100 вариантов написания
  2. for($i=0$i<100$i++) {
  3.     echo smart_rand($data).' ';
  4. }
Числовые значения весовых коэффициентов могут быть любыми и следовать в произвольном порядке, их количество также ничем не ограничено.

Просмотров: 276 | Комментариев: 1

01 ... 06 07 08 09 10 11 12 ... 276
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2019
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.09 сек. / MySQL: 2 (0.0178 сек.) / Память: 4.75 Mb
Наверх