Windows Assembly Site |Новости| |О проекте| |Неофиту| |Эѳир| |Ссылки| |Ѳорум|

СТАТЬИ > Исследование программ

· Статьи
· Исходники
· Инструменты
· Документация

Статьи:
· Низкоуровневое программирование для дZенствующих
· Уроки Iczelion'а
· COM и OOP
· DirectX/OpenGL
· Секреты Win32
· Оптимизация
· Компиляторы
· Защита от отладки
· Вирусология
· Безопасность
· Сеть
· Программерский дZен
· Форматы файлов
· Процессоры
· Диски, приводы и электроника
· BIOS/CMOS
· DOS навсегда!
· Исследование программ
· Защищенный режим
· Алгоритмы
· Консоли и КПК
· Байт-код
· Linux/Unix
· Assembler.Ru
· Разное

Циклы:
Введение в крэкинг с нуля, используя OllyDbg
Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 1 (33) (печать) /01.09.2006/ Хитов: 103236
Целью данного «Введения в крэкинг с нуля, используя OllyDbg», является дать тем, кто только начал осваивать искусство крэкнинга, базовые знания и, вместе с тем, сделать это так, чтобы эти знания позволили в дальнейшем читать и понимать более продвинутые туториалы.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 2 (34) (печать) /25.09.2006/ Хитов: 42962
После того, как мы рассмотрели строение, основные элементы и принципы OllyDbg, необходимо изучить системы счисления и что такое стек, чтобы иметь о них хоть какое-то представление.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 3 (19) (печать) /06.10.2006/ Хитов: 35708
В этой главе рассматривается, что такое регистры и флаги, и как менять их значение в OllyDbg.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 4 (16) (печать) /27.01.2007/ Хитов: 32843
В этой главе рассматривается, что такое инструкции процессора, а также собственно инструкции, относящиеся к работе со стеком и перемещению данных.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 5 (21) (печать) /31.01.2007/ Хитов: 25365
В этой главе рассматриваются математические и логические инструкции процессора.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 6 (21) (печать) /18.03.2007/ Хитов: 25618
В этой главе рассматриваются сравнения и условные переходы.

Рикардо Нарваха, пер. Quantum - Введение в крэкинг с нуля, используя OllyDbg - Глава 7 (12) (печать) /18.03.2007/ Хитов: 22654
В этой главе рассматриваются инструкции CALL и RET.

Рикардо Нарваха, пер. Quantum - Введение в крэкинг с нуля, используя OllyDbg - Глава 8 (37) (печать) /25.04.2007/ Хитов: 20860
В этой главе мы рассмотрим ещё несколько базовых инструкций, которые остались без внимания в предыдущих главах. Как только мы их изучим, сможем, наконец, перейти непосредственно к крэкингу!

Рикардо Нарваха, пер. Quantum - Введение в крэкинг с нуля, используя OllyDbg - Глава 9 (26) (печать) /20.06.2007/ Хитов: 30380
Как и было обещано, теперь мы займёмся непосредственно крэкингом. Начнём с базовых понятий, не спеша, шаг за шагом пополняя наш крэкерский арсенал знаний. Теоретические пробелы мы постараемся заполнить по ходу дела.

Рикардо Нарваха, пер. Quantum - Введение в крэкинг с нуля, используя OllyDbg - Глава 10 (20) (печать) /22.07.2007/ Хитов: 21276
Эту главу мы посвятим изучению различных видов точек останова. Они позволяют приостановить выполнение кода программы в нужном месте. И снова роль подопытной жертвы достаётся бессменному крэкми CrueHead'а.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 11 (5) (печать) /05.10.2007/ Хитов: 18218
В этой главе рассматриваются процессорные точки останова (hardware breakpoints) и условные точки останова.

Рикардо Нарваха, пер. Quantum - Введение в крэкинг с нуля, используя OllyDbg - Глава 12 (9) (печать) /05.10.2007/ Хитов: 22211
Данная глава посвящена практическому использованию сообщений Windows.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 13 (19) (печать) /09.11.2007/ Хитов: 17282
В этой начато рассмотрение поиска жёстко-заданных серийных номеров.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 14 (28) (печать) /13.11.2007/ Хитов: 16499
Продолжение рассказа о том, как искать жёстко заданные серийные номера.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 15 (31) (печать) /05.12.2007/ Хитов: 15316
Окончание разбора крэкми с жёстко заданными серийными номерами.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 16 (17) (печать) /21.01.2008/ Хитов: 15281
Разбор крэкми с переменным серийным номером, высчитывающимся на основе имени пользователя.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 17 (23) (печать) /25.01.2008/ Хитов: 11715
Разбор ещё нескольких крэкми: один с жёстко-заданным серийным номером и другой с переменным, причём с динамической проверкой правильности номера при вводе каждого его символа.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 18 (18) (печать) /27.01.2008/ Хитов: 11871
Описывается решение ещё двух крэкми.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 19 (19) (печать) /27.01.2008/ Хитов: 12990
Как работает обнаружение OllyDbg с помощью функции IsDebuggerPresent и как этого избежать.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 20 (23) (печать) /27.01.2008/ Хитов: 13214
Суть метода обнаружения OllyDbg по имение процесса и способы защиты.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 21 (27) (печать) /04.02.2008/ Хитов: 12559
Продолжение изучения различных антиотладочных методов: FindWindow, Proccess32First и Process32Next.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 22 (8) (печать) /06.02.2008/ Хитов: 9819
UnhandledExceptionFilter & ZwQueryInformationProcess и защита от обнаружения посредством этих функций.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 23 (12) (печать) /27.02.2008/ Хитов: 9997
Последняя глава, посвящённая антиотладке: флаги ProcessHeap и NTGlobalFlag.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 24 (7) (печать) /29.02.2008/ Хитов: 9822
Разбор крэкми «antisocial», приложенного к предыдущей главе.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 25 (22) (печать) /03.03.2008/ Хитов: 9801
В этой главе мы рассмотрим обработчики исключений, которые обычно являются камнем преткновения для новичков, но на самом деле это не слишком сложная тема, если немного в неё углубиться.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 26 (20) (печать) /09.04.2008/ Хитов: 11223
Глава посвящена исследованию программ, написанных на Visual Basic, с помощью OllyDbg.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 27 (7) (печать) /16.04.2008/ Хитов: 8349
Продолжение разбора исследования программ, написанных на Visual Basic.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 28 (12) (печать) /21.05.2008/ Хитов: 9645
Продолжение разбора крэкми, написанных на VB.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 29 (8) (печать) /14.06.2008/ Хитов: 9714
Обсуждение P-CODE в Visual Basic и разбор крэкми, его использующего.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 30 (10) (печать) /08.07.2008/ Хитов: 8178
Последняя статье о P-CODE: разбор крэкми и нескольких техник.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 31 (16) (печать) /26.07.2008/ Хитов: 9557
Начало новой большой и интересной темы: распаковка программ. ОБъясняются основные концепции на примере крэкми CrueHead'а.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 32 (7) (печать) /17.08.2008/ Хитов: 11661
Различные методы поиска OEP.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 33 (25) (печать) /22.09.2008/ Хитов: 9657
Что такое IT и IAT.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 34 (17) (печать) /07.10.2008/ Хитов: 9153
Дамп файла и восстановление IAT с помощью PE TOOLS и IMP REC.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 35 (5) (печать) /10.11.2008/ Хитов: 8916
Разбор нового приёма на примере упаковщика ASPack.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 36 (12) (печать) /12.11.2008/ Хитов: 11149
На примере telock 0.98 рассматриваются переадресовочные элементы IAT.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 37 (14) (печать) /13.12.2008/ Хитов: 12573
Методы починки переадресовочных элементов IAT: ручной метод, использование плагинов IMP REC'а, связка JMP-CALL (волшебный переход).

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 38 (13) (печать) /11.01.2009/ Хитов: 13313
Распаковка протектора yod'ы Protector 1.3.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 39 (24) (печать) /02.02.2009/ Хитов: 11258
Глава посвящена понятию "украденных байт" и методам их восстановления.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 40 (5) (печать) /25.03.2009/ Хитов: 11477
После того, как мы продолжили разбираться с таблицой IAT pelock’а, а также антидамповыми приёмами, в этой части будет рассмотрено две темы: одна, которая была пропущена ранее, и другая, которая очень поможет в работе с tpelock’ом или другой похожей программой, которая снимает или обнаруживает установленные HBP.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 41 (7) (печать) /06.04.2009/ Хитов: 10614
После того, как мы продолжили разбираться с таблицой IAT pelock’а, а также антидамповыми приёмами, в этой части будет рассмотрено две темы: одна, которая была пропущена ранее, и другая, которая очень поможет в работе с tpelock’ом или другой похожей программой, которая снимает или обнаруживает установленные HBP.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 42 (12) (печать) /14.05.2009/ Хитов: 11126
Теперь мы перейдём к более сложным упаковщикам и увидим, что используемые методы могут быть очень разными в зависимости от случая, поэтому у нас должен быть большой запас различных трюков. В этот раз нас будет занимать ACPROTECT 1.09, распакуй-меня со всякого рода защитами.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 43 (3) (печать) /12.06.2009/ Хитов: 9538
В предыдущей части мы сосредоточились на починке украденных байт, а сейчас нашей задачей является IAT.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 44 (7) (печать) /25.06.2009/ Хитов: 13558
Ок, продолжаем как обычно. Мы уже нашли украденные байты, и у нас теперь есть скрипты для того, чтобы легко попасть в OEP и чтобы починить IAT, так что осталось сделать дамп.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 45 (9) (печать) /07.08.2009/ Хитов: 11307
В этой главе мы рассмотрим распакуй-меня, сделанном с помощью упаковщика, который сложно победить в OllyDbg, так как в нём есть одна часть, которая не работает в Олли и выдаёт ошибку. Но мы всё равно будем использовать OllyDbg, несмотря ни на что. Мы могли бы использовать другой отладчик, но ведь это же «Введение в крэкинг с помощью OllyDbg», хе-хе.

Lisa и Alquimista, пер. Aquila - Дополнение к 45-ой главе «Введения в крэкинг, используя OllyDbg» (4) (печать) /10.08.2009/ Хитов: 10879
В этой статье показан другой способ противостоять упаковщику из вышеуказанной главы единственно с помощью щелчков по кнопкам мыши без необходимости делать что-то ещё.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 46 (45) (печать) /13.09.2009/ Хитов: 14240
В этой главе продолжаем изучать методы, которые мы пытаемся применить, когда всё начинает идти не так, как мы ожидали. В этой главе для этих целей нам послужить прекрасный защищённый крэкми Fatmike’а, который называется PATRICK.exe.

Рикардо Нарваха, пер. Рома Стремилов - Введение в крэкинг с нуля, используя OllyDbg - Глава 47 (18) (печать) /25.04.2010/ Хитов: 13227
Продолжение раззбора крэкми «Patrick».

Рикардо Нарваха, пер. Рома Стремилов - Введение в крэкинг с нуля, используя OllyDbg - Глава 48 (0) (печать) /26.04.2010/ Хитов: 11891
Распаковка PeSpin 1.3.04.f. Часть 1.

Рикардо Нарваха, пер. Рома Стремилов - Введение в крэкинг с нуля, используя OllyDbg - Глава 49 (0) (печать) /29.04.2010/ Хитов: 12362
Распаковка PeSpin 1.3.04.f. Часть 2.

Рикардо Нарваха, пер. Рома Стремилов - Введение в крэкинг с нуля, используя OllyDbg - Глава 50 (18) (печать) /29.04.2010/ Хитов: 17230
Распаковка ReCrypt 0.80.

Рикардо Нарваха, пер. Рома Стремилов - Введение в крэкинг с нуля, используя OllyDbg - Глава 51 (4) (печать) /25.07.2010/ Хитов: 12043
Распаковка ASProtect.2.3.04.26.a. Часть 1.

Рикардо Нарваха, пер. Рома Стремилов - Введение в крэкинг с нуля, используя OllyDbg - Глава 52 (44) (печать) /25.07.2010/ Хитов: 18108
Распаковка ASProtect.2.3.04.26.a. Часть 2.

Рикардо Нарваха, пер. Aquila - Введение в крэкинг с нуля, используя OllyDbg - Глава 53 (69) (печать) /21.10.2010/ Хитов: 36485
Разбор скрипта Ularteck'а.

Исследование «промежуточного» кода на примере GP-кода языка NATURAL
Konstantin - Исследование «промежуточного» кода на примере GP-кода языка NATURAL (2) (печать) /20.05.2006/ Хитов: 3108
В этой статье я бы хотел поделиться своими результатами в исследовании «промежуточного» кода.

Konstantin - Исследование «промежуточного» кода на примере GP-кода языка NATURAL - Часть 2: Операнды (0) (печать) /26.07.2006/ Хитов: 2633
Как известно, операндами называют то, что участвует в операциях. Так в операции сложения операндами будут слагаемые, а в операции умножения - сомножители. Применительно к GP-коду Natural, термин "операнд" объединяет такие элементы программного кода как константы, локальные переменные, глобальные переменные, объекты и т.д.

Konstantin - Исследование «промежуточного» кода на примере GP-кода языка NATURAL - Часть 2: Операнды (окончание) (0) (печать) /13.11.2006/ Хитов: 2699
В этой части статьи на предметном столике наших исследований окажутся такие представители славной плеяды операндов как параметры, глобальные переменные и проч. Не обойдем своим вниманием и подход к описанию массивов операндов в GP-коде NATURAL.

Konstantin - Исследование «промежуточного» кода на примере GP-кода языка NATURAL - Часть 3: Секция кода (1) (печать) /03.07.2007/ Хитов: 2752
В этой части статьи под нашим прицелом окажется секция кода. На двух простейших примерах попробуем разобраться с организацией этой «таинственной» секции.

Теоретические основы крэкинга
CyberManiac - Теоретические основы крэкинга: Введение (7) (печать) /12.12.2003/ Хитов: 5591
За пять лет более или менее активного занятия крэкингом (а именно столько времени прошло с того знаменательного момента, как я открыл счет взломанным программам) мне удалось выработать набор методов, позволяющих сравнительно быстро найти подход к большинству программ. Возьму на себя смелость утверждать, что именно эта система наиболее доступна для начинающих, поскольку она базируется не на раскрытии алгоритма работы защиты в целом, а на более простом процессе анализа сравнительно небольших участков кода и установлении взаимосвязи между ними.

CyberManiac - Теоретические основы крэкинга: Глава 0. Дзен-крэкинг. Теория. (4) (печать) /13.12.2003/ Хитов: 5314
Идея, лежащая в основе дзен-крэкинга (именно это название широко используется на сайте Fravia для обозначения той системы крэкинга, о которой я рассказываю), звучит так: «я не знаю, как это работает, но я знаю, как это сломать». Разумеется, речь не идет об абсолютном незнании того, как функционирует программа – знание команд ассемблера, способов передачи параметров в функции и процедуры, назначения системных вызовов ОС, особенностей кодогенерации определенных компиляторов и многого другого, несомненно, является обязательным.

CyberManiac - Теоретические основы крэкинга: Глава -1. Орудия крэкера. (9) (печать) /15.12.2003/ Хитов: 5391
Инструменты – это материальная основа крэкинга, без инструментов в крэкинге – никуда, но сами по себе инструменты – не более чем набор байтов, и лишь человеческая мысль оживляет их, заставляя творить чудеса.

CyberManiac - Теоретические основы крэкинга: Глава 2. Почти начинаем ломать. (1) (печать) /12.01.2004/ Хитов: 4925
Итак, допустим, что у нас есть программа и в ней содержится вредоносный код (далее - «защита»), который нужно обезвредить. Инсталляционный файл тихо лежат на нашем винчестере, ожидая того знаменательного момента, когда мы его запустим, чтобы извлечь на свет скрытую в его недрах программу. Мне вполне понятно Ваше желание немедленно установить эту программу и вступить в битву со злобным и коварным врагом, но охладите на несколько минут свой пыл, и послушайте мой рассказ о процессе инсталляции программ, и чем этот процесс может кончиться.

CyberManiac - Теоретические основы крэкинга: Глава 3. «Критические дни» программ. (3) (печать) /13.01.2004/ Хитов: 5130
После того, как мы успешно установили программу, неизменно наступает торжественный момент первого запуска программы (конечно, если инсталлятор не испортил нам удовольствие, запустив программу автоматически). Немало программ содержат ограничения на время пробного использования, и потому необходимо со всей ответственностью отнестись к первому (да и не только к первому, как мы увидим в дальнейшем) запуску программы.

CyberManiac - Теоретические основы крэкинга: Глава 4. Переменные и константы. (0) (печать) /10.03.2004/ Хитов: 5013
Одна из первых задач, с которыми сталкивается крэкер - поиск в тексте программы констант или обращений к переменным, отвечающих за реализацию ограничений в незарегистрированных и демонстрационных программах. Нередко также возникает необходимость извлечь из программы какие-либо данные, либо заменить их своими собственными. Поскольку в данной главе пойдет речь не только об изучении, но и об изменении программ, сразу же ознакомлю Вас с одним из важнейших, с моей точки зрения, принципов, которым нужно руководствоваться, если приходится прибегать к модификации данных или исполняемого кода.

CyberManiac - Теоретические основы крэкинга: Глава 5. Структуры, массивы, ссылки. (1) (печать) /24.04.2004/ Хитов: 4650
Сразу отмечу, что эта глава посвящена не столько непосредственному взлому программ, сколько техникам "вытаскивания" структурированной информации, упрятанной в недрах исполняемых файлов.

CyberManiac - Теоретические основы крэкинга: Глава 6. Куда попадают данные. (2) (печать) /13.06.2004/ Хитов: 4261
На протяжении уже двух глав я рассказывал о техниках поиска данных всевозможных типов. Подобно муравьям, мы трудились, учась собирать по крупицам полезную информацию, которая могла бы помочь понять структуру и смысл этих данных. И теперь вы знаете, как «просеивать» мегабайты листингов, извлекая из них константы и указатели, как вести поиск переменных в адресном пространстве работающей программы. Все это время мы рассматривали «живые», находящиеся внутри работающей программы данные отдельно от «мертвых», тихо лежащих на жестком диске и никак себя не проявляющих. И вот пришло время осуществить синтез, увидеть диалектическую взаимосвязь между этими двумя формами существования данных, и, главное, понять, какую практическую пользу из этой взаимосвязи можно извлечь.

CyberManiac - Теоретические основы крэкинга: Глава 7. Искусство разбивать окна. (5) (печать) /10.09.2004/ Хитов: 4696
И вот, пройдя долгий и трудный путь исследователя ценных данных, упрятанных в недрах программ, мы, наконец, подошли к вратам «чистого крэкинга».

CyberManiac - Теоретические основы крэкинга: Глава 8. И вновь продолжается бой… (2) (печать) /01.11.2004/ Хитов: 4790
Ну вот, все, что мы могли сделать простыми средствами, мы сделали. И теперь пришло время приступить к отладке. Да-да, эта глава будет практически полностью посвящена искусству дебагить, bpx’ить, трассировать - в общем, одному из аспектов той рутинной деятельности, которая ожидает каждого крэкера на его светлом пути к торжеству высокого искусства над коммерческими интересами.

CyberManiac - Теоретические основы крэкинга: Глава 9. Если бряк оказался вдруг… (1) (печать) /04.01.2005/ Хитов: 4157
Наверное, Вы уже попытались что-нибудь взломать. Может быть даже, Вам это удалось – за счет знаний и способностей к анализу, благодаря интуиции, или же в силу Вашего трудолюбия и настойчивости. Возможно также, что Вам просто очень повезло с первой в жизни программой, и защита оказалась слабее, чем в большинстве других программ. Однако тех, кто не смог с первой попытки одержать победу над мегабайтами кода, гораздо больше.

CyberManiac - Теоретические основы крэкинга: Глава 10. Слишком хорошо – тоже не хорошо. (1) (печать) /17.03.2005/ Хитов: 3897
Как Вы уже успели убедиться, обращение с брейкпойнтами – занятие далеко не такое простое, как может показаться с первого взгляда. В предыдущей главе мы разбирались в том, почему точки останова иногда не делают того, что мы от них ожидаем, значительная же часть этой главы посвящена полностью противоположной проблеме: что делать, если точки останова срабатывают слишком часто. После всего написанного в предыдущей главе такая ситуация может показаться Вам невероятной, но, представьте себе, такое тоже бывает.

CyberManiac - Теоретические основы крэкинга: Глава 11. Трассировка во сне и наяву. (0) (печать) /13.04.2005/ Хитов: 5742
Трассировка – одна из основ, на которых держится крэкинг. О трассировке обычно говорят вскользь как о чем-то общеизвестном и само собой разумеющемся, но при этом имеющем нечеткие, плохо формализуемые правила. Читая предыдущие главы, Вы неоднократно встречали фразы «трассируем процедуру…», «трассируйте код до тех пор, пока…» и т.п., и при этом вряд ли задумывались о том, что нужно делать и как вообще трассируют код. Так что же такое отладка – наука это или искусство? Поставив себе целью разобраться в методах трассировки, мы прежде всего должны определиться, что такое трассировка и для чего она нужна. И лишь после того, как будут определены цели трассировки, возможно будет говорить о «технической» реализации методов, посредством которых эти цели могут быть достигнуты.

CyberManiac - Теоретические основы крэкинга: Глава 12. Патчить или не патчить? (1) (печать) /27.06.2005/ Хитов: 4490
Собственно, вопрос, вынесенный в заглавие этой главы, существует разве что в умах ревнителей идейной чистоты крэкинга, с недоверием относящихся к самой идее модификации исполняемого кода. Для всех остальных ответ очевиден – патчить надо и патчить надо много, поскольку модификация исполняемого кода – самый прямой, простой и быстрый путь заставить код делать то, чего Вы от него хотите.

CyberManiac - Теоретические основы крэкинга: Глава 13. Заключение (3) (печать) /27.06.2005/ Хитов: 4191
В завершение этой работы мне хотелось бы рассказать о технологиях, которые вошли в арсенал крэкеров сравнительно недавно, и даже о таких , которые еще только ожидают своей реализации.

Разные статьи
Крис Касперски - Идентификация IF - THEN - ELSE (5) (печать) /16.06.2002/ Хитов: 4769
Как среди хаоса битов различить конструкцию IF - THEN - ELSE, без которой не обходится практически ни одна программа? А очень легко! Закупиться ящиком пива и внимательно прочитать эту статью :) - главу из новой, еще не изанной книги Криса Касперского :). Публикуется ВПЕРВЫЕ и (во всяком случае на данные момент времени - 10.01.02) только на нашем сайте :)))

Крис Касперски - Идентификация SWITCH - CASE - BREAK (2) (печать) /16.06.2002/ Хитов: 3910
Для улучшения читабельности программ в язык Си был введен оператор множественного выбора – switch. В Паскале с той же самой задачей справляется оператор CASE, кстати, более гибкий, чем его Си-аналог, но об их различиях мы поговорим попозже... Легко показать, что switch эквивалентен конструкции "IF (a == x1) THEN оператор1 ELSE IF (a == x2) THEN оператор2 IF (a == x2) THEN оператор2 IF (a == x2) THEN оператор2 ELSE …. оператор по умолчанию". Если изобразить это ветвление в виде логического дерева, то образуется характерная "косичка", прозванная так за сходство с завитой в косу прядью волос...

Крис Касперски - Идентификация циклов (2) (печать) /16.06.2002/ Хитов: 3730
Циклы - единственная (за исключением неприличного "GOTO") конструкция языков высокого уровня, имеющая ссылку "назад", т.е. в область более младших адресов. Все остальные виды ветвлений - будь то IF - THEN - ELSE или оператор множественного выбора switch всегда направлены "вниз" - в область старших адресов...

Крис Касперски - Идентификация математических операторов (4) (печать) /16.06.2002/ Хитов: 3517
"...если вы обессилены, то не удивительно, что вся ваша жизнь - не развлечение. У вас... так много вычислений, расчетов, которые необходимо сделать в вашей жизни, что она просто не может быть развлечением." 2+2 равно сколько? Правильно, 4. Конечно, если ЭТО _действительно_ 2+2, а не что-то другое...

Broken Sword - Убираем баннеры в "Штирлице" или Баг в защите (2) (печать) /14.08.2002/ Хитов: 3241
Наверное, нет такого человека, который никогда бы ничего не слышал о Штирлице. И речь в данной статье пойдет не о В. Тихонове, и не об анекдотах, а о лучшем в своем роде расшифровщике-трансляторе, вернее, о доведении оного до совершенства :).

Chingachguk / HI-TECH - Защита файлов в Excel (3) (печать) /15.08.2002/ Хитов: 3726
Предположим, вы работаете с файлом (таблицами) в Excel и при этом хотите, чтобы кроме вас (или доверенных лиц) никто не мог бы иметь доступа к нему. Для этого вы можете защитить файл паролем... хм... наивные чукотские мальчики ;)

Chingachguk / HI-TECH - Защита файлов программами pkzip/pkunzip (0) (печать) /10.09.2002/ Хитов: 3585
Описание устройства защиты файлов в программах pkzip/pkunzip.

FCA00000 / SET#25, пер. Aquila - Реконструирование Java-программ (3) (печать) /21.09.2002/ Хитов: 5943
Базовая информация о том, чем и как следует дизассемблировать и декомпилировать программы, написанные на языке Java.

Volodya - Обзор некоторых защит на основе FLEXlm SDK (21) (печать) /30.01.2003/ Хитов: 5869
Данная статья написана как довесок к моей основной статье о профилировщиках. Здесь рассказывается, как устранить некоторые проблемы инсталляции и работы программ , использующих для своего функционирования набор API-функций, предоставляемых пакетом FlexLm. Так уж получилось, что подавляющее большинство профилировщиков, средств покрытия кода (т.е. средств, показывающих, сколько веток if и других циклов выполняется при нормальном течении хода проги, это очень полезно, т.к. показывает, насколько ваша прога "готова" к нестандартным изменениям ситуации, как тщательно вы подготовились к неприятностям, т.к. если ветки, которые получают управление редко, небрежно написаны, то в результате можно получить ой-ой-ой!) и выявления утечек памяти используют именно FlexLm. Среди них – Intel Compiler/Vtune environment, все продукты семейства DevPartner от Numega, и все опробованные мной продукты от Rational.

Крис Касперски - Примеры реальных взломов: Вступление (1) (печать) /02.04.2003/ Хитов: 3605
В настоящей книге все атаки рассматривались исключительно на примерах, специально написанных для демонстрации того или иного алгоритма программ 'CrackMe'. При этом многие из них были слишком искусственными и далекими от реальных защитных механизмов. Это было удобно для изложения материала, но не отражало реальных существующих защит. Поэтому я решил включить в приложения некоторые примеры реальных взломов. Все эти программы широко распространены и отражают средний уровень защиты условно-бесплатных программ. Заметим, что он существенно ниже, чем многие из предложенных в книге реализаций.

Крис Касперски - Примеры реальных взломов: компилятор Intel С++ 5.0.1 (11) (печать) /02.04.2003/ Хитов: 3542
Прежде, чем приступать к обсуждению аспектов стойкости защиты компилятора Intel C++ 5.0.1, считаю своим долгом заявить, что я глубоко восхищен этим великолепным программным продуктом и ломать его на мой взгляд по меньшей мере кощунственно. Впрочем, сегодня только ленивый не найдет в Сети кряк (один только Google по запросу "Intel C++ crack" выдает свыше 12 тысячи ссылок!), так что никакого вреда от данной публикации не будет.

Крис Касперски - Примеры реальных взломов: Intel Fortran 4.5 (0) (печать) /03.04.2003/ Хитов: 3017
Ситуация с этим компилятором вкратце такова. В процессе работы над третьим томом "Образа мышления IDA" я исследовал большое количество компиляторов на предмет особенностей их кодогенерации и вытекающих отсюда трудностей восстановления исходного кода. Не избежал этой участи и "Intel Fortran Compiler", обнаруженный на диске "Научись сам программировать на FORTRAN".

Крис Касперски - Примеры реальных взломов: Intel C++ 7.0 Compiler (8) (печать) /04.04.2003/ Хитов: 3073
…компилятор Intel C++ 7.0 докачался глубокой ночью, часу где-то в пятом утра. Спать хотелось неимоверно, но и любопытство: была ли усилена защита или нет, тоже раздирало. Решив, что до тех пор пока не разберусь с защитой я все равно не усну, я, открыв новую консоль, и переустановив системные переменные TEMP и TMP на каталог C:\TEMP, наскоро набил неприлично длинное имя инсталлятора W_CC_P_7.0.073.exe в командной строке (необходимость в установке переменных TEMP и TMP объясняется тем, что в Windows 2000 они по умолчанию указывают на очень глубоко вложенный каталог, а инсталлятор Intel C++ – да и не только он – не поддерживает путей такого огромного размера).

Крис Касперски - Примеры реальных взломов: Record Now (11) (печать) /07.04.2003/ Хитов: 2991
Из всех программ NEC'овый писец опознала лишь одна: Record NOW, которая, к счастью не имела никаких функциональных ограничений, исключая, правда 30-днейвый триальный период. Причем, программа оказалась такой уютной и удобной, что расставаться с ней мне не захотелось, но и расставаться со своими деньгами мне не хотелось тоже.

Крис Касперски - Примеры реальных взломов: UniLink v1.03 от Юрия Харона (11) (печать) /08.04.2003/ Хитов: 4186
Баста! Надоело! Все эти уродские защиты… (см. описания четырех предыдущих взломов) только портят настроение и еще, – чего доброго – вызывают у читателей смутное сомнение: а не специально ли автор подобрал такие простые программы? Может быть, он – автор – вообще не умеет ничего серьезного ломать?! Уметь-то он (вы уж поверьте) умеет, но публично описывать взлом "серьезных" программ – боязно, а в "несерьезных" хороших защит мне как-то и не попадалось.

Chingachguk / HI-TECH - Защита программы Ulead COOL 3D v3.5 (trial) (7) (печать) /13.04.2003/ Хитов: 2967
Ниже я собираюсь исследовать защиту этой проги, которая позволяет пользователю использовать ее функциональность только в течении календарного месяца (30 дней) или купить возможность ее использования неограниченно во времени.

Крис Касперски - Фрагмент из первого издания книги "Техника и философия сетевых атак" (2) (печать) /11.06.2003/ Хитов: 3031
Мир давно привык к тому, что популярные технологии вовсе не обязательно бывают хорошими. Именно так произошло и в области защиты условно-бесплатного программного обеспечения.

Крис Касперски - Фрагмент из второго издания книги "Техника и философия хакерских атак 2.000" (10) (печать) /11.06.2003/ Хитов: 3324


Quantum - SentinelLM!Вступление (6) (печать) /01.07.2003/ Хитов: 3307
Данная статья представляет собой первый выпуск элементарного пособия -- а-ля SentinelLM for Dummies -- которое должно помочь начинающему хакеру перейти в разряд хакеров подготовленных! Sentinel License Manager (далее просто SLM) является продвинутой системой защиты коммерческих приложений от взлома (пардон, имеется ввиду реверсинг в чисто познавательных целях).

Quantum - SentinelLM!Vendor_Id (4) (печать) /01.07.2003/ Хитов: 3081
Vendor Id (далее просто VId) -- уникальное 16-битное значение в диапазоне 0x0000 -- 0xFFFF, присваиваемое каждому из клиентов Sentinel. Таким образом, Borland (aka Inprise) имеет свой VId; у Tanner Research тоже имеется по крайней мере один идентификатор.

Quantum - SentinelLM!SDK_Keygen (2) (печать) /04.07.2003/ Хитов: 3049
В предыдущей главе мы славно потрудились и получили VId нашей жертвы. Наша следующая цель -- подсунуть этот VId инсталлеру Sentinel SDK (вы уже скачали 80-тонный архивчик?) и получить генератор лицензионных цепочек ИМЕННО для нашей жертвы.

Quantum - SentinelLM!WlscGen_Crk_1 (0) (печать) /26.07.2003/ Хитов: 3035
Это первая часть последней главы из цикла о SentinelLM, но уже после её прочтения вы должны быть в состоянии "зарегистрировать" и/или отучить от заглушки в порту (aka донгл) некоторые простенькие программы, продавшие душу Rainbow Tech.

Volodya / HI-TECH, NEOx / UINC.RU - Об упаковщиках в последний раз: Часть первая - теоретическая (27) (печать) /11.08.2003/ Хитов: 13779
Решено было разбить эту статью на две-три части. Первая часть собственно теоретическая. Она дает абсолютно необходимый минимум теории, который позволит успешно распаковывать файлы. В статье также описывается формат XML, который затем переводится в CSS-HTML при помощи XSLT- процессора. Таким образом, наряду со знанием структуры PE-файла вы, по прочтении статьи, будете иметь самые базовые представления о XML/CSS/XSLT, Perl/Java и других страшных технологиях. Мы достаточно неплохо осознем, что тема уже достаточно замусолена, поэтому нудного пересказа PE- документации здесь не будет. Скорее, вам стоит воспринимать эту статью как некий коллектор, попытку обобщения и анализа всей доступной информации о пакерах, PE-файлах, антиотладке и т.п. А поскольку есть возможность перевода статей с испанского и французского языков (помимо стандартного английского), то должно получится что-то неплохое. процессами, обрабатывают исключения и т.п.

Quantum - SentinelLM!WlscGen_CRK_2 (0) (печать) /10.09.2003/ Хитов: 2954
Дорогие коллеги, предлагаю вашему вниманию заключительную статью из цикла о SentinelLM. Вы уже знаете, что от полного счастья нас отделяет одна единственная функция SLM API. Итак, пришло время нанести смертельный удар по SLM SDK, т.е. пропатчить функцию RNBOsproQuery.

Крис Касперски - Неявный самоконтроль как средство создания не ломаемых защит (3) (печать) /17.10.2003/ Хитов: 3450
Основная ошибка подавляющего большинства разработчиков защитных механизмов состоит в том, что они дают явно понять хакеру, что защита еще не взломана. Если защита сообщает "неверный ключевой файл (пароль)", то хакер ищет тот код, который ее выводит и анализирует условия, которые приводят к передаче управления на данную ветку программы.

dragon - Написание Plugin модулей для IDA. Основы. (3) (печать) /05.11.2003/ Хитов: 4233
На данный момент IDA является пожалуй самым мощным дизассемблером, обладающим огромным количеством возможностей. Но всё это сводилось бы на нет, если бы не ещё одна - возможность расширения стандартных функций посредством дополнительных модулей, в простонародии - плагинов. Рассмотрим теперь подробнее как же эти плагины писать.

Volodya / HI-TECH, NEOx / UINC.RU - Об упаковщиках в последний раз. Часть вторая (26) (печать) /06.11.2003/ Хитов: 17956
Итак, мы продолжаем. Подразумевается, что вы ознакомились с первой частью статьи и теперь владеете минимумом теории. Однако мы еще более повышаем требования. Теперь, для успешного и полного понимания SEH (Structured Exception Handling) и некоторых приемов, тут продемонстрированных, вам придется иметь базовое представление о С++. Мы не будем особо далеко лезть в дебри родовых классов, виртуальных функций и т.п., но самые основы OOП, такие как наследование, вам необходимо (по крайней мере, желательно!) знать.

Rustem - Написание плагина — эмулирующего отладчика для дизассемблера IDA (9) (печать) /08.03.2004/ Хитов: 3740
Я понимаю, что отладчик для IDA, начиная с версии 4.5 существует, но во-первых не у всех она есть, во-вторых создать отладчик своими руками очень даже интересное дело, поможет поближе ознакомится с устройством IDA и её плагинов.

Volodya, Flankerx - Исследование InstallShield 6+ – обзор методик (17) (печать) /04.04.2004/ Хитов: 6391
В этой статье мы хотим продемонстрировать различные подходы к исследованию программ, использующих технологию Install Shield (в дальнейшем – IS). IS используется при инсталляции практически любого серьезного программного продукта – дистрибутивы Adobe, Microsoft, Intel, Compuware и т.д., и т.п. Подход, предлагаемый в этой статье – декомпиляция сценария инсталляции – трудно назвать новым. В сети уже существуют утилиты и даны некоторые описания, однако, их сложно назвать современными. Все они безнадежно устарели. В представленной на ваше рассмотрение статье мы попробуем восполнить это упущение.

R4DX - Способы обхода отладчиков режима пользователя (11) (печать) /07.05.2004/ Хитов: 3349
В этой статье я рассмотрю способы одурачивания отладчиков режима пользователя. Я попытаюсь разложить по полочкам все известные мне методы и предложить читателю несколько своих.

Chingachguk / HI-TECH - Защита, использующая хасп-ключ. Часть 1 (10) (печать) /11.05.2004/ Хитов: 3074
Программа включает в себя следующие компоненты: рабочий модуль prog.exe, возможно частично зашифрованный, два VxD драйвера: haspbig.vxd, весом полмегабайта, статический (загружаемый системой при старте) и hasplit.vxd, небольшой и динамический (загружаемый программой prog.exe при запуске). В порт компьютера LPT воткнут hasp-ключ.

Chingachguk / HI-TECH - Защита, использующая хасп-ключ. Часть 2 (10) (печать) /11.05.2004/ Хитов: 2959
В данной статье будет подробно описано, как именно устроен код, общающийся с ключом и реализующий так называемые "функции" хасп-ключа и исследован метод эмуляции не отклика самого ключа (команды ввода-вывода), но эмуляции функций хасп-ключа.

Broken Sword - Защита программ с помощью сетей Петри (10) (печать) /18.05.2004/ Хитов: 11163
Что такое сеть Петри? Сеть Петри – это двудольный ориентированный мультиграф. Ну вот, я уже вижу, как большинство читателей в ужасе пытаются закрыть страницу. Но не стоит так пугаться - прочитайте спокойно до конца и, по крайней мере, вы узнаете кое-что новое и интересное.

Chingachguk / HI-TECH - Защита, использующая хасп-ключ. Часть 3: USB (4) (печать) /20.06.2004/ Хитов: 3493
Данная статья является расширением к моим статьям ("Защита, использующая хасп-ключ" и "Защита, использующая хасп-ключ. Часть 2"), посвященным анализу защиты этой программы.

bogrus - Direct I/O (3) (печать) /17.10.2004/ Хитов: 4661
Из вышеприведенной цитаты, думаю понятно, что объектом исследования является приложение, позволяющее другим программам обращаться напрямую к оборудованию. С этим не возникало проблем, когда программы работали под управлением операционных систем Windows, предшественников Windows NT, но времена идут, архитектура меняется, а переделывать старые программы, зачастую просто нет возможности. Принцип, по которому работает драйвер Direct I/O (и аналогичные программы) не нов, и был опубликован в журнале Dr.Dobb's за май 1996 года, автором статьи (русский перевод которой можно найти на void.ru) является Дейл Робертс.

RedPlait - Встраивание Perl в IDA Pro 4.70 (Second Edition) (3) (печать) /28.12.2004/ Хитов: 4249
В данном труде описывается технология встраивания Perl в IDA Pro строго версии 4.70 как в качестве скриптового движка для работы в дизассемблере, так и в IDA debugger.

Rustem - Написание плагинов для API шпиона kerberos (0) (печать) /18.03.2005/ Хитов: 3063
В данной статье я хочу показать, как пишутся плагины для API-шпиона kerberos 1.01.

GPcH - Руководство по исследованию программ, написанных на Visual Basic 6.0 (9) (печать) /07.06.2005/ Хитов: 6442
Начинающие исследователи программ почему то считают, что программы, написанные на VB невозможно сломать. Если программа скомпилирована в pcode - я частично с ними соглашусь, но даже для этого вида компиляции уже написано множество отладчиков, способных понимать псевдокодовые инструкции. Что же касается Native Code, то тут все ломается также, как и любая другая программа, написанная например на C++ или Delphi. Но есть ряд особенностей.

Broken Sword - CODE-RIP: искусство выдирания чужого кода - Часть I. Теория (18) (печать) /30.06.2005/ Хитов: 3965
Описываются основные принципы и методы выдирания чужого кода для последующего использования при написании своих программ.

CrystalDragon - Themida - обновлённый XProtector (2) (печать) /15.11.2005/ Хитов: 5884
Прошло уже больше года с момента написания статьи про XProtector версии 1.07, с тех пор многое поменялось и многое из того, что было описано уже устарело. Вот собственно поэтому и выходит новая статья по этому протектору. Стоит сказать сразу, что стать скорее описание того, как исследовать протектор а не руководство по распаковке.

Rom Lameroff - Использование отладочных регистров процессора Intel X86 в прикладной программе Windows NT (4) (печать) /19.02.2006/ Хитов: 5941
Наверное, сейчас ни для кого не секрет, какой огромный выигрыш даёт использование отладочных регистров процессора для исследования механизма защиты программ. Яркий тому пример отладчик SoftIce, который использует эти регистры для установки аппаратных точек останова в программе (команды типа ‘BPM’). Но как использовать их в прикладной программе, где прямое обращение к ним вызывает общую ошибку защиты? Неужели нет способов, кроме, как написания собственных драйверов ядра, которое само по себе является достаточно трудоёмкой задачей, отпугивающей от их применения? Оказывается, есть, и достаточно простой. Об этом и пойдёт речь в этой статье.

Konstantin - Тайна золотого ключика или Особенности системы лицензионных ключей, используемой компанией Software AG (6) (печать) /06.03.2006/ Хитов: 3748
Основная цель этой статьи посмотреть, как реализована система лицензирования на примере довольно дорогих коммерческих продуктов от компании Software AG, а также показать на реальном примере, что иногда вовсе не обязательно проводить все ночи напролет, закопавшись в отладчике или дизассемблере, чтобы корректно «поправить» лицензионный ключ (цели «правки» могут быть любыми), что иногда достаточно просто пошире открыть глаза…

GPcH - Дзенский реверсинг: исследование программ в полевых условиях (4) (печать) /29.08.2006/ Хитов: 4295
Как часто бывают ситуации, когда под рукой кроме HEX редактора/дизассемблера hiew ничего нет, а требуется срочно разблокировать какие-либо опции в программе или отвязать от железа? Причем обычно требуется срочно, на работе, когда горе-программист поставит защиту-привязку к компу, а нужно срочно перенести АРМ (автоматизированное рабочее место, не путать с ARM) с одного компьютера на другой. Конечно, можно пригласить автора АРМ'а и попросить его, но обычно на это банально нет времени и желания. В итоге приходится довольствоваться тем, что есть по рукой - обычно это только HIEW :)

GPcH - Декомпилируем p-code в уме (6) (печать) /08.09.2006/ Хитов: 4244
Думаю, что все мы знакомы с программами на пикоде. Даже если реверсер в жизни не видел VB и его компилятор, то все равно хотя бы раз он сталкивался с пикодом. В отличии от стандартного машинного кода, исполняемого напрямую процессором, p-code это набор мнемоник VM, которые исполняются движком msvbvmXX.dll. Olly тут не особый помощник (хотя для кого как), IDA тем более. Тут нужен либо декомпилятор, либо мозги. Надеюсь, что второе есть точно у всех, кто читает эти строки. Именно поэтому листинги из декомпилятора я буду приводить в статье лишь для наглядности, основной же упор будет на декомпилирование, используя в работе только HIEW.

Mescalito - Реверсинг протокола Network Assistant 3.x (5) (печать) /05.10.2006/ Хитов: 4572
В статье рассматривается реверсинг протокола чата Network Assistant 3.x. Это первая моя статья, поэтому можно считать, что она написана новичком для новичков, тем более что разработчики никакой защиты на программу не навешивали, код достаточно прост и ясен, а единственная проблема - его объём.

GMax - Добавление функциональности в готовые программы (9) (печать) /08.07.2007/ Хитов: 4835
Нашей целью будет добавление функциональности в готовую (скомпилированную) программу. Фактически, данной техникой можно добавить функциональность в любую программу, добавить тоже можно все, что вы придумаете. В этом описании не ставилась цель создать какой-либо полезный программный продукт, целью было показать возможности технологии добавления кода в скомпилированную программу. Наша цель - добавить новую функцию в стандартный Блокнот. Добавочной функцией мной была выбрана возможность вычисления выражений. Чтобы было интереснее, возможность вычисления была позаимствована из другой программы.

Mental_Mirror - Простой обход фаервола KIS 7 (9) (печать) /25.10.2007/ Хитов: 4453
Сегодня поговорим о простом, но, тем не менее, эффективном методе обхода фаервола Kaspersky Internet Security 7.0 – сетевого экрана, компонента одной из самых популярных и известных защит для персонального пользователя на сегодняшний день.

GPcH - Искусство редактирования интерфейса программ на VB (4) (печать) /01.10.2008/ Хитов: 4079
Описание формата, в котором хранятся формы в VB и пример работы с ними.

lhc645 - Исследование функции SetTimer (22) (печать) /11.08.2009/ Хитов: 9534
На днях, во время реверса одной программы, задалась вопросом, как вывести список таймеров, установленных win32 - функцией SetTimer (а если быть конкретнее, то мне нужны были адреса процедур - lpTimerFunc). Конечно, с практической точки зрения это малополезно, а с теоретической - очень даже.





© 2002-2011 wasm.ru - all rights reserved and reversed