Модераторы: BearBeer

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обфускация C++, исходника 
:(
    Опции темы
xperienced
Дата 14.10.2010, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 7.2.2008

Репутация: нет
Всего: нет



Задача - сделать си++ исходник трудночитабельным, позаменять имена функций, классов, переменных. 

Погуглил - все обфускаторы джава или дотнет.

А надо именно си++ и именно исходник (не бинарник).

Кто чего знает?
PM MAIL   Вверх
UniBomb
Дата 14.10.2010, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 97



xperienced, исходники компилируемых языков как правило не обфусцируют. Их в таких случаях просто не дают. Машинный код может быть, но это сильный удар по производительности. Но если есть настойчивое желание, то ctrl+h тебе в помощь.


--------------------
PM MAIL ICQ Skype   Вверх
xperienced
Дата 14.10.2010, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 7.2.2008

Репутация: нет
Всего: нет



Цитата(UniBomb @  14.10.2010,  14:31 Найти цитируемый пост)
исходники компилируемых языков как правило не обфусцируют


"как правило" это ведь не "всегда"? Значит надежда ещё остаётся.
И речь не о том, чтобы давать свой исходник кому-то. 
Здесь скорее поиск альтернативы всяким крипторам - хочется сделать код неузнаваемым для анализаторов (читай антивирусов). 
Почему не использовать именно крипторы? Потому что закриптованность бинарника быстро детектится. 

зы. ctrl-h не катит. сильно долго и муторно.

Это сообщение отредактировал(а) xperienced - 14.10.2010, 14:51
PM MAIL   Вверх
UniBomb
Дата 14.10.2010, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Цитата(xperienced @  14.10.2010,  15:49 Найти цитируемый пост)
читай антивирусов

Это скользкая тема. Подобные вещи на форуме запрещено обсуждать.


--------------------
PM MAIL ICQ Skype   Вверх
djamshud
Дата 14.10.2010, 15:44 (ссылка) |    (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 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
PM   Вверх
xperienced
Дата 14.10.2010, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 7.2.2008

Репутация: нет
Всего: нет



На самом деле конечно речь не об антивирях. Это я так, для примера. Их так просто не обдуришь.
Да и не пытаюсь обсуждать ничего.

Просто спрашиваю, знает ли кто об обфускаторах  для си++.

PM MAIL   Вверх
UniBomb
Дата 15.10.2010, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 97



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


--------------------
PM MAIL ICQ Skype   Вверх
xperienced
Дата 15.10.2010, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 7.2.2008

Репутация: нет
Всего: нет



Спасибо. Поюзаю, видимо, mangle-it.
Вот кое-что нагуглил и сам (правда не совсем то, о чём спрашивал):
http://www.siliconrealms.com/index.php
http://oreans.com/codevirtualizer.php

Вдруг кому пригодится.
PM MAIL   Вверх
icecrashldr
Дата 28.10.2010, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 5.7.2010

Репутация: нет
Всего: нет



http://oreans.com/codevirtualizer.php

Код

 VIRTUALIZER_START      // the area to protect starts here

      printf("Hello World");

 VIRTUALIZER_END       // end of area to protect 


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

На самом деле всю куда проще ... 
Все что нужно так это динамический декрипт делать , а для это вариантов масса, причем пишется за несколько дней ... 

PM MAIL WWW   Вверх
kinetik
Дата 27.1.2012, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 11.6.2011

Репутация: нет
Всего: нет



Цитата(icecrashldr @ 28.10.2010,  14:09)
На самом деле всю куда проще ... 
Все что нужно так это динамический декрипт делать , а для это вариантов масса, причем пишется за несколько дней ...

А можете примерно сказать где искать алгоритмы и способы?
PM MAIL   Вверх
ТарасАтавин
Дата 30.11.2013, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 26.8.2013

Репутация: нет
Всего: нет



Цитата(xperienced @  14.10.2010,  13:48 Найти цитируемый пост)
Задача - сделать си++ исходник трудночитабельным, позаменять имена функций, классов, переменных. 
А зачем? Если ты распространяешь исходник, то делаешь это именно для того, чтоб его читали, а если нет, то его не прочитают независимо от того, приведена ли программа в состояние алкогольного опьянения.

Добавлено через 1 минуту и 34 секунды
Цитата(xperienced @  14.10.2010,  14:49 Найти цитируемый пост)
Здесь скорее поиск альтернативы всяким крипторам - хочется сделать код неузнаваемым для анализаторов (читай антивирусов). 
Они в любом случае не знают языка.

Добавлено через 2 минуты и 14 секунд
Цитата(xperienced @  14.10.2010,  14:49 Найти цитируемый пост)
Потому что закриптованность бинарника быстро детектится. 
А спрашиваешь зачем то про исходник.



--------------------
Не так всё плохо, как оно есть на самом деле.
PM MAIL   Вверх
SecRate
Дата 5.11.2014, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.11.2014
Где: Russia

Репутация: нет
Всего: нет



Цитата(kinetik @  27.1.2012,  00:06 Найти цитируемый пост)
А можете примерно сказать где искать алгоритмы и способы?

Ну, например, можно динамически определять текущий адрес  в теле процедуры, затем после virtualprotect , декриптить код процедуры, и восстанавливать его после выполнения.
Так , обычно поступают основные пакеры.
Минус тут в том, что можно всегда перехватить обратный енкрипт и сдампить расшифрованный кусок. Т.е. дополнительно нужна верификация.
PM MAIL WWW   Вверх
Proger10
Дата 15.6.2016, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 16.12.2008

Репутация: нет
Всего: нет



Хочу поднять старую тему, но интересную.

Тут проскочила фраза:
Цитата(UniBomb @  14.10.2010,  14:31 Найти цитируемый пост)
 исходники компилируемых языков как правило не обфусцируют. 

А почему именно не обфусцируют исходники компилируемых языков? Я так понимаю, они сами обфусцируются при компляции. К примеру, заменяются ли имена переменных, удаляются ли комментарии, шифруются ли строчные значения при компиляции? (интересует для C++, можно даже clang компайлер)

Это сообщение отредактировал(а) Proger10 - 15.6.2016, 09:27
PM MAIL   Вверх
_zorn_
Дата 18.6.2016, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 988
Регистрация: 21.8.2007

Репутация: нет
Всего: 12



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

А "привязывальщиков" никто не любит.

Это сообщение отредактировал(а) _zorn_ - 18.6.2016, 18:05
PM MAIL   Вверх
Proger10
Дата 19.6.2016, 06:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 16.12.2008

Репутация: нет
Всего: нет



Цитата(_zorn_ @  18.6.2016,  18:05 Найти цитируемый пост)
Не обфусцируют, потому что исходники нужны для того чтобы потом их изменять/дорабатывать/улучшать.
Если возникла задача обфусцировать исходник, то это одно из двух - либо ты дебил, либо писал на заказ и привязываешь к себе.

А "привязывальщиков" никто не любит.

Не понял. Имелось ввиду, естественно: клонируем исходник, один обфусцируем, его компилируем, публикуем бинарник. Исходные исходники остаются у нас для дальнейших правок. Далее всё по кругу.
Для чего? Для того, чтобы дизассемблировать было сложнее. Так имеет смысл делать или нет? Скорее всего, нет? Объясните, пожалуйста, почему тогда "нет"?

Добавлено через 8 минут и 48 секунд
...В связи с чем, у меня пара вопросов относительно дизасемблирования, покуда сам не шарю:
1. Видны ли имена переменных и функций в бинарнике? (например для C++-LLVM)
2. Видны ли строковые значения в бинарнике?
PM MAIL   Вверх
Google
  Дата 22.5.2019, 11:41 (ссылка)  





  Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Технологии защиты программного обеспечения | Следующая тема »


 




[ Время генерации скрипта: 0.1328 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.