|
|
Циклы:
Введение в крэкинг с нуля, используя 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'а.
|
Теоретические основы крэкинга |
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). Конечно, с практической точки зрения это малополезно, а с теоретической - очень даже.
|
|