Сообщение

Касперски К. - Техника отладки программ без исходных текстов [2005, PDF, RUS]

Сообщение Солнышко » 28 янв 2018, 17:08

Техника отладки программ без исходных текстов
Год издания: 2005
Автор: Касперски К.
Жанр или тематика: Программирование, дизасемблирование
Издательство: БХВ-Петербург
ISBN: 5-94157-229-8
Язык: Русский
Формат: PDF
Качество: Издательский макет или текст (eBook)
Количество страниц: 831
Описание: Даны практические рекомендации по использованию популярных отладчиков, таких как NuMega SoftIce, Microsoft Visual Studio Debugger и Microsoft Kernel Debugger. Показано, как работают отладчики и как противостоять дизасемблированию программы. Описаны основные защитные механизмы коммерческих программ, а также способы восстановления и изменения алгоритма программы без исходных текстов. Большое внимание уделено внедрению и удалению кода из PE-файлов. Материал сопровождается практическими примерами.
Предисловие ................................................................................................ 1
Об авторе .................................................................................................................. 1
О чем и для кого эта книга .................................................................................... 3
Введение .................................................................................................... 11
История хакерства ................................................................................................. 11
История происхождения термина "хакер".......................................................... 14
Психология хакера ............................................................................................ 16
Лаборатория искусственного интеллекта и PDP-1 ........................................... 20
Сеть ......................................................................................................................... 23
Си и UNIX ............................................................................................................. 26
Конец хакеров шестидесятых .............................................................................. 33
RSX-11M ................................................................................................................ 36
Intel ......................................................................................................................... 37
Хаос ......................................................................................................................... 38
Бытовой компьютер восьмидесятых ................................................................... 40
Рождение современных хакеров, или снова Intel ............................................. 41
Глава 1. Знакомство с отладочными инструментами ..................................... 45
1.1. Как работает отладчик ................................................................................... 48
Обработка исключений ..................................................................................... 50
1.2. Что нам понадобится ..................................................................................... 51
1.3. Особенности отладки в UNIX ...................................................................... 53
PTrace — фундамент для GDB......................................................................... 56
PTrace и ее команды ......................................................................................... 58
Поддержка многопоточности в GDB .............................................................. 60
Краткое руководство по GDB .......................................................................... 61
Трассировка системных функций ................................................................... 66
Интересные ссылки .......................................................................................... 67
1.4. Эмулирующие отладчики и эмуляторы ....................................................... 68
Минимальные системные требования ............................................................ 70
Выбирай эмулятор себе по руке! ..................................................................... 71
1.5. Обзор эмуляторов ........................................................................................... 74
DOSBox ............................................................................................................... 74
Bochs ................................................................................................................... 76
Microsoft Virtual PC ........................................................................................... 77
VMware ................................................................................................................ 79
Сводная таблица характеристик эмуляторов .................................................. 80
Разные мелочи ................................................................................................... 81
1.6. Области применения эмуляторов ................................................................. 82
Пользователям ................................................................................................... 82
Администраторам .............................................................................................. 83
Разработчикам .................................................................................................... 84
Хакерам ............................................................................................................... 87
Как настроить SoftIce под VMware ................................................................. 89
Экзотические эмуляторы .................................................................................. 89
1.7. Кратко об эмуляции процессора .................................................................. 90
1.8. BoundsChecker ................................................................................................. 96
Быстрый старт .................................................................................................... 98
Подключение нестандартных DLL ................................................................ 101
Пункты меню ................................................................................................... 103
1.9. Хакерские инструменты под UNIX ........................................................... 107
Отладчики ......................................................................................................... 107
Дизассемблеры ................................................................................................. 111
Шпионы............................................................................................................ 112
Шестнадцатеричные редакторы ..................................................................... 114
Дамперы ............................................................................................................ 115
Автоматизированные средства защиты ......................................................... 115
Глава 2. Защитные механизмы и их отладка .............................................. 119
2.1. Классификация защит по роду секретного ключа ................................... 120
2.2. Создаем защиту и пытаемся ее сломать .................................................... 123
2.3. От exe до crk ................................................................................................. 125
2.4. Знакомство с отладчиком ............................................................................ 142
Бряк на оригинальный пароль....................................................................... 143
Прямой поиск введенного пароля в памяти ................................................ 160
Бряк на функции ввода пароля ..................................................................... 170
Бряк на сообщения ......................................................................................... 173
Механизм сообщений в Windows 9x.............................................................. 176
2.5. На сцене появляется IDA ............................................................................ 177
2.6. Дизассемблер & отладчик в связке ............................................................ 209
Из языка IDA-Си ............................................................................................ 212
2.7. Дао регистрационных защит ....................................................................... 216
Как узнать имя функции по ординалу ......................................................... 221
Как сделать исполняемые файлы меньше .................................................... 248
Перехват WM_GETTEXT ................................................................................ 249
2.8. Хеширование и его преодоление ............................................................... 251
2.9. Ограничение возможностей ........................................................................ 267
2.10. Ограничение времени использования ..................................................... 286
2.11. Ограничение числа запусков .................................................................... 291
2.12. NagScreen..................................................................................................... 293
2.13. Ключевой файл ........................................................................................... 302
Глава 3. Противостояние отладке ............................................................. 315
3.1. Обзор способов затруднения анализа программ ...................................... 317
3.2. Приемы против отладчиков реального режима ........................................ 319
3.3. Приемы против отладчиков защищенного режима ................................. 335
3.4. Как противостоять трассировке ................................................................. 348
3.5. Как противостоять контрольным точкам останова.................................. 354
Несколько грязных хаков, или как не стоит защищать
свои программы ............................................................................................... 362
Серединный вызов API-функций .................................................................. 363
Вызов API-функций через мертвую зону ..................................................... 382
Копирование API-функций целиком ............................................................ 385
Как обнаружить отладку средствами Windows ............................................. 388
3.6. Антиотладочные приемы под UNIX .......................................................... 389
Паразитные файловые дескрипторы ............................................................. 390
Аргументы командной строки и окружение ................................................ 391
Дерево процессов ............................................................................................ 392
Сигналы, дампы и исключения ..................................................................... 392
Распознавание программных точек останова .............................................. 393
Мы трассируем, нас трассируют….................................................................... 394
Прямой поиск отладчика в памяти ............................................................... 395
Измерение времени выполнения .................................................................. 396
3.7. Основы самомодификации ......................................................................... 396
Проблемы обновления кода через Интернет ............................................... 409
3.8. Неявный самоконтроль как средство создания неломаемых защит ...... 411
Техника неявного контроля ........................................................................... 413
Практическая реализация ............................................................................... 415
Как это ломают? .............................................................................................. 425
3.9. Ментальная отладка и дизассемблирование ............................................. 435
Маленькие хитрости........................................................................................ 459
3.10. Ментальное ассемблирование .................................................................. 460
3.11. Краткое руководство по защите ПО ........................................................ 465
Джинн из бутылки, или недостатки решений из коробки ......................... 466
Защита от копирования, распространения серийного номера .................. 466
Защита испытательным сроком ..................................................................... 467
Защита от реконструкции алгоритма ............................................................ 467
Защита от модификации на диске и в памяти ............................................ 469
Антидизассемблер............................................................................................ 470
Антиотладка ..................................................................................................... 470
Антимонитор .................................................................................................... 471
Антидамп .......................................................................................................... 471
Как защищаться ............................................................................................... 473
Мысли о защитах ............................................................................................. 474
Противодействие изучению исходных текстов ............................................ 474
Противодействие анализу бинарного кода ................................................... 478
3.12. Как сделать свои программы надежнее? ................................................. 481
Причины и последствия ошибок переполнения ......................................... 482
Переход на другой язык .................................................................................. 483
Использование кучи для создания массивов ............................................... 484
Отказ от индикатора завершения .................................................................. 484
Обработка структурных исключений ............................................................ 485
Традиции и надежность .................................................................................. 487
Как с ними борются? ...................................................................................... 488
Поиск уязвимых программ ............................................................................. 489
Неудачный выбор приоритетов в Си ............................................................ 493
3.13. Тестирование программного обеспечения .............................................. 495
Тестирование на микроуровне ....................................................................... 497
Регистрация ошибок ....................................................................................... 498
Бета-тестирование ........................................................................................... 499
Вывод диагностической информации ........................................................... 502
Верификаторы кода языков Си/Си++ ......................................................... 504
Демонстрация ошибок накопления .............................................................. 505
Глава 4. Примеры реальных взломов ......................................................... 509
4.1. Intel С++ 5.0.1 compiler ............................................................................... 510
4.2. Intel Fortran 4.5 ............................................................................................. 518
4.3. Intel C++ 7.0 compiler .................................................................................. 523
4.4. Record Now ................................................................................................... 532
4.5. Alcohol 120% ................................................................................................. 535
4.6. UniLink v1.03 от Юрия Харона ................................................................... 549
UniLink v1.03 от Юрия Харона II, или переходим от штурма к осаде ..... 571
Entry Point и ее окружение ............................................................................. 572
Передача управления по структурному исключению ................................. 574
Внутри обработчика ........................................................................................ 581
Таинства stealth-импорта API-функций,
или как устроена HaronLoadLibrary ............................................................... 586
Таинства stealth-импорта: как устроена HaronGetProcAddress ..................... 589
Таинства IsDebuggerPresent .............................................................................. 599
Таинства загрузки USER32.DLL и ADVAAPI32.DLL ................................. 601
Конец таинств, или где тот trial, который expired ....................................... 604
4.7. ARJ ................................................................................................................. 613
4.8. AVPVE: разбор полетов ............................................................................... 614
Формат файлов (общее) .................................................................................. 615
Формат файла языковой поддержки avp.lng ................................................ 616
Формат файлов HLP ....................................................................................... 617
4.9. Bounds-Checker 5 .......................................................................................... 620
4.10. CD-MAN EGA Version............................................................................... 621
4.11. F-PROT 2.19 ................................................................................................ 622
4.12. FDR 2.1 ........................................................................................................ 627
4.13. HEXEDIT.EXE Version 1.5 ........................................................................ 629
4.14. SGWW password protection WhiteEagle ..................................................... 630
4.15. SOURCER 5.10 ........................................................................................... 631
4.16. Еmulated Solar CPU .................................................................................... 632
4.17. POCSAG 32 ................................................................................................. 635
Глава 5. Критические ошибки приложений и операционной системы .......... 639
5.1. Приложения, недопустимые операции и все-все-все .............................. 640
Доктор Ватсон .................................................................................................. 642
Отладчик Microsoft Visual Studio Debug ........................................................ 649
5.2. Обитатели сумеречной зоны, или из морга в реанимацию .................... 650
Принудительный выход из функции ............................................................ 651
Раскрутка стека ................................................................................................ 654
Передача управления на функцию обработки сообщений ......................... 658
5.3. Как подключить дамп памяти .................................................................... 666
Восстановление системы после критического сбоя .................................... 676
Подключение дампа памяти........................................................................... 677
Глава 6. Формат PE-файлов ..................................................................... 683
6.1. Особенности структуры PE-файлов в конкретных реализациях ............ 684
6.2. Общие концепции и требования, предъявляемые к PE-файлам ........... 686
6.3. Структура PE-файла .................................................................................... 689
6.4. Что можно и что нельзя делать с PE-файлом .......................................... 692
6.5. Описание основных полей PE-файла ........................................................ 695
[old-exe] e_magic ................................................................................................ 695
[old-exe] e_cparhdr ............................................................................................. 695
[old-exe] e_lfanew ............................................................................................... 696
[image_file_header] Machine .............................................................................. 696
[image_file_header] NumberOfSections ............................................................... 696
[image_file_header] PointerToSymbolTable/NumberOfSymbols .......................... 697
[image_file_header] SizeOfOptionalHeader ......................................................... 697
[image_file_header] Characteristics ..................................................................... 698
[image_optional_header] Magic .......................................................................... 700
[image_optional_header] SizeOfCode/SizeOfInitializedData/
SizeOfUninitializedData ...................................................................................... 700
[image_optional_header] BaseOfCode/BaseOfData ............................................. 701
[image_optional_header] AddressOfEntryPoint .................................................... 701
[image_optional_header] ImageBase ................................................................... 702
[image_optional_header] FileAlignment/SectionAlignment ................................... 702
[image_optional_header] SizeOfImage ................................................................ 703
[image_optional_header] SizeOfHeaders ............................................................. 703
[image_optional_header] CheckSum ................................................................... 704
[image_optional_header] Subsystem .................................................................... 704
[image_optional_header] DllCharacteristics ......................................................... 705
[image_optional_header] SizeOfStackReserve/SizeOfStackCommit,
SizeOfHeapReserve/SizeOfHeapCommit.............................................................. 706
[image_optional_header] NumberOfRvaAndSizes ................................................ 706
DATA_ DIRECTORY ......................................................................................... 707
Таблица секций ................................................................................................ 709
Экспорт ............................................................................................................. 714
Импорт .............................................................................................................. 718
Перемещаемые элементы ............................................................................... 727
Глава 7. Техника внедрения и удаления кода из PE-файлов ....................... 731
7.1. Понятие Х-кода и другие условные обозначения .................................... 732
7.2. Цели и задачи Х-кода .................................................................................. 733
7.3. Требования, предъявляемые к X-коду ....................................................... 736
7.4. Внедрение ..................................................................................................... 737
Предотвращение повторного внедрения ...................................................... 738
Классификация механизмов внедрения ....................................................... 740
Категория A: внедрение в пустое место файла ............................................ 741
Внедрение в регулярную последовательность байтов ................................. 750
Категория A: внедрение путем сжатия части файла ................................... 756
Категория A: создание нового NTFS-потока внутри файла ...................... 758
Категория B: растяжение заголовка .............................................................. 761
Категория B: сброс части секции в оверлей ................................................ 763
Категория B: создание своего собственного оверлея .................................. 767
Категория C: расширение последней секции файла................................... 768
Категория C: создание своей собственной секции ..................................... 771
Категория C: расширение серединных секций файла ................................ 773
Категория Z: внедрение через автозагружаемые DLL ................................ 776
ПРИЛОЖЕНИЯ ...................................................................................... 777
Приложение 1. Разгон и торможение Windows NT ...................................... 779
Структура ядра ..................................................................................................... 780
Типы ядер ............................................................................................................ 782
Почему непригодны тестовые пакеты .............................................................. 784
Обсуждение методик тестирования .................................................................. 786
Разность таймеров ........................................................................................... 787
Синхронизация ................................................................................................ 791
ACPI и IRQ ...................................................................................................... 792
Переключение контекста ................................................................................ 796
Длительность квантов ..................................................................................... 802
Обсуждение полученных результатов ............................................................... 805
Приложение 2. Практические советы по восстановлению системы
в боевых условиях............................................................. 807
Аппаратная часть ................................................................................................. 808
Оперативная память ........................................................................................ 809
Блок питания ................................................................................................... 811
И все-все-все .................................................................................................... 812
Приложение 3. Описание компакт-диска ................................................... 815
Предметный указатель .............................................................................. 817

Постеры

Соцсети

 

Статистика

Автор: Солнышко
Добавлен: 28 янв 2018, 17:08
Размер: 10.45 МБ
Размер: 10 962 640 байт
Сидеров: 11
Личеров: 4
Скачали: 0
Здоровье: 100%
Раздающих: 100%
Скорость скачивания: 0 байт/сек
Скорость раздачи: 0 байт/сек
Последний сидер: 3 месяца 19 дней 21 час 21 минуту 10 секунд назад
Последний личер: 3 месяца 19 дней 21 час 21 минуту 10 секунд назад
Приватный: Нет (DHT включён)
Сеть и безопасность Скачать торрент
Скачать торрент
[ Размер 3.88 КБ / Просмотров 0 ]

Поделиться



  • Похожие торренты
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в Сеть и безопасность