Вниз
Скачать: CL | DM;

Защитить исходный код - сделать его как можно более запутанным.   Найти похожие ветки 

← →
Ученик чародея ©   (2006-10-18 01:20) [0]

Автор, указанной ниже статейки утверждает подобное.

Приемы защиты исходных текстов и двоичного кода
http://www.osp.ru/text/302/180304/

Вот и думаю, то ли он идиот, то ли я его не понимаю.


← →
Schamane   (2006-10-18 01:28) [1]

ХМ! Имхо, не хочешь код показывать - не показывай. Шифровать-то зачем? Тем более путать?!


← →
Толкователь ученика   (2006-10-18 01:35) [2]

От самого себя, конечно.


← →
Александр Иванов ©   (2006-10-18 09:26) [3]

Посмотрел поверхностно. А что смущает? Да, существуют варианты защиты кода таким способом. Часто практикуется со скриптами. Сейчас используется и для .NET


← →
[wl] ©   (2006-10-18 09:28) [4]

Крис Касперски идиотом никогда не был.
Приведу простой пример, когда требуется скрывать исходный код - это программы, написанные на языке Java или *.NET. С помощью декомпилятора можно восстановить весь исходный код без комментариев естественно, чтобы затруднить анализ, вовсю применяют обфускацию, в результате декомпиляции получим уже невнятную программу, с кучей методов и полей с именами a, b...
получим что-то типа

a = a(a(a.a,b.a), b.a(с.a, a.b, a.c), b);

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


← →
ИА   (2006-10-18 09:47) [5]

Проблемы с применением дотфускации

1) Зачем это вообще нужно. Зачастую осмысленного ответа на этот вопрос получить не удается.

2) Тестироование программы с дотфускированным кодом затруднительно - информация об ошибках + стэк искажены до неузноваемости, при этом сама дотфускация уже оттестированого кода для заказчика может внести проблемы диагностировать которые весьма нелегко, так как тот же код у девелоперов работает + уже упомянутые искожения. Впрочем, "может" тут неправильное слово :(


← →
[wl] ©   (2006-10-18 10:00) [6]

что значит зачем? распространять программу без обфускации равносильно распространению исходных текстов.


← →
TUser ©   (2006-10-18 10:03) [7]

Автор забыл еще самомодифицируемый код. Еще goto - лучший друг закрывальщика кода.


← →
ИА   (2006-10-18 10:09) [8]

>что значит зачем? распространять программу без обфускации равносильно распространению исходных текстов.

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


← →
Игорь Шевченко ©   (2006-10-18 10:14) [9]

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


← →
Rouse_ ©   (2006-10-18 10:18) [10]

А зачем мучаться? Самый лучший обфускатор кода это студент третьего - четвертого курса ;)


← →
@!!ex ©   (2006-10-18 10:22) [11]

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


← →
[wl] ©   (2006-10-18 10:39) [12]

> ИА   (18.10.06 10:09) [8]
странно, я в каком-то журнале видел обзор декомпиляторов, полностью восстанавливающих код из MSIL в C#... но лично с дотнет не приходилось сталкиваться, не знаю...

> Игорь Шевченко ©   (18.10.06 10:14) [9]

я так делал, когда мне хотелось запустить одну игру для сотовых на MIDP1.0-телефоне (это я про Java), так как она продавалась только для MIDP2.0 - а конкретно это DoomRPG, а точнее построенная на её движке игра Orcs and Elves.
Заняло это примерно 1 час (в основном пришлось вручную реализовывать отсутствующие методы в midp1.0 методы).
В коде разбираться не пришлось слава богу.

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

Так что вариантов много...


← →
Карелин Артем ©   (2006-10-18 10:44) [13]


> ИА   (18.10.06 10:09) [8]

Так можно не по функциям смотреть, а сразу весь солюшен декомпиллировать.
Простые программы свободно декомпиллировались/компиллировались. А вот наш софт, пишущийся долго и не одним человеком не собрался обратно.
Отношу это к несовершенству декомпиллятора.


← →
vuk ©   (2006-10-18 11:02) [14]

И как они умудряются вообще машинный код разбирать? Там же одни регистры да адреса в памяти... Совершенно невозможно понять, как оно работает! :)


← →
Rouse_ ©   (2006-10-18 11:32) [15]


> vuk ©   (18.10.06 11:02) [14]

А оно и не работает :) Иначе зачем выпускать патчи которые правят глюки которые внесли предыдущие патчи, которые правили глюки, которые внесли предыдущие патчи, которые правили... ;)


← →
Карелин Артем ©   (2006-10-18 11:57) [16]


> vuk ©   (18.10.06 11:02) [14]

Где машкод? В жаве? В ДотНете? ;)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.027 c
8-1143620068
nik2006
2006-03-29 12:14
2006.11.05
samplegrabber


15-1161132171
Гугол
2006-10-18 04:42
2006.11.05
Би Три Квадра Квинта Секста Септима Окта продолжите ряд?


15-1160723593
Prohodil Mimo
2006-10-13 11:13
2006.11.05
WinXP Home и IIS


15-1160980134
IMHO
2006-10-16 10:28
2006.11.05
Какой ценой строились египетские пирамиды?


15-1161082146
zdm
2006-10-17 14:49
2006.11.05
dll




   Наверх