Исследование защиты PVS-Studio

PVS-Studio

Приветствую! Это мой первый пост на Хабре в принципе, но не первая статья о взломе ПО вообще, поэтому навык писать все с начала и по шагам, для начинающих крякеров, у меня есть. В данной статье я расскажу о том, как был отучен от триальности PVS-Studio.

Подготовка

Прежде, чем начинать, помните: все действия вы выполняете на свой страх и риск. Уважайте работу программистов!

Первым делом, качаем и устанавливаем программу. Тут все просто.

С чем мы имеем дело?

Давайте выясним, на чем написана программа, и что нам придется "лечить". Старперы для этого используют PEiD, но он очень уж старый теперь, базы не обновляются, да и многие компиляторы он просто не понимает. Обычно, я пользуюсь программой ExeInfo PE.

Заходим в каталог с программой, и "на глаз" решаем, что первым подопытным файлом станет PVSStudioStandalone.exe. Его запуск также говорит о том, что это главный исполняемый файл. Натравливаем на него ExeInfo PE и получаем:
Microsoft Visual C# / Basic.NET | Explore, browse, and analyze .NET assemblies with .NET Reflector
Окно ExeInfo PE


Погружение. EXE №1

Нам рекомендуют установить .NET Reflector, и открыть в нем нашего подопытного. Так и сделаем.
Скрин .NET Reflector'а


Видим, что названия классов не обфусцированы, (выглядят нормально). Так же с кодом методов этих классов, если походить по ним. Делаем первый вывод: главный исполняемый файл никак не защищен. ОКей. Идем, дальше.

Давайте найдем проверку лицензии и все, что с этим связано.
Запустим PVS-Studio, зайдем в меню Tools -> Options… -> Registration. Попробуем ввести имя юзера и случайный ключ (к автору не обращался, ключ не спрашивал, поэтому формат их мне неизвестен):
Вводим случайные рег.данные



Теперь можно поискать по тексту сообщения об ошибке в .NET Reflector'е. Жмем F3 (Search), затем Ctrl+S (Search String or Constant). Вводим "Incorrect registration info". Получаем:
Ищем Incorrect registration info


Двойным щелчком переходим по найденной ссылке, и получаем следующий код:
Код метода get_LicenseType()


Попробуем выяснить, откуда вызывается данный метод. Жмем Ctrl+R (Analyze), разворачиваем список, а в нем разворачиваем список Used By:
Список ссылок на метод get_LicenseType()


Жмем ПКМ по найденному методу, а там Go To Member.
Код метода ResetRegistrationInformation()


На скрине я выделил место, где мы и получаем сообщение об ошибке. В условии оператора if видим проверку на тип лицензии Invalid. Значит этот тип был установлен где-то выше по коду. Будем просто по порядку заходить во все методы, пока не найдем что-то подозрительное… И, вот оно:
Метод ProgramVerificationSystems.PVSStudio.LicenseInfo.Reload()


Радостно заходим в метод GetLicenseInfo()!
Код метода GetLicenseInfo()


Что тут происходит? Похоже, запускается какой-то exe-файл, с аргументом --checkreg=yes, затем парсится его вывод в консоль, и на основе результатов дается информация о лицензии. Какой именно файл запускается? Выяснить легко: заходим в метод GetPVSStudioExePath() и видим:
Код метода GetPVSStudioExePath()


Есть ехе-шник PVS-Studio.exe, который, похоже, лежит в каталогах x86 или x64. Порыскав в каталоге с программой, убеждаемся, что, да — такие папки, и такой исполняемый файл у нас имеется. Прекрасно!
Значит он, при передаче ему спец-параметра о запросе лицензии (--checkreg=yes), должен выплевывать информацию о нашей с вами лицензии.

Еще глубже. EXE №2

Попробуем запустить PVS-Studio.exe в отдельности через командную строку, передав ему наше желание узнать инфу о лицензии.
Запрашиваем лицензию


Очень хорошая строчка для поиска: "Unknown license type". Будем ее искать через Olly Debugger v2. Открываем в "Ольке" PVS-Studio.exe, жмем ПКМ -> Search for -> All referenced strings:
All Referenced Text Strings


Жмем Ctrl+F (Search for Text), вводим: Unknown license type. И, находим одну ссылку:
Результаты поиска Unknown license type


Двойным кликом по ссылке мы попадаем в код:
Интересный код


На скрине я выделил прямоугольником интересную, на мой взгляд функцию.
Во-первых, сразу за ее вызовом идет проверка значения в регистре EAX на число от нуля до трех (0trial, 1invalid, 2timeout, 3valid).
Затем, идет проверка байта под адресу BYTE PTR SS:[LOCAL.12+3] (так обозвала Олька) на значения от 0 до 3 (0Unknown license type, 1Single User License, 2Team License, 3Site License). Этот адрес подается на входе в функцию в регистре EAX.
Где-то дальше еще есть вывод даты в консоль, но я не стал с этим разбираться, т.к. если тип лицензии — valid, то на дату ему все равно.

Патчинг. EXE №1

Теперь самое интересное: нужно пропатчить код по адресу, на который указывает CALL (в моем случае — 0xA88570), на такой, чтобы выдавался нужный нам тип лицензии и режим. Давайте составлять код:

Первым делом, "исправим" байт, отвечающий за тип лицензии. Я выбрал Site License (это число 3). Судя по имеющейся у нас информации, пишем в Ольке такой код (нажать Пробел на адресе 0xA88570):
mov byte ptr [eax], 3

Затем, исправим возвращаемое в EAX значение. Я так же выбрал 3 (valid):
mov eax, 3

Ну и, напоследок, выйти из функции:
retn

Результаты работы


Все! Сохраняем изменения в исполняемый файл, и радуемся полностью рабочей лицензии!

Патчинг. EXE №2

На этот раз, исполняемый файл у нас 64-х битный, поэтому Олькой найти код не получится. Но, можно найти его с помощью x64dbg. Проявите немного усидчивости и вы сможете пропатчить и его!

P.S. Как видим, от силы полчаса исследования, и нас ждет хороший результат.

Конец



Всем спасибо!
Support the author
Share post

Similar posts

Comments 129

    +15
    Отличный способ получить бесконечный trial безо всяких просьб по email.
      +24
      Просить по email — не так уж и плохо, особенно, если это бесплатно, и программа вам действительно нужна!
        0
        Сарказм же
          +2
          Не оценили, похоже, Ваш "сарказм")
    • UFO just landed and posted this here
        +4
        Именно так я и делал в первый раз! Но, к сожалению, в этом случае, т.к. сам PVS-Studio.exe в себе проверяет лицензионность, нужные результаты выдаваться не будут все равно.
        0
        Можно было просто модифицировать сборку .NET с помощью плагина Reflexil для Reflector-a, или возникли бы какие-то проблемы?
          +5
          Ну, модифицировать сборку не выйдет по той же причине, по которой я не подменял PVS-Studio.exe на заглушку — главные результаты дает именно он, а шарповский файл всего лишь аккуратно их выплевывает в таблицу.
          +1
          Хорошая статья, спасибо! Но патч — это самое простое решение, которое придется переделывать каждый раз при обновлении софтины. Не смотрели в сторону кейгена?

          Надеюсь, авторы PVS Studio не воспримут статью, как личное оскорбление :) Мы все программисты и уважаем чужой труд.
            +2
            Не смотрел. Но, хотел. Если раздобуду ключ (любой, хоть триальный), попробую написать кейген и сделать статью.
              +25
              Напишите авторам PVS-Studio :)) Хотя это будет уже просто какая-то сказочная наглость — «Здравствуйте, можно попросить у вас пробный ключ на неделю? Я хотел бы написать кейген к вашему продукту, но для облегчения работы мне хотелось бы видеть направление бранчинга для успешной проверки. Спасибо!»
                +2
                Кейген, как оказалось, уже есть, даже с исходниками. Ну да ладно. Цель статьи — немного обучить реверс-мышлению.
                  +3
                  Кейген есть, но нет инструкции по его получению в домашних условиях. Ценен ведь не факт взлома, а демонстрация как раз этого самого хода мышления. Вы ж не ради пиратства статью написали :)
                    0
                    Так то да.) Хорошо, посмотрим, что я смогу сделать.
            –18
            А можно было просто скачать кейген с ннм
              +5
              И это было бы простое, ноубрейновое пиратство. Это как найти уязвимость и написать для нее эксплоит — или заюзать готовый, который кто-то сделал до тебя.
                0
                Нельзя, потому что этот кейген генерит лицензии, которые экспайрятся в феврале 2015-го года.
                +21
                Ну не знаю, по мне так всё тривиально и не интересно.
                «Взлом» софта по алгоритму «нашёл строку» => «пропатчил переход» очень прост и не требует абсолютно никаких особых навыков.
                  +3
                  А это уже щелчок по носу авторам PVS-Studio, которые хранят строки в открытом виде.
                    +22
                    Не стоит заморачиваться с защитой программы, любую защиту можно обойти, не важно как быстро в данном случае. Те, кто взламывает или патчит программу для использования — просто не их клиенты. Ведь у честно оплаченных копий есть свои плюшки (ТП например).
                      +8
                      Именно! Я всегда поддерживал такой подход: платить за саппорт, а программы бесплатные. Но это мое сугубо личное мнение.
                        –2
                        Что им мешает заопенсорсить свой продукт, тогда совсем не понятно. Уж бы и версию по Linux запилили бы давно.
                        +15
                        Скорее это явная демонстрация того, что разработчики не являются белками истеричками от безопасности и не городят тонны обфускаторов чтобы было. Они сами говорили, те кто будет обходить ограничения триала и так у них ничего не купит. А те кто купят, не будут портить себе карму.

                        Тот же WinRAR отучивался от nag скрина заменой одного байта, просто потому что лицензия — это повод поддержать разработчика, а не индульгенция.
                          0
                          Абсолютно с Вами согласен! Считаю, что покупка программы (даже после использования крякнутых версий) — это своего рода благодарность автору за труды. Другое дело, что не всегда по силам благодарить авторов IDA Pro, либо той же PVS-Studio.
                            +1
                            Ты попробуй ещё официально IDA Pro купить. Даже при наличии бюджета. Или что-то поменялось в последнее время?
                              0
                              да нет никаких с этим проблем, если тебе она нужна в белом свете.
                                0
                                Что, уже продают частникам?
                                  0
                                  Не знаю, я ип.
                                  • UFO just landed and posted this here
                                      0
                                      О чем и речь. См. выше: «Ты попробуй ещё официально IDA Pro купить.»
                                        –1
                                        Ип это вполне организация.
                                0
                                WinRAR вообще можно не регистрировать, даже после истечения триала он ведёт себя как полноценный.
                              0
                              Ну, Вам легко, а научить крякингу не каждый хочет.
                              По опыту знаю, что по старым статьям мало кто хочет учиться, к сожалению.
                                +3
                                Не уверен, что крякинг это must have знание, которому нужно обучать всех.
                                Если человек не способен осилить даже такие простейшие действия, то значит это ему и не нужно вовсе.
                                Было бы желание, то ни старые статьи, ни вообще их отсутствие не было бы проблемой. Вон приснопамятный мыщъх вообще с debug.exe начинал.
                                  +1
                                  Я тоже начинал с debug.exe. И согласен с Вами в том, что это не для всех знание.
                                  Но, если бы все делали, как Вы думаете, ехетулс был бы голым, а знание реверса было бы у совсем единиц, таких как Крис.
                                    0
                                    А может, оно и к лучшему было бы?
                                      +1
                                      Тогда бы вирусописатели и им подобные люди держали надо всеми верх!
                                      Конечно, это палка о двух концах: с одной стороны, это знания для вирусописателей, да. Но с другой, это знания и для тех, кто с ними борется! Думаю, вторые часто приходят в АВ-компании на собеседования (как и я когда-то).
                                        +1
                                        Массовка (первая линия исследования малвар) думаю обучаются не по таким статьям, а непосредственно у ав-вендоров. Настоящие профессионалы (ну по крайней мере, те с которымы я общался) так же начинали далеко не с такого рода howto'шек (коих кстати и 10-15 лет назад было немало).
                                        Так что не думаю, что отрасль бы обеднела.
                                          +1
                                          А профессионалы с чего начинают? Тоже ведь с малого. Главное — зародить интерес (как в школе).
                                          0
                                          А разве сейчас есть интересные вирусы? Если можно, ссылку, хотелось бы посмотреть. Я как-то давно уже ничего интересного (кроме истерики Касперского, пожалуй, по поводу не то самописных классов на C, не то форта), не видел.
                                            0
                                            Ну, крипторы, которые навешивают на малварь, зачастую используют интересные трюки для обхода детектов. Именно реверсеры должны уметь находить такие штуки.
                                            А исследование вирусов, пусть даже старых — тема интересная, но, зачастую, до статьи не доживает, ибо надо придумать, о чем в ней можно написать.
                                              0
                                              Каков критерий «интересности» для вас?
                                          +5
                                          Он debug.com, вообще-то.
                                            +1
                                            mark_ablov и я: оба спалились))
                                              0
                                              Где как, в DOS'e — да, в Win9X не помню, но вроде уже .exe был.
                                          0
                                          Вы про эти статьи?
                                        –7
                                        на exetools выкладывали аж сорцы кейгена, вполне рабочие. Одно дело разобраться как они работают и рассказать. А ломать программу без навесной защиты невелика заслуга
                                          +9
                                          Заслуга — написать статью, ИМХО. Много Вами написано статей о реверсе? Критиковать может каждый, а сделать — единицы!
                                            +12
                                            Заслуга — написать хорошую статью.
                                              +6
                                              Статья плохая? Если да — чем?
                                                –9
                                                Статья не плохая, просто она слишком уж для новичкового уровня. Но если рассматривать ее, как начало цилка, то вполне ок — я не зря поэтому спросил про keygen.
                                                  +2
                                                  Попробую продолжить написание статей на тему исследования защиты ПО.
                                                  P.S. К сожалению, за мой большой опыт написания статей о реверсе, я не писал ни одной статьи о кейгенинге.
                                                  Видимо, этому не просто обучить в статье.
                                                  Часто участвует «намыленный взгляд».)
                                                    0
                                                    Вообще хотелось бы подобного под Linux (не чтобы взламывать проприетарщину) для фана. Какие-нибудь программы-примеры. Я пробовал как-то раз развлекаться таким образом, но инструментария достаточно удобного, как под винду, не нашёл. По понятным причинам такие инструменты не очень развиты под linux. Но может я плохо искал.
                                                      +1
                                                      IDA.
                                                      А gdb значительно лучше чем ollydbg.
                                                        0
                                                        gdb да, но мне немного другого инструмента не хватало. В комменте ниже подробнее.
                                                        • UFO just landed and posted this here
                                                          0
                                                          Есть Hopper, есть IDA под Linux. А вот программ-примеров, увы, даже не искал. Часто фриварные попадаются (немудрено).
                                                            0
                                                            Программу пример можно написать самому для начала, а так примеры есть.

                                                            Hopper и IDA — проприетарные.

                                                            Мне в большей степени инструмента, как дизассамблер + редактор (забыл название за давностью лет аналога под винду, вроде на «H»название начиналось) не хватало.
                                                              0
                                                              hiew, есть куча (2-3) кроссплатформенных аналогов.
                                                                0
                                                                Да hiew, спасибо. В текущий момент нет снова времени погружаться в эту тему, может позже, но насколько я помню, аналоги hiew были ограничены чем-то, может быть архитектурой или/и ещё чем-то.
                                                                  0
                                                                  Он тоже проприетарный)
                                                                    0
                                                                    Так я уже на винде не сижу, а когда сидел под виндой выбора не было) (ну или я не знал о нём :))
                                                                      0
                                                                      QVIEW есть, но только под 32 бита.
                                                                      0
                                                                      Как вариант, можете попробовать emacs + Hexl Mode + Disaster Mode.
                                                                        0
                                                                        Самое ужасное ограничение всех альтернатив — это ncurses, что приводит к тотальному обрезанию хоткеев (не только это, но это самое болезненное — для меня). На мой взгляд — для комфортного проглядывания бинарников быстрее hiew под wineconsole дернуть.
                                                                          0
                                                                          biew, а ныне beye: ru.wikipedia.org/wiki/Beye но не верх идеала. Зато опенсорсный. Мне вот не хватает тула, временами, в котором бы рисовались стрелочки от вызова к вызову, переходы отмечать, навигация по переходам. Вроде radare2 может, но не осилил пока.
                                                                        +1
                                                                        Хочешь открытого, тогда radare2
                                                                          0
                                                                          Спасибо, в закладки добавил, посмотрю вечером.
                                                                            0
                                                                            Хороший продукт, но, насколько я знаю, не имеет внутренней базы (как .idb у Иды).
                                                                              +1
                                                                                0
                                                                                Добавил в закладки, спасибо!) Никак не могу на него перейти. Просто к Иде очень привык.
                                                                                  +1
                                                                                  У нас есть еще хорошая книга (в процессе написания, но есть перевод на персидский) и статьи с блога radare.today
                                                                        0
                                                                        бтв, всё думаю написать свой write-up по неоквесту последнему, а то NWOcs что-то не спешит публиковать разбор заданий.
                                                                        Там есть достаточно интересные задания. По крекингу — стандартные Java/.NET + реверс бинарника для солярки под Sparc'и + написание кейгена для алгоритма серийника, который исполняется во внутренней ВМ в обработчике #PF своей ОСи.
                                                                +4
                                                                При всем уважении, но найти строку с сообщением и запатчить джамп — это не реверс-инженеринг, а детский сад штаны на лямках. Если вам интересны примеры хороших технических статей на тему r/e — сходите на тот же /r/ReverseEngineering например.
                                                                  +10
                                                                  Сам же и писал для подобных сайтов статьи! Знаете, в статье-то оно просто все выглядит. Но, фишка в том, что главное не сколько всего запатчено, а КАК я к этому пришел, и как показать ход рассуждений новичку. Именно об этом в статье!
                                                                    +4
                                                                    Статей про monkey patching сотни и все они не несут никаких новых знаний.
                                                                    показать ход рассуждений новичку

                                                                    Новичку в области r/e я бы посоветовал изучать тонкости работы hll компиляторов, внутренности операционных систем и задрачивать классический академический program analysis (в сети можно найти неплохие книги по данному предмету и конспекты лекций из MIT и Стенфорда если не ошибаюсь), сопутствующие ему разделы математики (теория множеств, графы и пр.) и криптографию. Как показывает практика, большинство из тех кто изучает r/e путем исправления джампов в отладчике так и остается на этом низком уровне навсегда, настоящий же реверсинг всегда идет бок о бок с compsci, софтвер инжинирингом и системным программированием.
                                                                      0
                                                                      Я начинал именно с
                                                                      исправления джампов в отладчике

                                                                      При этом за плечами имею множество статей и закейгененного софта.

                                                                      я бы посоветовал изучать тонкости работы hll компиляторов...

                                                                      Попробуйте объяснить такие вещи в статье новичкам.
                                                                        +1
                                                                        При этом за плечами имею множество статей и закейгененного софта.

                                                                        Не знаю, мне это мало о чем говорит, поскольку cracking — это очень и очень частный случай r/e который мне интересен разве что в контексте тестирования инструментов для автоматического анализа машинного кода (automated keygen generation там, семантический анализ, SMT и прочее).
                                                                          0
                                                                          Попробуйте объяснить такие вещи в статье новичкам

                                                                          На эту тему есть достойные книги, начиная dragon book и заканчивая «Reverse Engineering for Beginners», не говоря уже о куче академических публикаций.
                                                                            +3
                                                                            Ну, на многие темы, обсуждаемые на Хабре есть куча книг, но, статьи все еще пишутся.
                                                                              +1
                                                                              Если говорить о статьях именно на тему monkey patching-a — то достаточно один раз осилить курс по program analysis и compilers theory что бы стать умнее чем большая часть целевой аудитории подобных статей. Уча новичков исправлению джампов в отладчике вместо того что бы учить мат. части — вы их не учите, вы их калечите.
                                                                                –2
                                                                                В ваших комментариях слишком много пафоса
                                                                          +3
                                                                          Какая прелесть, к черту статьи для начинающих и просто любопытствующих, сразу хардкор! Нужна статья или нет решают хаброюзеры и +61 на момент комментария, явно дает понять что нужна.
                                                                            –1
                                                                            Я всего лишь указал на то, что к r/e о котором упомянул автор в своей браваде статья относится весьма посредственно, и дело не столько в хардкорности.
                                                                              +3
                                                                              Почему же весьма посредственно. Мы узнали как устроена работа PVS в части проверки лицензии, любопытствующие узнали как можно модифицировать исполняемые файлы и работать с тулзами типа ольки. То что для вас это слишком просто и не интересно лично ваши проблемы и это не дает вам право ругать автора и статью только на этом основании. Опять же повторюсь что статья была оценена позитивно, а значит имеет право на жизнь.
                                                                                0
                                                                                А я разве говорил что ее нужно удалить?
                                                                                Бить канделябром тех кто ленится восстанавливать алгоритм и писать кейген, вместо этого ломая защиты быстрым грязным патчингом — это давняя (и на мой взгляд справедливая ☺) традиция крэкинг сообщества, так что ничего личного. Например КК, которого автор считает авторитетом, так же высказывал аналогичный мессадж в своих книгах.
                                                                                  0
                                                                                  Скорее узнали что есть такие инструменты. А вот как с ними работать — врятли. Есть только рецепты как достичь конкретных целей. Шаг в сторону от рецепты и всё, темнота. А если еще для этих действий необходима предварительная настройка этих инструментов?
                                                                                  Но с другой стороны, на чем начинают обучать электронике? Правильно… батарейка-выключатель-лампочка.
                                                                            +1
                                                                            Не слушайте других, за статью спасибо!!! Все на словах гуру крэкинга и с чёрными поясами по реверсу.

                                                                            Интересно почитать такого рода статьи. Как заметили выше — не все в этом разбираются, поэтому простые примеры читать интересно. А усложнение можно сделать и в следующих постах.
                                                                              0
                                                                              Поддерживаю! Как с некоторыми багами — анализируешь неделю, две, три… А решение в 1-2 строчки выходит. У меня правда хуже было: две недели на баг, а решение — 1 удалённый символ.
                                                                                +1
                                                                                Это не хуже, это круче! Какое удовольствие уничтожить тот самый символ который две недели не давал спать… а со стороны выглядит как магия: пришел, удалил символ и все заработало.
                                                                          +1
                                                                          Многие статьи на exetools именно такие: найти строчку, пропатчить. Так на все можно смотреть с уровня достаточного опыта.
                                                                          0
                                                                          Это анализ был проделан на PVS-Studio версии 5.24?
                                                                          +15
                                                                          Спасибо, мне, как не имеющему опыт подобного «ковыряния», было очень интересно.
                                                                          Да и вообще забавно увидеть статью, в которой все поменялось местами —
                                                                          под прицелом оказалась сама PVS Studio, а не открытый код.
                                                                            –7
                                                                            Никогда не понимал в подобных статьях блоки текста про ассемблерный код, какие то тантрические символы, но да, было интересно, спасибо!
                                                                            Хотя тут все пишут что это слишком для новичков и не интересно, простите, не все пишут стихи на ассемблере, мне даже в этой статье ничего не понятно и не видно логики, в части про ассемблер, хоть другими языками и владею.
                                                                              0
                                                                              Мое упущение. Прошу прощения!) Постараюсь исправиться.
                                                                                –2
                                                                                Считается, что новичок должен владеть базовыми знаниями в виде знания базовых команд ассемблера. А если человек этого не знает, то он не новичок, а полностью не шарющий в теме человек.
                                                                                  0
                                                                                  del — не та ветка
                                                                                  +1
                                                                                  Мне кажется, любой программист просто из любопытства обязан посмотреть на ассемблер хоть краем глаза.
                                                                                  Можно не знать имен и количество регистров, но часто используемые команды ADD, JMP, MOV, CALL и т.п. легко запоминаются.
                                                                                    0
                                                                                    Соглашусь с одной оговоркой, если это его основной источник дохода.
                                                                                      0
                                                                                      Отнюдь, если вам когда-либо приходилось находить баги компилятора.
                                                                                        +1
                                                                                        Никаких оговорок. Иначе скоро начнем святить программы…
                                                                                    +3
                                                                                    Нда… Столько утилит, когда раньше хватало для того же патча одного hiew…
                                                                                      0
                                                                                      Да, времена уже не те!) Да и зачем велосипедить, если можно некоторые рутинные вещи сделать гораздо быстрее)
                                                                                      Другое дело, что, если хочется "по F3 дизассемблировать вирусы" (С) (F3 — кнопка вызова Lister в Тотале).
                                                                                        0
                                                                                        а еще просмотр в VC, NС, MC, DN, FAR… стандартная кнопка вобщем.
                                                                                        0
                                                                                        hiew пересчитывает контрольную сумму после патча?
                                                                                        +3
                                                                                        Каждый раз читаю такую статью и лезу ломать одну программу, которая лежит у меня с 2005 года, и каждый раз мне не хватает терпения. Все-таки то что вышло у автора — один из простейших вариантов.
                                                                                          –14
                                                                                          Это отвратительно, так подставлять коллег по цеху. Куча народа уже отписалась в разное время, что ломала пвс авторам пвс. Причем многие кейгенели. Все относились к этому спокойно.

                                                                                          А тут ман по тупому отлому для нубов. Если не хотели подставить — нужно было скипать название продукта.

                                                                                          И да, без кейгена за хороший топик не канает. Обучать киддисов можно было и на простеньких крякми, а не продукте пацанов с соседнего хаба.
                                                                                            0
                                                                                            Вообще, часто, целью данных статей (конечно, я отписывался авторам, но реакции ноль), является «ускорение» фиксов защиты в ПО. Так же и с эксплоитами. Все для того, чтобы в будущих версиях какой-нибудь нуб не сделал того же самого. Думаю, все именно так. Плюс, это статья о том, как НЕ надо писать защиту.

                                                                                            О том, что кто-то отписывался авторам программы, я не в курсе.
                                                                                              –7
                                                                                              Вы реально не понимаете, что ребята и не защищались? Они не раз писали об этом. Только всем хватало толку не форсить этот момент. Вы не вайт, не блэкхэт даже, вы просто балбес, решивший понтануться на пустом месте за счёт раскрученного продукта собложников.
                                                                                                +2
                                                                                                Теперь понимаю. Ну, что ж. Теперь пришло время защититься.

                                                                                                Понтануться я совершенно не хотел, просто, это была программа, которая попалась под руку, вот и все.
                                                                                                  +4
                                                                                                  И что поменялось с выходом этой статьи? Как гуглился кейген, так и гуглится.
                                                                                                    +2
                                                                                                    И что? Я тут кряков не выкладывал. Цель — обучение реверсу.
                                                                                                      +1
                                                                                                      Так я ж и не у вас спрашивал, а у naum. Не понял его реакцию.
                                                                                                        0
                                                                                                        Просмотрел пост. О каком обучении идет речь? Такую статью и в езинос бы не взяли, слишком толсто даже для того времени :)
                                                                                                      +2
                                                                                                      а про Сцену-то, про дух Сцены чего не упомянул?
                                                                                                  +3
                                                                                                  Хорошая статья.
                                                                                                  Как минимум из разряда показать что иногда не всё так сложно как кажется.
                                                                                                  А иногда приходится реверсить прогу не только что бы отучить от жадности, а по банальным причинам например аналогов проги нету но на современной системе из за какой либо мелочи не работает, в итоге зачастую единственный способ это исправить пропатчить прогу, и иногда бывает что того что описано в статье вполне достаточно.
                                                                                                    +2
                                                                                                    Реверсил ThreadX из SDK Cypress FX3, что бы добавить поддержку в OpenOCD связки ARM926E-JS + ThreadX и упросить отладку через JTAG в дальнейшем. Успешно. Так что поддерживаю комментарий.
                                                                                                    –8
                                                                                                    Мне не нравится агрессивный пиар на хабре этой конторы (как и любой другой), поэтому не скажу что обрадовался… но хорошо что кто-то дал им понять что не только они имеют что сказать
                                                                                                      –3
                                                                                                      WMProtect?
                                                                                                      нет не слышали.
                                                                                                        +5
                                                                                                        Нет, не слышали. VMProtect слышали.
                                                                                                          0
                                                                                                          VMProtect слышали.

                                                                                                          упс.
                                                                                                      • UFO just landed and posted this here
                                                                                                          +1
                                                                                                          Ну тогда можно и dotPeek посоветовать.
                                                                                                          • UFO just landed and posted this here
                                                                                                            • UFO just landed and posted this here
                                                                                                              0
                                                                                                              Дело в предпочтениях. Каждый автор хвалит свой любимый софт.
                                                                                                              • UFO just landed and posted this here
                                                                                                              0
                                                                                                              Спасибо за статью, продолжайте и не обращайте внимание на огульную и беспочвенную критику.

                                                                                                              Only users with full accounts can post comments. Log in, please.