войти зарегистрироваться

Ненормальное программированиеМеждународный конкурс по обфускации кода на C

IOCCC возвращается! Знаменитый конкурс на самый запутанный код призван «проверять компиляторы на стресс, демонстрировать тонкости языка программирования Си и важность соблюдения стиля программирования (делая обратное)».

По условиям, участвовать в конкурсе могут готовые программы размером меньше 4096 байт, при этом количество значимых символов (без учёта пробелов, знаков табуляции) и знаков ; ( ), не должно превышать 2048. Первого декабря форма заявки на участие в конкурсе будет размещена здесь.

Международный конкурс на самый запутанный код проходил ежегодно с 1984 года, но с 2006-го мероприятие удалось организовать впервые.

Блог компании Журнал ХакерПрячем, обфусцируем и криптуем клиентскую часть веб-приложений

Обфускация — это приведение исходного текста программы к виду, сохраняющему ее функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции. Применительно к JavaScript данная технология используется в таких видах теневого онлайн-бизнеса, как загрузки (iframe), спам и SEO. Наша задача на сегодня — изучить все методы скрытия JS-кода, которые, я надеюсь, ты будешь использовать только во благо.

Обфусцированный скрипт

C++Обфускация строк C++ в Visual Studio из песочницы

Бинарная защита своих программ — дело часто нелёгкое и неблагодарное, ведь если продукт кому-то нужен, его всё равно сломают, как ни старайся. При этом самая лучшая защита всегда должна писаться, ну или по крайней мере настраиваться, вручную, а всякие там пакеры/кодировщики/виртуальные машины тоже конечно помогают, но чем более автоматически работает защита, тем легче она потом ломается, к тому же если использовать какой-то известный пакер, то кракеры его уже 10 раз ломали в других продуктах, и знают что в нём к чему. К тому же все более-менее удачные пакеты защит стоят немалых денег.

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

Вот и встаёт вопрос в том чтобы найти компромис между уровнем защиты/затраченным временем/удобочитаемостью кода/стоимостью и т. д.

Хочу поделиться с вами моим собственным решением для обфускации строк в программе, которое хоть и даёт лишь минимальную защиту, но является 1) бесплатным 2) лёгким 3) почти не портящим внешний вид кода 4) новым, которое кракер скорее всего в данной конкретной конфигурации ещё не видел.

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

JavaScriptCactus Obfuscator обфускатор JavaScript/CSS

Привет %username%,
Сегодня, я бы хотел, представить сообществу утилиту написанную мои другом Николаем Бабинским — Cactus Obfuscator.
Cactus Obfuscator — это трех-модульное приложение созданное для обфускации JavaScript и CSS кода.

Cactus Obfuscator использует:
Apache Maven — плагин для Maven версий 2-3.
YUI Compressor — js/css обфускация.
Simple XML — XML мэппинг и (де)сериализация.

Содержание:
1. Использование как Maven плагина.
2. Использование как консольного приложения.
3. Создание конфигурационных файлов(XML).


Cactus может использоваться, как Maven плагин в java-проектах, а так же, как консольная утилита.

Блог компании StarForce Technologies13-14 мая КРИ. Приглашаем разработчиков на поговорить и рюмку чая

13-14 мая в Москве, в гостинице Космос продет очередная, девятая по счету КРИ. Думаю многие уже в курсе, так как тут активно обсуждалось мероприятие FlashGamm, которое пройдет за день до основной конференции.

StarForce традиционно принимает участие в мероприятии и ждет в гости всех наших друзей, а так же народ социальный, казуальный, браузерный и индивидуальный.

Блог компании StarForce TechnologiesЗащита от пиратства — мнения разработчиков ПО

Хотелось бы лучше понимать позицию многих разработчиков делового софта, компаний и частных лиц, в отношении внедрения каких-либо антипиратских механизмов в свои программы. Ведь проблема пиратства, по их же заявлениям, стоит чрезвычайно остро.

Общаясь со многими из них я встречал разные мнения, некоторые из которых безусловно имеют право на жизнь…

Персональные блоги Исходный код игры «Fontanero», победителя конкурса 10k apart

Некоторое время назад, мы, с private_face участвовали в конкурсе 10k apart(и даже выиграли!), и наши статьи были довольно-таки тепло1 встречены2 на хабре. В комментариях, нас несколько раз просили открыть исходники, и, наконец-то, летучие обезьяны подняли мне веки к обеду, это случилось. Сегодня мы залили всё что было, включая импровизированный «тулчейн» на github. Сильно не ругайте, исхода так себе, а я на js до этого никогда не писал толком :)

Исходники и все инструкции можно получить по ссылке: https://github.com/whoozle/fontanero.

ФрилансСамый страшный код в моей жизни

Большинство проектов, над которыми работал, довольно быстро стираются из памяти. Но некоторые запоминаешь по гроб жизни. О таком дальше и пойдет речь.

Случилось это давным-давно в одной компании, имя которой называть не станем. Нужно было поработать с кодом программы, являющейся ядром учетной системы и полностью написанной и сопровождаемой парнем, которого только что уволили.

В общем-то, ничего необычного, частенько компании обнаруживают, что важные знания содержаться в одной единственной голове, только когда что-нибудь случается с её владельцем. Как правило, проходит несколько дней в легкой панике и яростном чтении документов, и жизнь входит в своё русло.

.NETВзлом программ для чайников

Disclaimer: всё ниженаписанное написано исключительно с просветительскими и исследовательскими целями, а также понимания механизмов защиты от взлома. Автор ни в коем случае не рекомендует использовать данную информацию для взлома программ.

В данной статье я хочу рассказать про три с половиной основных способа взлома программ на .NET, цель, которую я преследую — помочь разработчикам лучше понять механизмы защиты своих программ, т.е. выяснить наиболее очевидные угрозы и предпринять соответствующие меры (или не принимать).

Я не буду углубляться в детали и использовать сложные инструменты для взлома. Всё будет расписано «для чайников», т.е. все инструменты будут простыми, легкодоступными и бесплатными. А основным будет Reflector, декомпилятор программ под .NET

В качестве подопытного кролика я выбрал Expresso — анализатор регулярных выражений. Данная программа бесплатная, в лицензии вроде бы ничего не указано про взлом, но при этом без регистрации она будет работать всего 60 дней. Другими словами, вред от взлома данной программы минимальный, к тому же внутреннее её устройство очень уж хорошо подходит для тренировки. Буду надеяться, что автор данной программы не обидится на меня.

.NETКак обмануть NET.Reflector

Сегодня я задумался о том, как обфускаторы скрывают код методов от утилит деобфускации вроде NET.Reflector. Как ни странно, но я не нашел в интернете никакой полезной информации по этому вопросу (возможно, плохо искал) и поэтому пришлось провести маленькое исследования самостоятельно. Под катом краткая заметка о результатах. В примере кода будет снова использоваться Mono.Cecil и генерация кода, так что не забудьте прочитать мою первую статью.