|
|
|
xperienced |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 7.2.2008 Репутация: нет Всего: нет |
Задача - сделать си++ исходник трудночитабельным, позаменять имена функций, классов, переменных.
Погуглил - все обфускаторы джава или дотнет. А надо именно си++ и именно исходник (не бинарник). Кто чего знает? |
|||
|
||||
UniBomb |
|
|||
Новичок Награды: 1 Профиль Группа: Участник Клуба Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
xperienced, исходники компилируемых языков как правило не обфусцируют. Их в таких случаях просто не дают. Машинный код может быть, но это сильный удар по производительности. Но если есть настойчивое желание, то ctrl+h тебе в помощь.
|
|||
|
||||
xperienced |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 7.2.2008 Репутация: нет Всего: нет |
"как правило" это ведь не "всегда"? Значит надежда ещё остаётся. И речь не о том, чтобы давать свой исходник кому-то. Здесь скорее поиск альтернативы всяким крипторам - хочется сделать код неузнаваемым для анализаторов (читай антивирусов). Почему не использовать именно крипторы? Потому что закриптованность бинарника быстро детектится. зы. ctrl-h не катит. сильно долго и муторно. Это сообщение отредактировал(а) xperienced - 14.10.2010, 14:51 |
|||
|
||||
UniBomb |
|
|||
Новичок Награды: 1 Профиль Группа: Участник Клуба Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
Это скользкая тема. Подобные вещи на форуме запрещено обсуждать. |
|||
|
||||
djamshud |
|
|||
Пердупержденный Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: нет Всего: 39 |
Я что-то пропустил или антивирусы начали анализировать поведение программ по именам переменных и типов в их (отсутствующих) исходниках?
Это сообщение отредактировал(а) djamshud - 14.10.2010, 15:51 -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
xperienced |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 7.2.2008 Репутация: нет Всего: нет |
На самом деле конечно речь не об антивирях. Это я так, для примера. Их так просто не обдуришь.
Да и не пытаюсь обсуждать ничего. Просто спрашиваю, знает ли кто об обфускаторах для си++. |
|||
|
||||
UniBomb |
|
|||
Новичок Награды: 1 Профиль Группа: Участник Клуба Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
||||
|
||||
xperienced |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 7.2.2008 Репутация: нет Всего: нет |
Спасибо. Поюзаю, видимо, mangle-it.
Вот кое-что нагуглил и сам (правда не совсем то, о чём спрашивал): http://www.siliconrealms.com/index.php http://oreans.com/codevirtualizer.php Вдруг кому пригодится. |
|||
|
||||
icecrashldr |
|
|||
Developer Профиль Группа: Участник Сообщений: 122 Регистрация: 5.7.2010 Репутация: нет Всего: нет |
http://oreans.com/codevirtualizer.php
C чего вы взяли что это не пакер? Причем относительно дешевый... Так как имеет широкую популярность и кто мы же без каких либо протектов ... Вот если бы он мог любой исполняемый файл морфить , а так токо с заглушками ... На самом деле всю куда проще ... Все что нужно так это динамический декрипт делать , а для это вариантов масса, причем пишется за несколько дней ... |
|||
|
||||
kinetik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 11.6.2011 Репутация: нет Всего: нет |
А можете примерно сказать где искать алгоритмы и способы? |
|||
|
||||
ТарасАтавин |
|
||||
Опытный Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Добавлено через 1 минуту и 34 секунды
Добавлено через 2 минуты и 14 секунд А спрашиваешь зачем то про исходник. -------------------- Не так всё плохо, как оно есть на самом деле. |
||||
|
|||||
SecRate |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 5.11.2014 Где: Russia Репутация: нет Всего: нет |
Ну, например, можно динамически определять текущий адрес в теле процедуры, затем после virtualprotect , декриптить код процедуры, и восстанавливать его после выполнения. Так , обычно поступают основные пакеры. Минус тут в том, что можно всегда перехватить обратный енкрипт и сдампить расшифрованный кусок. Т.е. дополнительно нужна верификация. |
|||
|
||||
Proger10 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
Хочу поднять старую тему, но интересную.
Тут проскочила фраза: А почему именно не обфусцируют исходники компилируемых языков? Я так понимаю, они сами обфусцируются при компляции. К примеру, заменяются ли имена переменных, удаляются ли комментарии, шифруются ли строчные значения при компиляции? (интересует для C++, можно даже clang компайлер) Это сообщение отредактировал(а) Proger10 - 15.6.2016, 09:27 |
|||
|
||||
_zorn_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
Не обфусцируют, потому что исходники нужны для того чтобы потом их изменять/дорабатывать/улучшать.
Если возникла задача обфусцировать исходник, то это одно из двух - либо ты дебил, либо писал на заказ и привязываешь к себе. А "привязывальщиков" никто не любит. Это сообщение отредактировал(а) _zorn_ - 18.6.2016, 18:05 |
|||
|
||||
Proger10 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
Не понял. Имелось ввиду, естественно: клонируем исходник, один обфусцируем, его компилируем, публикуем бинарник. Исходные исходники остаются у нас для дальнейших правок. Далее всё по кругу. Для чего? Для того, чтобы дизассемблировать было сложнее. Так имеет смысл делать или нет? Скорее всего, нет? Объясните, пожалуйста, почему тогда "нет"? Добавлено через 8 минут и 48 секунд ...В связи с чем, у меня пара вопросов относительно дизасемблирования, покуда сам не шарю: 1. Видны ли имена переменных и функций в бинарнике? (например для C++-LLVM) 2. Видны ли строковые значения в бинарнике? |
|||
|
||||
_zorn_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
Ой вы такой наивный... Обфусцировать исходник чтобы бинарник был запутанее... ну это делали наверное еще в 90х Компилятор неплохо так оптимизирует человеческий ###код. Но ДАЖЕ если ему приказать не оптимизировать, это будет "пук в лужу" в качестве "защиты от дезасемблирования" Starforce, Securom, Themida... и т.п. Все они специализировались на защите БИНАРНИКОВ (и не плохо это делали)... Где они сейчас ? ЗЫ. Чтобы не возникало глупых вопросов, изучите ассемблер и пробуйте свой "обфусцированный исходник" под дизасемблером Это сообщение отредактировал(а) _zorn_ - 23.6.2016, 21:27 |
|||
|
||||
Proger10 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
||||
|
||||
_zorn_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
Я не спрашивал сколько он стоит, я спрашивал ГДЕ ОН СЕЙЧАС ? Если вы не можете ответить, то я отвечу - в ОПЕ Добавлено через 7 минут и 5 секунд Что вы понимаете под "взломом" ? Если обычная ###прожка - не заморачивайтесь. Кому надо все равно взломают (если взлом дешевле покупки). Если что то более серьезное, то тут уже вы мне будете должны денег за консультацию |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Технологии защиты программного обеспечения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |