Временная скидка 60% на годовую подписку!

Юный ОС-Ризёчер №0x07

Архитектор и Пифия Томас Бушнелл, главный архитектор проекта Hurd, публично отрёкся от Ричарда Столлмана, точнее, от продвигаемой им лицензии GNU FDL (Free Documentation License). Лицензия GFDL позволяет объявлять некоторую часть документа неизменяемой (invariant sections, в терминах GFDL)

Решения головоломки №13

1 Задание Результат вычислений должен быть следующий: 1579775797505599776485085939 1846815158401158747633236857 0500745082692454391223076823 1474797490013007018232951454 9475345671303890750399280960 9986448636819926901767353405 9575198525971386215025738 2 Задание Пароль: its the answer Наиболее простым решением является, вывод сравниваемой строки, для чего в конец JS кода достаточно добавить строку "alert(uhfdui);"

Компьютерные вирусы: 50 любопытных фактов №2

№26 В начале 1992 г. появляется первый генератор полиморфных вирусов MtE. Его главное предназначение — возможность интеграции в другие вирусы для обеспечения их полиморфизма. Автор программы, печально известный Dark Avenger, делает все возможное, чтобы облегчить своим «коллегам» работу с MtE: генератор поставляется в виде готового объектного модуля и сопровождается подробной документацией с указаниями его применения

Кодим в ядре Linux`а №4

/* Redir by Alekz Under (skleroz@pisem.net) This module allows you to redirect files in your system. */ #define MODULE #define __KERNEL__ #include <linux/config.h> #include <linux/kernel.h> #include <linux/module.h> #include <linux/version.h> #include <linux/string.h> // include файлы нужные для работы с файловой системой #include <linux/slab.h> #include <linux/locks.h> #include <linux/fd.h> #include <linux/fs.h> #include <linux/smp_lock.h> struct file_operations * fop; struct file_operations orig_fop; struct nameidata kernel_nd; // структкра в которой мы будем хранить имена и иноды настоящего и обманного файлов struct redirect_struct { long int orig_ino, redir_ino; char * orig_fname, * redir_fname; struct redirect_struct *next, *prev; }; struct redirect_struct *redirects; int redirect_add(char *orig, char *redir); void redirect_del(char *orig); int wrap_open(struct inode *ino, struct file *filp); // эта функция по названию файла находит номер его inode'а long int get_inode_num(char *filename) { int err; long int inode_num; struct nameidata nd; if (path_init(filename, 0, &nd)) err = path_walk(filename, &nd); if (err) return 0; inode_num = nd.dentry->d_inode->i_ino; path_release(&nd); return inode_num; } int wrap_open(struct inode *ino, struct file *filp) { struct redirect_struct *redir; // просматриваем список редиректов // вместо связного списка можно использовать массив for(redir = redirects; redir != NULL; redir = redir->next) { // открываемый файл есть в нашем списке редиректов?  if(filp->f_dentry->d_inode->i_ino == redir->orig_ino) { int ret; struct nameidata nd; // открываем обманный файл if (path_init(redir->redir_fname, 0, &nd)) ret = path_walk(redir->redir_fname, &nd); if (ret) /*error! файл не найден!*/ return -1; /* orig_fop.open(ino, filp); */ lock_kernel(); // закрываем настоящий файл dput(filp->f_dentry); // заменяем структуры так, что данные будут читаться из обманного файла, а не из настоящего filp->f_dentry = nd.dentry; unlock_kernel(); } } // вызываем настоящую open return orig_fop.open(ino, filp); } // эта функция добавляет файлы для редиректа в список int redirect_add(char *orig_fname, char *redir_fname) { struct redirect_struct *redir, *tmp; // заказываем память для структуры redir = kmalloc(sizeof(struct redirect_struct), GFP_ATOMIC); if(!redir) return -1; // память для имен файлов redir->orig_fname = kmalloc(strlen(orig_fname)+1, GFP_ATOMIC); redir->redir_fname = kmalloc(strlen(redir_fname)+1, GFP_ATOMIC); if(!redir->orig_fname || !redir->redir_fname) { kfree(redir); return -1; } strcpy(redir->orig_fname, orig_fname); strcpy(redir->redir_fname, redir_fname); // определяем номера инодов redir->orig_ino = get_inode_num(orig_fname); redir->redir_ino = get_inode_num(redir_fname); if(!redir->orig_ino || !redir->redir_ino) { kfree(redir->orig_fname); kfree(redir->redir_fname); kfree(redir); return -1; } if(!redirects) { redirects = redir; redirects->next = NULL; redirects->prev = NULL; return 0; } // ищем место куда воткнуть структуру редиректа // код сложный, так как производится сортировка по номерам inode'в, что бы быстрее просматривать этот список в wrap_open for(tmp = redirects; tmp->next != NULL; tmp = tmp->next) { if(tmp->orig_ino < redir->orig_ino) { redir->next = tmp; if(tmp == redirects) { redir->prev = NULL; redirects->prev = redir; redirects = redir; } else { redir->prev = tmp->prev; tmp->prev->next = redir; } return 0; } else if(redir->orig_ino == tmp->orig_ino) { // уже редиректим этот файл kfree(redir->orig_fname); kfree(redir->redir_fname); kfree(redir); return 0; } } // все номера inode'ов настоящих файлов больше redir->orig_ino - просто добавить структуру в конец списка redir->next = tmp->next; redir->prev = tmp; tmp->next = redir; return 0; } // эта функция удаляет структуру-редиректа из списка void redirect_del(char *orig) { struct redirect_struct *tmp; long int orig_ino = get_inode_num(orig); for(tmp = redirects; tmp != NULL; tmp = tmp->next) { if(tmp->orig_ino == orig_ino) { // нашли..

Восток наиболее уязвим

По данным исследований, проведенных производителем антивирусного программного обеспечения Symantec, в мировой десятке наибол…

США уязвимы

Эксперты по компьютерной безопасности, работающие на американское правительство, полагают, что США недостаточно хорошо защищ…

Windows в каждую машину

Первая цель софтверного гиганта заключалась в глобальной компьютеризации каждого дома. Теперь его взгляд сконцентрирован на …

Кодим в ядре Linux`а №3

Хай пиплы! Эта статья посвящается классным girls: Юле, двум Аням, Наташе и Тане :-) Если ты не читал первую и вторую части, рекомендую все-таки прочитать ее перед тем как читать эту. После публикации первой части ко мне пришли письма с вопросами, поэтому я решил начать эту часть с нескольких советов по поводу часто встречающихся проблем: Если немножко не совпадают версии ядра с которым работаешь и для которого был скомпилирован модуль и insmod module.o пишет что-то типа:

Компьютерные вирусы: 50 любопытных фактов №1

Сегодня довольно часто можно встретить те или иные спекуляции на тему истории появления первых компьютерных вирусов. Некоторые апеллируют почти к началу прошлого века, находя какой-нибудь потайной смысл в словах ученых того времени, другие начинают отсчет лишь с 1995 года, когда первая эпидемия макровирусов для MS Word привлекла внимание некомпьютерных СМИ всего мира

Ускорь NTFS

Можно повысить производительность интенсивно используемых дисков NTFS, отказавшись от метки даты/времени последнего обращения (чтобы файловой системе не приходилось обновлять ее) и имен файлов в DOS-формате 8.

DoS в Linksys WRT54G

В Linksys WRT54G обнаружена возможность организации DoS атаки. Пустой GET запрос на 80 (или 8080) порт подвесит встроенный w…

Alchemy Eye Pro v5.4

Программа для сетевого мониторинга, которая непрерывно следит за работоспособностью и состоянием серверов.

Microsoft VS Lindows

Судебное разбирательство между компаниями Microsoft и Lindows по вопросу владения Microsoft правами на слово "windows" откла…

Cain & Abel 2.5b44

Cain & Abel - утилита взлома паролей для ОС Microsoft. Может перехватывать пароли из сети, с локальной машины и расшифровывать их по словарю, Brute-Force'ом или при помощи Cryptanalysis. Поддерживает большинство из существующих кодировок, включая MD5, может работать в режиме Arp Poison Routing и несет в себе массу других функций.

В погоне за эксплоитами

Каждый хакер браузит сайты сайты по безопасности и выкачивает оттуда свежие эксплойты. Наверное, за долгие годы он предпочитает брать их с любимых порталов. Вот я и подумал – почему же не облегчить и без того сложную жизнь взломщика, автоматизировав процесс добычи эксплойтов? Благо, средств для этого много, а написание скрипта-анализатора займет около 15 минут

Страница 1 420 из 1 611В начало...1 3901 4001 4101 4181 4191 4201 4211 422 1 4301 4401 450...

Еженедельный дайджест

Спасибо за подписку! Мы будем присылать важные новости ИБ в еженедельном дайджесте
Ошибка при подписке Случилась ошибка при создании подписки на наш дайджест. Пожалуйста, попробуйте позднее
Важные события и скидка на подписку:

«Хакер» в соцсетях

Материалы для подписчиков