Pull to refresh

Comments 131

Отличный способ получить бесконечный trial безо всяких просьб по email.
Просить по email — не так уж и плохо, особенно, если это бесплатно, и программа вам действительно нужна!
UFO landed and left these words here
Именно так я и делал в первый раз! Но, к сожалению, в этом случае, т.к. сам PVS-Studio.exe в себе проверяет лицензионность, нужные результаты выдаваться не будут все равно.
Можно было просто модифицировать сборку .NET с помощью плагина Reflexil для Reflector-a, или возникли бы какие-то проблемы?
Ну, модифицировать сборку не выйдет по той же причине, по которой я не подменял PVS-Studio.exe на заглушку — главные результаты дает именно он, а шарповский файл всего лишь аккуратно их выплевывает в таблицу.
Хорошая статья, спасибо! Но патч — это самое простое решение, которое придется переделывать каждый раз при обновлении софтины. Не смотрели в сторону кейгена?

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

Тот же WinRAR отучивался от nag скрина заменой одного байта, просто потому что лицензия — это повод поддержать разработчика, а не индульгенция.
Абсолютно с Вами согласен! Считаю, что покупка программы (даже после использования крякнутых версий) — это своего рода благодарность автору за труды. Другое дело, что не всегда по силам благодарить авторов IDA Pro, либо той же PVS-Studio.
Ты попробуй ещё официально IDA Pro купить. Даже при наличии бюджета. Или что-то поменялось в последнее время?
да нет никаких с этим проблем, если тебе она нужна в белом свете.
Что, уже продают частникам?
UFO landed and left these words here
О чем и речь. См. выше: «Ты попробуй ещё официально IDA Pro купить.»
WinRAR вообще можно не регистрировать, даже после истечения триала он ведёт себя как полноценный.
Ну, Вам легко, а научить крякингу не каждый хочет.
По опыту знаю, что по старым статьям мало кто хочет учиться, к сожалению.
Не уверен, что крякинг это must have знание, которому нужно обучать всех.
Если человек не способен осилить даже такие простейшие действия, то значит это ему и не нужно вовсе.
Было бы желание, то ни старые статьи, ни вообще их отсутствие не было бы проблемой. Вон приснопамятный мыщъх вообще с debug.exe начинал.
Я тоже начинал с debug.exe. И согласен с Вами в том, что это не для всех знание.
Но, если бы все делали, как Вы думаете, ехетулс был бы голым, а знание реверса было бы у совсем единиц, таких как Крис.
А может, оно и к лучшему было бы?
Тогда бы вирусописатели и им подобные люди держали надо всеми верх!
Конечно, это палка о двух концах: с одной стороны, это знания для вирусописателей, да. Но с другой, это знания и для тех, кто с ними борется! Думаю, вторые часто приходят в АВ-компании на собеседования (как и я когда-то).
Массовка (первая линия исследования малвар) думаю обучаются не по таким статьям, а непосредственно у ав-вендоров. Настоящие профессионалы (ну по крайней мере, те с которымы я общался) так же начинали далеко не с такого рода howto'шек (коих кстати и 10-15 лет назад было немало).
Так что не думаю, что отрасль бы обеднела.
А профессионалы с чего начинают? Тоже ведь с малого. Главное — зародить интерес (как в школе).
А разве сейчас есть интересные вирусы? Если можно, ссылку, хотелось бы посмотреть. Я как-то давно уже ничего интересного (кроме истерики Касперского, пожалуй, по поводу не то самописных классов на C, не то форта), не видел.
Ну, крипторы, которые навешивают на малварь, зачастую используют интересные трюки для обхода детектов. Именно реверсеры должны уметь находить такие штуки.
А исследование вирусов, пусть даже старых — тема интересная, но, зачастую, до статьи не доживает, ибо надо придумать, о чем в ней можно написать.
Каков критерий «интересности» для вас?
на exetools выкладывали аж сорцы кейгена, вполне рабочие. Одно дело разобраться как они работают и рассказать. А ломать программу без навесной защиты невелика заслуга
Заслуга — написать статью, ИМХО. Много Вами написано статей о реверсе? Критиковать может каждый, а сделать — единицы!
Заслуга — написать хорошую статью.
Статья не плохая, просто она слишком уж для новичкового уровня. Но если рассматривать ее, как начало цилка, то вполне ок — я не зря поэтому спросил про keygen.
Попробую продолжить написание статей на тему исследования защиты ПО.
P.S. К сожалению, за мой большой опыт написания статей о реверсе, я не писал ни одной статьи о кейгенинге.
Видимо, этому не просто обучить в статье.
Часто участвует «намыленный взгляд».)
Вообще хотелось бы подобного под Linux (не чтобы взламывать проприетарщину) для фана. Какие-нибудь программы-примеры. Я пробовал как-то раз развлекаться таким образом, но инструментария достаточно удобного, как под винду, не нашёл. По понятным причинам такие инструменты не очень развиты под linux. Но может я плохо искал.
gdb да, но мне немного другого инструмента не хватало. В комменте ниже подробнее.
UFO landed and left these words here
Есть Hopper, есть IDA под Linux. А вот программ-примеров, увы, даже не искал. Часто фриварные попадаются (немудрено).
Программу пример можно написать самому для начала, а так примеры есть.

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

Мне в большей степени инструмента, как дизассамблер + редактор (забыл название за давностью лет аналога под винду, вроде на «H»название начиналось) не хватало.
hiew, есть куча (2-3) кроссплатформенных аналогов.
Да hiew, спасибо. В текущий момент нет снова времени погружаться в эту тему, может позже, но насколько я помню, аналоги hiew были ограничены чем-то, может быть архитектурой или/и ещё чем-то.
Так я уже на винде не сижу, а когда сидел под виндой выбора не было) (ну или я не знал о нём :))
QVIEW есть, но только под 32 бита.
Как вариант, можете попробовать emacs + Hexl Mode + Disaster Mode.
Самое ужасное ограничение всех альтернатив — это ncurses, что приводит к тотальному обрезанию хоткеев (не только это, но это самое болезненное — для меня). На мой взгляд — для комфортного проглядывания бинарников быстрее hiew под wineconsole дернуть.
biew, а ныне beye: ru.wikipedia.org/wiki/Beye но не верх идеала. Зато опенсорсный. Мне вот не хватает тула, временами, в котором бы рисовались стрелочки от вызова к вызову, переходы отмечать, навигация по переходам. Вроде radare2 может, но не осилил пока.
К слову о beye. Последняя версия из svn не собирается, ну и вообще sourceforge та ещё площадка.

Выложил на github'е репу со всей историей изменений, в мастере оставил последнюю собирающуюся на современных дистрах версию, все последующие изменения вынес в отдельную ветку (lastest_svn), исходники релиза 6.1.0 с sourceforge тоже в отдельную ветку положил.

В общем, если у кого-нибудь будет настроение поэкспериментировать с ним — удобнее всего начать отсюда:
github.com/unxed/biew
Спасибо, в закладки добавил, посмотрю вечером.
Хороший продукт, но, насколько я знаю, не имеет внутренней базы (как .idb у Иды).
Добавил в закладки, спасибо!) Никак не могу на него перейти. Просто к Иде очень привык.
У нас есть еще хорошая книга (в процессе написания, но есть перевод на персидский) и статьи с блога radare.today
бтв, всё думаю написать свой write-up по неоквесту последнему, а то NWOcs что-то не спешит публиковать разбор заданий.
Там есть достаточно интересные задания. По крекингу — стандартные Java/.NET + реверс бинарника для солярки под Sparc'и + написание кейгена для алгоритма серийника, который исполняется во внутренней ВМ в обработчике #PF своей ОСи.
UFO landed and left these words here
Сам же и писал для подобных сайтов статьи! Знаете, в статье-то оно просто все выглядит. Но, фишка в том, что главное не сколько всего запатчено, а КАК я к этому пришел, и как показать ход рассуждений новичку. Именно об этом в статье!
UFO landed and left these words here
Я начинал именно с
исправления джампов в отладчике

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

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

Попробуйте объяснить такие вещи в статье новичкам.
UFO landed and left these words here
UFO landed and left these words here
Ну, на многие темы, обсуждаемые на Хабре есть куча книг, но, статьи все еще пишутся.
UFO landed and left these words here
Какая прелесть, к черту статьи для начинающих и просто любопытствующих, сразу хардкор! Нужна статья или нет решают хаброюзеры и +61 на момент комментария, явно дает понять что нужна.
UFO landed and left these words here
Почему же весьма посредственно. Мы узнали как устроена работа PVS в части проверки лицензии, любопытствующие узнали как можно модифицировать исполняемые файлы и работать с тулзами типа ольки. То что для вас это слишком просто и не интересно лично ваши проблемы и это не дает вам право ругать автора и статью только на этом основании. Опять же повторюсь что статья была оценена позитивно, а значит имеет право на жизнь.
UFO landed and left these words here
Скорее узнали что есть такие инструменты. А вот как с ними работать — врятли. Есть только рецепты как достичь конкретных целей. Шаг в сторону от рецепты и всё, темнота. А если еще для этих действий необходима предварительная настройка этих инструментов?
Но с другой стороны, на чем начинают обучать электронике? Правильно… батарейка-выключатель-лампочка.
Не слушайте других, за статью спасибо!!! Все на словах гуру крэкинга и с чёрными поясами по реверсу.

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

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

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

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

Понтануться я совершенно не хотел, просто, это была программа, которая попалась под руку, вот и все.
И что поменялось с выходом этой статьи? Как гуглился кейген, так и гуглится.
И что? Я тут кряков не выкладывал. Цель — обучение реверсу.
Так я ж и не у вас спрашивал, а у naum. Не понял его реакцию.
Просмотрел пост. О каком обучении идет речь? Такую статью и в езинос бы не взяли, слишком толсто даже для того времени :)
а про Сцену-то, про дух Сцены чего не упомянул?
Хорошая статья.
Как минимум из разряда показать что иногда не всё так сложно как кажется.
А иногда приходится реверсить прогу не только что бы отучить от жадности, а по банальным причинам например аналогов проги нету но на современной системе из за какой либо мелочи не работает, в итоге зачастую единственный способ это исправить пропатчить прогу, и иногда бывает что того что описано в статье вполне достаточно.
Реверсил ThreadX из SDK Cypress FX3, что бы добавить поддержку в OpenOCD связки ARM926E-JS + ThreadX и упросить отладку через JTAG в дальнейшем. Успешно. Так что поддерживаю комментарий.
Мне не нравится агрессивный пиар на хабре этой конторы (как и любой другой), поэтому не скажу что обрадовался… но хорошо что кто-то дал им понять что не только они имеют что сказать
UFO landed and left these words here
Нет, не слышали. VMProtect слышали.
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Дело в предпочтениях. Каждый автор хвалит свой любимый софт.
UFO landed and left these words here
Спасибо за статью, продолжайте и не обращайте внимание на огульную и беспочвенную критику.
Sign up to leave a comment.

Articles