LINUX.ORG.RU

необратимое

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

Толковый словарь подарить? Или очки?

buddhist ★★★★★
()
Ответ на: комментарий от hizel

The source code for a work means the preferred form of the work for making modifications to it

buddhist ★★★★★
()
Ответ на: комментарий от buddhist

Это и зовется необратимое. Получение открытого ключа по закрытому тоже зовется «необратимой» процедурой

cvs-255 ★★★★★
() автор топика

Кастрировать тупыми ножницами. Маникюрными.

Valkeru ★★★★
()

Вообще-то они не первые. Считаю первооткрывателем одного товарища, с которым пришлось пересекаться по работе лет 20-25 назад. Вот уж была обфускация, всем обфускациям обфускация. Люди из MIT обзавидовались бы. :)

DeVliegendeHollander ★★
()

А толку, если оно все равно в нативный код компилируется?

Deleted
()

GPL, где запутывание кода запрещено

Нет такого в GPL. И в других лицензиях которые мне приходилось читать тоже нет.

mbivanyuk ★★★★★
()

как же этот «open"net читать неудобно

thunar ★★★★★
()
Ответ на: комментарий от cvs-255

Это называется одностороняя функция («one-way» function).

soomrack ★★★★
()

Ну изобрели новый способ обфускации. До этого их было 100500, стало 100501. И?

В GPL напрямую не сказано о запрете обфускации. Ибо она разрешена, как и распространение в виде бинарника. Однако, если ты потребуешь исходник, он тебе должен быть предоставен, а обфусцированный код исходником не является. Обфускация Javascript используется для уменьшения его объема, даже для вполне опенсорсных проектов.

Deleted
()
Ответ на: комментарий от LongLiveUbuntu

Тем не менее, это не необратимость. Для себя я вообще бессмертен, и никто не сможет убедить меня в обратном.

buddhist ★★★★★
()

будто что-то плохое.

u283
()
Ответ на: комментарий от u283

Оригинал вместо вброса почитай, там все написано.

arturpub ★★
()

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

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

dn2010 ★★★★★
()
Ответ на: комментарий от dn2010

Да вообще полезное изобретение, вместо данных теперь и функции можно шифровать, они это так и называют functional encryption. Ничего общего с желтым заголовком и «необратимым запутыванием кода» это не имеет.

arturpub ★★
()
Ответ на: комментарий от Valkeru

Нет, абсолютно трезвый, никакой травы. Просто мозг (или что у него там было) у человека был так устроен. А отдельная история — это то, как он обосновывал свои «решения», целые лекции читал, заслушаешься. :)

DeVliegendeHollander ★★
()

Речь идёт о запутывании программы на уровне исходного текста или на уровне машинного кода?

Deleted
()
Ответ на: комментарий от u283

кстати, обфускация замедляет выполнение программы?

во, умный вопрос! Зависит от способа обфускации. Если внесены только синтаксические изменения, то новые инструкции не генерятся, а значит выполнение не меняется. Ести семантические, то да, генерятся ненужные (не влияющие на результат и работу программы) инструкции, которые конечно замедляют выполнение.

VIT
()

Я так понимаю, это означает, что виндопрограммки теперь нельзя будет КРЯКНУТЬ. Отличная новость же.

s9gf4ult ★★
()

Ну и изобрели. Надо ж науку двигать, играться? Может теперь думают, как с этим разобраться...

Infra_HDC ★★★★★
()
Ответ на: комментарий от PolarFox

Надо еще постараться доказать что у тебя gpl код присутствует

bhfq ★★★★★
()
Ответ на: комментарий от KivApple

Тут кажется уже сказали, что изобрели не обфускацию, а шифрование функций, это значит, что теперь не возможно будет сделать кейген, а учитывая возможности современных пакеров (ведь весь код программы можно зашифровать а потом распаковывать шифрованной функцией) то и кряк уже тоже сделать будет не возможно. Я когда был тупым, увлекался этой херней, там вся суть в том, чтобы разгадать алгоритм проверки подлинности, и/или распаковать запакованный экзешник. И то и другое теперь можно сделать неломаемым.

s9gf4ult ★★
()
Ответ на: комментарий от s9gf4ult

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

anonymous_sama ★★★★★
()
Ответ на: комментарий от s9gf4ult

Это если делать кряк красиво. А можно сделать кряк патчингом условных переходов (чуть ли не методом тыка). И от этого решения «в лоб» не спасёт ничто, хотя усложнить можно. Пакер? И чо? Всё равно в конечном счёте в памяти должен оказаться (пусть даже временно) дешифрованный код - процессор же должен что-то исполнять. Вот в этот момент его и сдампят.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от KivApple

Если бы ты знал о чем говоришь, ты бы этого не говорил. Как ты отловишь этот момент? Там что, каждый байт подписан надписью «оригинальный байт» ?

s9gf4ult ★★
()

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

очевидно, что код будет не только запутан, но ещё и совсем не оптимизируем. slooooooooow

drBatty ★★
()
Ответ на: комментарий от PolarFox

Обфускация — не новость

обычная легко ломалась простыми средствами.

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

противоречит. ЭТО попросту нельзя считать «исходным текстом».

drBatty ★★
()
Ответ на: комментарий от mbivanyuk

Нет такого в GPL

есть. В самом определении «исходный текст». Там определяется вовсе НЕ с т.з. компилятора. Ассемблерный листинг из дизассемблера тоже в таком случае можно считать «исходником», ибо gcc его легко переводит обратно в машинный код. Т.е. по твоему, Windows является GPL OpenSource.

drBatty ★★
()
Ответ на: комментарий от Deleted

Обфускация Javascript используется для уменьшения его объема, даже для вполне опенсорсных проектов.

этот JS несложно вернуть в читаемый вид.

drBatty ★★
()
Ответ на: комментарий от buddhist

Тем не менее, это не необратимость.

в технике это называется «необратимость». А для ГСМ, да. Даже звёзды доступны Поэту. Согласен.

drBatty ★★
()
Ответ на: комментарий от u283

кстати, обфускация замедляет выполнение программы?

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

drBatty ★★
()
Ответ на: комментарий от Deleted

Речь идёт о запутывании программы на уровне исходного текста или на уровне машинного кода?

а какая разница? http://newsroom.ucla.edu/portal/ucla/ucla-computer-scientists-develop-247527....

для Ъ: некий индус повысил свой lvl до Over9000 в матан-скилле, и придумал HEX-способ перевода любой функции в HEX, которую понять не реально, что не мешает ей работать также, как и оригинальная. Вопрос уровня ЯП тут роли не играет.

drBatty ★★
()
Ответ на: комментарий от s9gf4ult

Я так понимаю, это означает, что виндопрограммки теперь нельзя будет КРЯКНУТЬ.

не означает. Кино в хорошем качестве тоже можно посмотреть _только_ в кинотеатре. В торрентах никакого кино нет. Но мы-то знаем...

drBatty ★★
()
Ответ на: комментарий от s9gf4ult

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

ну сделаешь ты неломаемую программу, которая вычисляет, сколько юзер денег заплатил. А я её и ломать не стану, а просто выкину не глядя, и поставлю, что юзер заплатил Over9000 денег. Вот и вся недолга. Так оно и делается обычно.

drBatty ★★
()
Ответ на: комментарий от drBatty

Там есть доказательство, что мне нужно будет потенциально бесконечное время для получения кода? Нет.

buddhist ★★★★★
()
Ответ на: комментарий от buddhist

Там есть доказательство, что мне нужно будет потенциально бесконечное время для получения кода?

есть, но тебе это доказательство не осилить. (я тоже и не пытался, ибо верю на слово в данном случае).

drBatty ★★
()
Ответ на: комментарий от VIT

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

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

Deleted
()
Ответ на: комментарий от s9gf4ult

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

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

Deleted
()
Ответ на: комментарий от KivApple

Monkey patching можно сделать почти невозможным.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.