Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2020 October 09

ДК

Даниил Кустов... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Извиняюсь за отклонение от темы, но как вы оцениваете Visual Studio как среду разработки для c/c++?
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
офигенная
источник

E

Egor in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
mr.slavik
энтерпрайз
а, понял
источник

ДК

Даниил Кустов... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Мне понравилась штука с дизассемблированным кодом
Когда в чужое приложение лезешь, можно смотреть прямо в отладчике куски кода
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
смотря какое приложение)
источник

ДК

Даниил Кустов... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
mr.slavik
смотря какое приложение)
Ну я в игру лезу :D
источник

ДК

Даниил Кустов... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Долго не доходило почему между функциями набиты Int опеоды
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от mr.slavik
а вообще - для защиты серьезного ПО используют MCFACT

Сейчас вот попалось на глаза. Может будет интересно, раз упоминал выше о защите Steinberg Cubase 5. Цитаты с трекера.

Кусок из интервью со взломщиками

В: Но нам пришлось чертовски долго ждать этот релиз - Почему?
О: Было потрачено большое количество времени, чтобы изучить и обойти нынешнюю Syncrosoft защиту. Сами подумайте: около 25 процентов програмного кода охраняются MCFACT* и, следовательно, связаны с защитой. Как вы можете догадаться, усилия, приложенные для обхода такой защиты, требовались немалые. На этот раз нам потребовалось почти 4000 человеко-часов, чтобы справиться с этим "зверем"!

Там же пояснения

MCFACT - Multi-Channel-Finite-Automata-Code-Transformation метод защиты кода программ и данных за счет преобразования их в конечный автомат. Преобразованный код программы в состоянии обработать зашифрованный код программы, без расшифровки данных. Ни преобразованный код программы, ни какие-либо данные не расшифровываются до, во время или после выполнения операции.
Обработка зашифрованных данных, без расшифровки во время выполнения, преобразованный код программы выполняется виртуальной единицей обработки. Конечные автоматы выполняют фактическую операцию и шифрование операции в один заход. Состав конечных автоматов гарантирует, что никакие промежуточные простые данные или информация об операции не могут быть восстановлены.

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

Если хакер хочет взломать таблицы автоматов, он вынужден анализировать большой многоканальный конечный автомат. Опыт взлома больших конечных автоматов был получен например, анализом Китайского алгоритма открытого ключа FAPKC (Finite Automaton Public Key Cryptosystem). Одна из версий этого алгоритма была сломана за счет полного изменения открытого ключа. Однако, сегодня нет никакого известного подхода (теперь уже есть))), чтобы сломать этот алгоритм, используя декомпозицию. Реверсинг (реверс-инжиниринг) не является проблемой безопасности для MCFACT, никакая информация о внутренней структуре не может быть получена, используя этот подход.

P.S. Это очень вольный перевод, но думаю понятно что сломать все это было очень сложно!
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от mr.slavik
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от mr.slavik
короче все что ты можешь сказать наблюдая за тем как такая программа работает это "что-то происходит"
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от mr.slavik
с тем же успехом можно наблюдать за зашифрованным блоком данных каких нить
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от mr.slavik
все что ты можешь сказать сколько бы ты ни наблюдал это "ну тут какие-то данные"
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от mr.slavik
"но это неточно"
может это просто мусор
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от mr.slavik
источник

ДК

Даниил Кустов... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Даниил Кустов
Долго не доходило почему между функциями набиты Int опеоды
Сегодня дошло, когда я забыл в голой функции прыжок обратно поставить
Меня в отладке просто остановило, а не крашнуло к херам собачьим
источник

ДК

Даниил Кустов... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
mr.slavik
Переслано от mr.slavik
а вообще - для защиты серьезного ПО используют MCFACT

Сейчас вот попалось на глаза. Может будет интересно, раз упоминал выше о защите Steinberg Cubase 5. Цитаты с трекера.

Кусок из интервью со взломщиками

В: Но нам пришлось чертовски долго ждать этот релиз - Почему?
О: Было потрачено большое количество времени, чтобы изучить и обойти нынешнюю Syncrosoft защиту. Сами подумайте: около 25 процентов програмного кода охраняются MCFACT* и, следовательно, связаны с защитой. Как вы можете догадаться, усилия, приложенные для обхода такой защиты, требовались немалые. На этот раз нам потребовалось почти 4000 человеко-часов, чтобы справиться с этим "зверем"!

Там же пояснения

MCFACT - Multi-Channel-Finite-Automata-Code-Transformation метод защиты кода программ и данных за счет преобразования их в конечный автомат. Преобразованный код программы в состоянии обработать зашифрованный код программы, без расшифровки данных. Ни преобразованный код программы, ни какие-либо данные не расшифровываются до, во время или после выполнения операции.
Обработка зашифрованных данных, без расшифровки во время выполнения, преобразованный код программы выполняется виртуальной единицей обработки. Конечные автоматы выполняют фактическую операцию и шифрование операции в один заход. Состав конечных автоматов гарантирует, что никакие промежуточные простые данные или информация об операции не могут быть восстановлены.

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

Если хакер хочет взломать таблицы автоматов, он вынужден анализировать большой многоканальный конечный автомат. Опыт взлома больших конечных автоматов был получен например, анализом Китайского алгоритма открытого ключа FAPKC (Finite Automaton Public Key Cryptosystem). Одна из версий этого алгоритма была сломана за счет полного изменения открытого ключа. Однако, сегодня нет никакого известного подхода (теперь уже есть))), чтобы сломать этот алгоритм, используя декомпозицию. Реверсинг (реверс-инжиниринг) не является проблемой безопасности для MCFACT, никакая информация о внутренней структуре не может быть получена, используя этот подход.

P.S. Это очень вольный перевод, но думаю понятно что сломать все это было очень сложно!
Насчет дешифровки не понял
источник

ДК

Даниил Кустов... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Это типа как VM Protect создает несколько виртуалок и под каждую из них свой набор инструкций создает?
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Даниил Кустов
Насчет дешифровки не понял
почитай pdf
источник

M

MRX in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Alexander Iskanderov
Ребяточки , кто-то пишет боты телеграм подзаказ? Мне примерную цену интересно узнать. :)
Лучше конструктор использовать для MVP есть очень толковые, тут не публикую не знаю можно ли
источник

PL

Pavel Loshkarev in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Привет
источник