Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 [ 87 ] 88

movb call

crapb jne raovb raovb raovb sub : crapb

$5,INSTRUCT rautate

len(%ebp)

n4 ;

$0x89, (%eax) n2

$0x5 8,CHANGE BYTE second(%ebp)

$0xB8,BYTE second(%ebp)

$0xB8, BYTE second back:up (%ebp)

$0x60,CHANGE BYTE second(%ebp) n last

raovb $8,BYTE step(%ebp) movb $0x4F,CHANGE BYTE first(%еЬр) raovb $1,FLAG BYTE second{%ebp) call mutate

incb BYTE second bacltup (%ebp) raovb BYTE second backup(%ebp),%bl movb %bl,BYTE second(%ebp)

incb CHANGE BYTE second(%ebp) jmp nl sub

crapb $0x85, (%eax) jne n3

raovb $0x0 9,CHANGE BYTE first(%ebp) raovb $0xB7,BYTE second(%ebp) movb $9,BYTE step(%ebp) call rautate

crapb $0x09,(leax)

jne n4

raovb $0x8 5,CHANGE BYTE first(%ebp)

movb $0xB7,BYTE second(%ebp)

movb $9,BYTE step(%ebp)

call mutate

cmpb $0x29, (%eax) jne n5

movb $0x31,CHANGE BYTE first(%ebp) movb $0xB7,BYTE second(%ebp) movb $9,BYTE step(%ebp) call mutate

crapb $0x31, (%eax) jne n last

ret

raove data:

movl

MEMORY data(%ebp),%eax

movl

COUNTER a(%ebp),%edx

addl

%edx,%eax

exit:

raov 1

$5,%eax

movl

$filel,%ebx

raovl

$65,%ecx

$128

movl

%eax,FILE desc l(%ebp)

movl

$4,%eax

movl

FILE desc l(%ebp),%ebx

raovl

MEMORY data(%ebp),%ecx

movl

FILE len (%ebp),%edx

$128

movl

$1,%eax

$128

mem resize:

raovl

$163,%eax

movl

MEMORY data(%ebp) , %ebx

raovl

FILE len(%ebp),%ecx

movl

BYTE add(%ebp),%esi

addl

%ез1.. PILE len (%ebp)

movl

FILE len (%ebp),%edx

raov 1

$l,%esi

$128

raovl

%eax,MEMORY data(%ebp)

movl

FlLE len(%ebp),%eax

raovl

%eax,COUNTER c(%ebp)

raov 1

COUNTER a (%ebp),%eax

addl

INSTRUCT len(%ebp),%eax

decl

%eax

raovl

%eax,MEMORY offset(%ebp)

mrs loop:

movb $0x2 9,CHANGE BYTE first(%ebp)

movb $OxBT,BYTE second(%ebp)

movb $9,BYTE step(%ebp)

call mutate

last:



movl MEMORY offset(lebp),%еах crapl COUNTER c(%еЬр),%eax je rarse

raovl MEMORY data(%ebp) , %ecx raovl COUNTER c(%ebp),%edx subl BYTE add(%ebp),%edx addl %edx,%ecx raovb (lecx),%bl

raovl MEMORY data(%ebp),%eax

raovl COUNTER c(%ebp),%edx

addl ledx,%eax

raovb %bl,(%eax)

decl jrap

mrse :

raovl addl raovl addl raov 1

nop l : raovl crapl je

COUNTER c(%ebp) mrs loop

COUNTER a(%ebp),leax INSTRUCT len(%ebp),%eax %eax,COUNTER c(%ebp) BYTE add(%ebp),%eax %eax,MEMORY offset(%ebp)

MEMORY offset(%ebp) , %ecx COUNTER c(%ebp),%ecx here

raovl MEMORY data(%ebp),%eax

movl COUNTER c (%ebp),%edx

addl %edx,%eax

movb $0x90,(%eax)

incl COUNTER c(%ebp) jrap nop l here:

clear flags:

raovb $0,FLAG BYTE first(%ebp) movb $0,FLAG BYTE second(%ebp) ret

FILE Ien

BYTE first

BYTE add

BYTE second

BYTE second baclcup

BYTE step

FLAG BYTE first

FLAG BYTE3second

CHANGE BYTE first

CHANGE~BYTE~second

MEMORY data MEMORY offset INSTRUCT len

COUNTER a COUNTER b COUNTER c

str: .string "Changed\n" file: .string "test" filel: .string "test.out

/*Тестовая программа*/

.globl start start:

xorl %eax,%eax

testl %ebx,%ebx

subl %ecx,%ecx

orl %edx,%edx

movl int

$1, %eax $128

-16 -20 -24 -28 -32 -36 -40 -44 -48 -52

-56 -60 -64

-68 72 -76

/*defines.inc*/ count = 0

FILE desc FILE desc 1



Содержание

Введение..................................................................................................................

Глава 1 Основы программирования на Асселлблере IBM PC............................................... у

1.1. Архитектура IВМ PC............................................................................................. 7

1.2. Основы программирования.................................................................................. 3

1.3. Система прерываний IBM PC.................................................................................

Глава 2 Программирование алгоритмов защиты информации..................................115

2.1. Классификация методов защиты информации...................................................П5

2.2. Стохастические методы защиты информации....................................................Пд

2.3. Алгоритмы генерации псевдослучайных последовательностей (ПСП)...............121

2.4. Конечные поля......................................................................................................140

2.5. С7?С-коды............................................................................................................158

2.6. Стохастическое преобразование информации...................................................166

2.7. Поточный шифр RCA...........................................................................................194

2.8. Стандарт криптографической защиты XXI века - Advanced Encryption Standard

(AES)...............................................................................................................202

2.9. Блочный шифр GATE............................................................................................213

2.10. Особенности программной реализации алгоритмов защиты информации.....222

Г лава 3 Программные средства защиты информации................................................226

3.1. Защита программ от исследования.....................................................................226

3.2. Антивирус из вируса............................................................................................244

Г лава 4 Ассемблер в операционной системе Linux.......................................................272

4.1. Синтаксис.............................................................................................................273

4.2. Системные вызовы...............................................................................................274

4.3. Как это делают хакеры.........................................................................................275

4.4. Реализация эксплойта..........................................................................................279

Приложение 4. Реализация алгоритма шифрования Rijndael 537

4.5. Chroot shell-code.................................................................................................281

4.6. Advanced execveO shell-code...............................................................................283

4.7. Нестандартное использование функции execveO................................................284

4.8. Использование бита s...........................................................................................285

4.9. Использование symlinkQ.......................................................................................286

4.10. Написание shell-кода с использованием системных вызовов socketQ.............287

4.11 • Защита от remote exploit....................................................................................294

4.12. ELF-инфекторы.................................................................................................295

4.13. Использование Inline-ассемблерных вставок...................................................301

4.14. Отладка. Основы работы с GDB........................................................................307

Глава 5 Програллмирование на Ассемблере nog Windows..........................................312

5.1. Выбор инструментария.......................................................................................312

5.2. Начало работы.....................................................................................................314

5.3. Программа «Не11о World»....................................................................................318

5.4. Динамически загружаемые библиотеки..................................................................324

5.5. Разработка приложения вычисления контрольных сумм....................................329

Глава 6 Оптимизация для процессоров семейства Pentium.......................................357

6.1. Введение..............................................................................................................357

6.2. Дополнительные источники.................................................................................35?

6.3. Вызов ассемблерных функций из языков высокого уровня................................35S

6.4. Отладка................................................................................................................361

6.5. Модель памяти.....................................................................................................36

6.6. Выравнивание......................................................................................................36.

6.7. Кэш.......................................................................................................................36:

6.8. Исполнение кода "в первый раз"..........................................................................36i

6.9. Задержка генерации адреса................................................................................36

6.10. Спаривание целочисленных инструкций (Р1 и РММХ).....................................36



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 [ 87 ] 88