170 похожих чатов

Как защищают ПО на WPF от декомпиляции, допустим как ещё

не узнали исходный код программ: Kaspersky, McAfee и т д?

28 ответов

9 просмотров

Каспер написан на с++. Только gui на шарпе. И gui спокойно декомпилится

Tttttt-tttttt Автор вопроса
Tony Werner
Каспер написан на с++. Только gui на шарпе. И gui ...

допустим gui на c#, но ведь ядро тоже пишется на том же c#, или там какая-то обёртка? Может функционал на c++ написан, которые находятся на серверах, а c# участвует как обёртка этого api? То есть даже этот код пользователи могут узнать у Касперского?

Tttttt-tttttt Автор вопроса
Tttttt tttttt
допустим gui на c#, но ведь ядро тоже пишется на т...

Что-то мне так и не верится, что люди могут запросто посмотреть исходный код WPF приложения, я уверен, что некоторые из программ microsoft написаны на этом фреймворке, но ведь их программы никто не декомпилировал🤔 Проконсультируйте меня пожалуйста, а то для меня это самый назойливый вопрос, на который я с трудом не могу найти ответ. К примеру крупная компания, решила разрабатывать ПО и использовать в качестве фреймворка для GUI - WPF, они его разработали, это ПО взаимодействует с сервером и весь код, которые они писали все эти пол года, просто возьмут и декомпилируют, какой тогда вообще смысл?

Tttttt tttttt
Что-то мне так и не верится, что люди могут запрос...

вот представь, ты делал, делал WinRAR, а потом его взяли и скачали с торрентов, какой тогда вообще смысл?

Tttttt tttttt
допустим gui на c#, но ведь ядро тоже пишется на т...

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

Tttttt tttttt
Что-то мне так и не верится, что люди могут запрос...

Многие проги Майков написаны на uwp и c++, так что декомпилить их не так казуально, как шарповые)

Tttttt tttttt
Что-то мне так и не верится, что люди могут запрос...

Нельзя просто взять и декомпилировать. Ты потом будешь вычищать кучу вещей чтобы все работало. Это все будет поделие крайне низкого пошиба. Минимум три месяца будут приводить это все дело в порядок и это при очень дотошном подходе. За это время выходят новые доработки. И техник инкрементальной декомпиляция еще в открытом доступе нет

Andrii Kurdiumov
Нельзя просто взять и декомпилировать. Ты потом бу...

задача декомпиляции обычно в том чтобы найти место где пропатчить пару IL-инструкций

Nikita Tsukanov
задача декомпиляции обычно в том чтобы найти место...

Если конечно там нет проверок подписи на сборках

с плюсами кому сильно надо возьмут идапро и так же залезут

Ну снимишь и ничего не загрузится...

Vladislav K
с плюсами кому сильно надо возьмут идапро и так же...

Ну да, но таких уже сильно меньше. Короче хз, битва жёлтого с коричневым

Tony Werner
Ну снимишь и ничего не загрузится...

чуть больше усилий, но всё загрузица

Vladislav K
с плюсами кому сильно надо возьмут идапро и так же...

такие, кому надо, уже свой антивирус написали

Tony Werner
Ну снимишь и ничего не загрузится...

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

Tony Werner
Если конечно там нет проверок подписи на сборках

иии, тут мы ищем второе место которое надо пропатчить

Tttttt-tttttt Автор вопроса
Andrii Kurdiumov
Нельзя просто взять и декомпилировать. Ты потом бу...

Но всё же, допустим я написал интерфейс на xaml, написал ядро, которое делает запросы на сервер, сервер же отдаёт данные и отображает в интерфейсе, всё же, этот код, который участвует, как посредник между интерфейсом и серверным api, могут увидеть, верно? В этом случае получается, если я захочу это защитить, то придётся использовать что-то вроде PInvoke, который и будет посредником между c# и c++, и всю логику писать на плюсах, верно?

Tttttt-tttttt Автор вопроса
Tttttt tttttt
Но всё же, допустим я написал интерфейс на xaml, н...

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

IL все равно останется

Tttttt tttttt
Но всё же, допустим я написал интерфейс на xaml, н...

Это не рабочий продукт. примерно понять что происходит ты можешь, найти точку где идет проверка на "лицензию" ты можешь. но этот "исходный" код на более менее большом объеме не будет рекомпилироваться обязательно что-то да отвалится при компиляции. починить что отвалится (включая потенциальные логические бомбы) я не думаю что выйдет быстро.

Дмитрий
IL все равно останется

ИСХОДНЫЕ коды не останутся

Tttttt-tttttt Автор вопроса
Tttttt tttttt
screenshot

но всё же, хотелось бы добиться такого результата, как на втором скрине или этого невозможно на c#

Tttttt tttttt
но всё же, хотелось бы добиться такого результата,...

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

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Открыл свой двухкилобайтный экзешник в x32dbg, а тут какая-то хрень. Смущает кнопка "выполнить до пользовательского кода", а что ещё может быть в файле помимо него ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
11
Мне были интересны дишные хаки и я нашёл любопытный способ на форуме через __traits, что-то вроде int delegate(int) fac = (int n) => n == 0 ? 1 : n * __traits(parent, {})(n - ...
Constantin F.
1
Вопрос тем кто смотрит видео и слушает подкасты - как вы потом ищете нужную вам информацию? Вот статью я прочитал, потом могу искать нужную мне часть банальным поиском. Пропус...
Aleksandr Druzhinin
4
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
Коллеги, доброе утро. Запустил на удаленном хосте приложение (ручками зашел туда по ssh и запустил, не командой удаленно). Создал потом ssh-туннель, и с моей машины приложение...
Δημήτηρ
9
Карта сайта