Страница 1 из 1

что ттакое обфусицированный код

Добавлено: Пн окт 11, 2010 09:33:56
fizic
Объясните пожалуйста что такое обфусицированный код. Шарился инете так там с этим полная лажа ни одной нормальной статьи. Заранее большое спасибо.

Re: что ттакое обфусицированный код

Добавлено: Пн окт 11, 2010 09:42:21
dvdianov
Обфусцированный. С одной И.
http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%84%D1%83%D1%81%D0%BA%D0%B0%D1%86%D0%B8%D1%8F
Если проще - код, исходник которого открыт (под нажимом общественности открыт мързкой собственнической компанией) или может быть получен дизассемблированием (обработкой бинарника), но который специально запутали, чтобы человек разобрался с трудом.
Пример первого варианта - переменные из разного количества подчеркиваний или тире, но это просто.
Пример второго - намеренное введение лишних подпрограмм и цепочек.
Ещё проще - комп понимает код без проблем, а человек забьет и пойдет взламывать другую прогу :).

Re: что ттакое обфусицированный код

Добавлено: Пн окт 11, 2010 09:48:27
ARV
термин "обфускация" обозначает буквально "запутывание" и применяется только к интерпретирующим языкам программирования, таким, как Java или C#. дело в том, что исходные тексты таких программ не могут быть скрыты - они ведь не компилируются, и исполняются интерпретатором. предварительная компиляция в байт-код мало что дает, т.к. по байт-коду довольно хорошо восстанавливается первоначальный исходник. ну а производители ПО не хотят, чтобы их программы могли быть легко взломаны - если есть исходник, то взлом не представляет сложности.
так вот, обфускация - это обработка исходного текста программы программой-обфускатором, которая делает исходник нечитаемым человеком, но вполне понятным интерпретатору. например, если в вашей программе есть объект SecretService, а в нем есть метод DisableSaveFile - даже козе понятно, что SecretService.DisableSaveFile = true означает, что запись файлов заблокирована секретной службой :))) а обфускатор просто ПЕРЕИМЕНОВЫВАЕТ SecretService во что-то нечитаемое типа e_12_sdf5_11_334 и в итоге исходная строка превращается в e_12_sdf5_11_334.wwevfskh_2123_w = 23 - можно по этой строке угадать, что тут как раз и устанавливается блокировка важной функции?
если бфускатор постарается - узнать исходный текст будет практически нереально!
даже если из обычной программы Си убрать все переносы строк, т.е. записать программу в одну строку - разобраться в ней будет непросто...

надеюсь, я понятно объяснил суть обфускации?

Re: что ттакое обфусицированный код

Добавлено: Пн окт 11, 2010 10:03:56
fizic
Вполне).