Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,627
Записей в блоге: 14

Где можно найти программу для деобфускации кода на C#?

09.10.2022, 16:39. Показов 1974. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Кто знает? Имеется в виду - не против коммерческих обфускаторов, а против неумышленного написания самим программистом обфусцированного кода. Желательно, чтобы она работала в интерактивном режиме, автоматически исправляя бесспорные случаи и предлагая на выбор несколько методов деобфускации или вообще никакого в спорных. И желательно за приемлемую цену. Бывают такие или нет?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.10.2022, 16:39
Ответы с готовыми решениями:

Где можно найти библиотеку для циклического избыточного кода
Где можно найти библиотеку для циклического избыточного кода? Очень нужно деление по модулю 2

Где найти программу для расчета метрик кода
Нужна помощь! Срочно! Помогите найти программу для расчета метрик кода. (Программа для подсчета количества строк в С# коде,...

Где в интернете можно найти задачи по Питону , желательно чтоб была осуществлена проверка кода
степик не предлагать , там слишком простые задачи

18
Эксперт .NET
 Аватар для Usaga
14293 / 9378 / 1352
Регистрация: 21.01.2016
Сообщений: 35,344
09.10.2022, 16:56
Etyuhibosecyu, что есть "неумышленная обфускация кода"?
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,627
Записей в блоге: 14
09.10.2022, 17:03  [ТС]
Usaga, это есть "неумышленное написание запутанного, трудночитаемого, "макаронного" кода". Ну то есть, может быть, и умышленное (так как неумышленное написание чего-либо - это опечатка, а обфусцированный код - это явно не опечатка), но не злоумышленное. Например, программист сделал как смог, не зная, что есть лучший способ. Или торопился, чтобы "бах-бах и в продакшен!" © XLAT. И так далее, куча вариантов.
0
Эксперт .NET
 Аватар для Usaga
14293 / 9378 / 1352
Регистрация: 21.01.2016
Сообщений: 35,344
10.10.2022, 00:52
Etyuhibosecyu, т.е. вы спрашиваете о программе, которая сможет разобраться в говнокоде и отрефакторить его?..
2
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,627
Записей в блоге: 14
10.10.2022, 12:32  [ТС]
Никто не хочет написать по делу?
0
Эксперт .NET
 Аватар для Usaga
14293 / 9378 / 1352
Регистрация: 21.01.2016
Сообщений: 35,344
10.10.2022, 12:45
Etyuhibosecyu, я не по делу вопрос задаю, что ли? Я уточняю масштаб возможностей деобфускатора, который вы ожидаете.

Но уже точно знаю, что вы просите сильно много.
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,627
Записей в блоге: 14
10.10.2022, 13:19  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Но уже точно знаю, что вы просите сильно много.
Почему же это? Распутать незлоумышленный говнокод должно быть существенно проще, чем коммерчески обфусцированный код, так как "градус" обфусцированности там изначально существенно ниже. Ну я же не думаю, что программа, снимающая коммерческий обфускатор, один-в-один реверсирует алгоритм конкретного обфускатора? Тем более, что в таком случае самообфускация обфускатора сделала бы деобфускацию невозможной. Значит, деобфускаторы в принципе знают большинство обфусцированных конструкций (акцент на словах "в принципе") и их деобфусцированные аналоги - не знают только самые "крутые", в зависимости от "крутизны" деобфускатора. Так что им мешает распознать те же конструкции в коде, написанном в таком же стиле без злого умысла? Думаю, у такого кода "крутизна" обфускации на порядки ниже, чем даже у самого простого коммерческого обфускатора.
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
10.10.2022, 14:48
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Ну я же не думаю, что программа, снимающая коммерческий обфускатор, один-в-один реверсирует алгоритм конкретного обфускатора?
Каждый деобфускатор пишется под конкретный обфускатор и его алгоритм.

Добавлено через 57 секунд
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Тем более, что в таком случае самообфускация обфускатора сделала бы деобфускацию невозможной.
Чего?
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,627
Записей в блоге: 14
10.10.2022, 14:49  [ТС]
Цитата Сообщение от Someone007 Посмотреть сообщение
Каждый деобфускатор пишется под конкретный обфускатор и его алгоритм.
Добавлено через 57 секунд
Сообщение от Etyuhibosecyu
Тем более, что в таком случае самообфускация обфускатора сделала бы деобфускацию невозможной.
Чего?
А как писать под конкретный алгоритм, если алгоритма нет?
0
Эксперт .NET
 Аватар для Usaga
14293 / 9378 / 1352
Регистрация: 21.01.2016
Сообщений: 35,344
10.10.2022, 16:50
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Распутать незлоумышленный говнокод должно быть существенно проще
Наоборот - сложнее. Любой код, говно он или прекрасен, это только видение решения программистом некоторой задачи. Чтобы знать что же там на самом деле должно быть, ваш деобфускатор должен обладать интеллектом настоящим. А так же должен быть в контесте этой задачи. Чтобы понимать, что же на самом деле хотел сделать этот криворукий товарищ.

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

А вы спрашиваете о какой-то волшебной программке, которая лучше людей будет это делать, да?

Все существующие ныне деобфускаторы заточены на конктерные обфускаторы которые, в свою очеред - есть тупо набор определённых паттернов "запутывания". Причём довольно простых паттернов.

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

Ну и самое главное: если бы подобные инструменты были бы, они бы настолько активно использовали, что только свист стоял бы. Вы так не думаете?
3
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,627
Записей в блоге: 14
10.10.2022, 19:57  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Все существующие ныне деобфускаторы заточены на конктерные обфускаторы которые, в свою очеред - есть тупо набор определённых паттернов "запутывания". Причём довольно простых паттернов.
То есть, если я создам обфускатор, который не набор определенных паттернов "запутывания", а сразу генерирует говнокод, и самообфусцирую его, то потребуются десятилетия, чтобы справиться с ним, правильно я понял? Отлично, я уже давно вынашивал эту идею.
0
HF
 Аватар для HF
1314 / 893 / 200
Регистрация: 09.09.2011
Сообщений: 2,659
Записей в блоге: 2
10.10.2022, 19:57
Чем дольше читаю, тем больше уверен в том что автор путает возможности
- статического анализа кода - как пример PVS-Studio с огромным функционалом поиска реального говнокода
- и обфускацией кода - из-за имеющегося доступа к исходнику, программа всего лишь: 1) меняет все имена на случайные; 2) может добавлять избыточный код для сложности деассемблирования и разбора этого кода реальным программистом. 3) ну и ещё всякие фишки по упаковке кода для сложности его экстракта без наличия ключей и т.п.
Исправьте меня, где я не прав?
1
Эксперт .NET
 Аватар для Usaga
14293 / 9378 / 1352
Регистрация: 21.01.2016
Сообщений: 35,344
11.10.2022, 01:24
Etyuhibosecyu, справедливости ради, ваш код и так уже... не очень. Если мягко выражаться)

Просто из вашего описания не очень явственно выражается что именно вы хотите. Просто средство восстановления обфусцированного кода или какую-то волшебную палочку, которая выполнит работу по рефакторингу запутанного кода? Если последнее, то под рефакторингом тоже разные вещи понимать можно. Там от достаточно простых вещей (если из исходника построить AST) по типу выноса интерфейса из класса или переименования членов класса, до вещей, которые машина не сделает по причинам выше изложенным.

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
То есть, если я создам обфускатор, который не набор определенных паттернов "запутывания", а сразу генерирует говнокод, и самообфусцирую его, то потребуются десятилетия, чтобы справиться с ним, правильно я понял?
Что значит "справиться"? И что вы тут под обфускацией вообще понимаете? Обфускаторы ничего не генерируют. Они перетасовывают существующий код, без изменения логики его работы, и в ограниченных пределах (чтобы не пострадала производительность).
1
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3412 / 2733 / 575
Регистрация: 04.09.2018
Сообщений: 8,574
Записей в блоге: 3
11.10.2022, 15:44

Не по теме:

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


0
Эксперт .NET
 Аватар для Usaga
14293 / 9378 / 1352
Регистрация: 21.01.2016
Сообщений: 35,344
11.10.2022, 17:45
wizard41, не скажу за других, но лично мне рвало крышу от событий происходящих.
0
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,593
Записей в блоге: 1
11.10.2022, 18:09
нене, вы не поняли, ТС говорит про запутывание кода, типа 100 классов, всё запутано туды-сюды, что сам не вспомнишь, он наверное не понял что такое обфускация
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3412 / 2733 / 575
Регистрация: 04.09.2018
Сообщений: 8,574
Записей в блоге: 3
12.10.2022, 02:40
Usaga, не могу с вами не согласиться. Похоже, пора приобретать литературу:
Кликните здесь для просмотра всего текста
2
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,231
12.10.2022, 04:55
wizard41, лайк за кота.
1
54 / 32 / 3
Регистрация: 25.07.2022
Сообщений: 212
13.10.2022, 10:44
Etyuhibosecyu, игру доделали ? хотите обфуфуфуфуфусифицировать код вашей игры, чтобы никто ничего не украл?

Добавлено через 37 минут
Цитата Сообщение от Usaga Посмотреть сообщение
Etyuhibosecyu, т.е. вы спрашиваете о программе, которая сможет разобраться в говнокоде и отрефакторить его?..
гитхаб co-pilot уже существует DDDDDD
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.10.2022, 10:44
Помогаю со студенческими работами здесь

Где можно найти программу Assembler?
Где можно найти программу Assembler????....

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

Где можно найти программу crouzet logic software m2
Где можно найти программу crouzet logic software m2.

Где можно найти готовую программу Marathon Skills 2016
http://www.irozk.ru/old/images/RKC_WS/programs_for_busy/konkurs/1.pdf Есть у кого то эта программа?:)

Где можно найти готовую программу Marathon Skills 2016
Где можно найти готовую программу Marathon Skills 2016? Или найти уроки по этой теме.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru