Re[8]: Virtual Monolithic Repository
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 09.06.23 23:10
Оценка: +1 -1 :))) :))) :)
_> Т.е. некоторое доверие таки есть?

Это другое! Microsoft — вражеская компания под управлением вражеского правительства и вражеских спецслужб.
Странно было бы не принимать это во внимание.
Re: Virtual Monolithic Repository
От: Qbit86 Кипр
Дата: 09.06.23 15:40
Оценка: 23 (2) -1
Здравствуйте, Sharov, Вы писали:

S>Открыт .net или закрыт?


Открыт.

S>Но вот коллега Эйнсток Файр пишет, что нифига подобного:

S>

S>Никакие они не открытые.
S>Бутстраппинг компилятора нельзя провести без его бинарной версии,
S>которая поставляется Микрсофтом.


Для того, чтобы иметь возможность быть включёнными в дистрибутивы Linux (которые требуют возможность скомпилировать всё с нуля из исходников), Microsoft заэкранировали исходники в Virtual Monolithic Repository.

Goals of the Virtual Monolithic Repository
Fulfill requirements of .NET distro builders such as RedHat or Canonical to natively include .NET in their distribution repositories.
https://github.com/dotnet/announcements/issues/241

Грубо говоря, процесс выглядит как-то так: с помощью поставляемого через SDK компилятора C# ты компилируешь компилятор C# из исходников, потом этим самостоятельно собранным компилятором C# ты компилируешь весь дотнет включая опять же компилятор C#.
Глаза у меня добрые, но рубашка — смирительная!
Re[2]: Virtual Monolithic Repository
От: Baiker  
Дата: 09.06.23 21:46
Оценка: 14 (1) -2
Здравствуйте, Qbit86, Вы писали:

Q>Грубо говоря, процесс выглядит как-то так: с помощью поставляемого через SDK компилятора C# ты компилируешь компилятор C# из исходников, потом этим самостоятельно собранным компилятором C# ты компилируешь весь дотнет включая опять же компилятор C#.


Для совсем конченых параноиков (в самом плохом смысле, но котрые считают себя очень умными и въедливыми) есть простой рецепт: поставляется набор:
1. Сорсы минимально необходимого компилятора МНК_сорсы
2. Бинарь МНК

Сорсы проверяются параноиками. Затем МНК канпеляет МНК_сорсы и получает МНК2, который сравнивается с МНК. Если всё совпало — бинарь соответствует сорсам. А далее уже при помощи МНК канпеляется последняя версия компилятора.

Хотя у меня всё ещё большие сомнения, так ли уж открыт дотнет. В нём громадная куча сорсов, причём прибитая к венде. Неужели кто-то прям открыл сорсы 2012 года и сказал "на те, нам не жалко!" Нет, конечно! Как всегда найдутся тухлые отмазки "ну мы типа опенсорсим, только не всё ". А нахрен нам "не всё"?? В нём просто нет смысла — проще Немерлю взять, она гарантированно ВСЯ открытая.
Re: Открыт .net или закрыт?
От: · Великобритания  
Дата: 09.06.23 11:27
Оценка: 6 (1) +2
Здравствуйте, Sharov, Вы писали:

S>В отличие от той же оракловской явы.

Ерунда какая-то. Оракловская ява — это OpenJDK (который полностью открыт) плюс официальная поддержка от Oracle. Плюс есть есть несколько имплементаций и сборок от разных вендоров, даже есть что-то российское с сертификатами https://astralinux.ru/ready-for-software/liberica-jdk/
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: Открыт .net или закрыт?
От: TK Лес кывт.рф
Дата: 13.06.23 07:24
Оценка: 17 (2)
Здравствуйте, Sharov, Вы писали:

S>В общем, открыт C# или нет? Можно будет собрать компилятор из открытых исходников или для этого

S>нужен недоступный бинарь от мс? Что-то я запутался. Как сейчас дела обстоят?

Главное, чтоб недоступный бинарь от MS выдавал воспроизводимые сборки.
После этого собираете свой компилятор, проводите его сертификацию — и все, вы в домике.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re: Открыт .net или закрыт?
От: karbofos42 Россия  
Дата: 09.06.23 17:39
Оценка: 7 (1) +1
Здравствуйте, Sharov, Вы писали:

S>В вакансиях регулярно пишут про связку C# и линукс, т.е. много где переходят на c#, даже в гос. подрядах.

S>Сейчас уже вполне классическая связка для компаний это Astra Linux и .net (C#).

Учитывая, что есть даже .NET 3.1 под Эльбрусы: https://www.altlinux.org/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81/dotnet
думаю, что всё же открытый.
Я за все годы объявленного импортозамещения так и не увидел официальных рекомендаций по инструментам.
Даже сейчас до смешного доходит в рамках одной организации.
На совещании по одному проекту рассматривают всякие Java, Ruby , ещё что-то там, а C# отметают со словами, что это же Майкрософт (люди банально не знают, что давно есть рантайм под Linux и не прибито всё к винде).
Параллельно с этим другой проект переводится с ASP .NET на ASP .NET Core и соответственно с .NET Framework на .NET
(не представляю как его можно перевести за год с C# на Java или ещё что, т.к. даже внутри языка этот переход достаточно болезненно проходит).
Открыт .net или закрыт?
От: Sharov Россия  
Дата: 09.06.23 10:31
Оценка: 3 (1) +1
Здравствуйте.

В вакансиях регулярно пишут про связку C# и линукс, т.е. много где переходят на c#, даже в гос. подрядах.
Сейчас уже вполне классическая связка для компаний это Astra Linux и .net (C#).
Мотивируют это тем, что он типа открыт (open source). В отличие от той же оракловской явы.

Но вот коллега Эйнсток Файр пишет, что нифига подобного:
1)

Никакие они не открытые.
Бутстраппинг компилятора нельзя провести без его бинарной версии,
которая поставляется Микрсофтом.

http://rsdn.org/forum/job/8539806?tree=tree
Автор: Эйнсток Файр
Дата: 08.06.23

2)

S> Разве мс не открыл все?

А что толку, если ты не можешь собрать исходники?

Использование непроверяемого бинарника это гипотетическая угроза безопасности.

И, кстати, некоторые библиотеки открыты, но недолицензированы.
А исходники некоторых утилит (для работы с СУБД например) не открыты

http://rsdn.org/forum/job/8540242?tree=tree
Автор: Эйнсток Файр
Дата: 08.06.23


В общем, открыт C# или нет? Можно будет собрать компилятор из открытых исходников или для этого
нужен недоступный бинарь от мс? Что-то я запутался. Как сейчас дела обстоят?
Кодом людям нужно помогать!
Re[2]: Virtual Monolithic Repository
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 09.06.23 18:08
Оценка: +1 -1
Q> с помощью поставляемого через SDK компилятора C# ты компилируешь компилятор C# из исходников, потом этим самостоятельно собранным компилятором C# ты компилируешь весь дотнет включая опять же компилятор C#.

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

То есть недостататочно побайтового сравнения результата компиляции. Требуется полный анализ бинарного кода.
Отредактировано 09.06.2023 18:10 Эйнсток Файр . Предыдущая версия . Еще …
Отредактировано 09.06.2023 18:09 Эйнсток Файр . Предыдущая версия .
Re[3]: Virtual Monolithic Repository
От: IT Россия linq2db.com
Дата: 09.06.23 20:20
Оценка: +1 -1
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>То есть недостататочно побайтового сравнения результата компиляции. Требуется полный анализ бинарного кода.


И такая проверка довольно тривиальна. А теперь подумай, если такое вдруг вскроется, то это будут такие репутационные потери для майкрософт, что возможно даже на .net можно будет ставить крест. Вот оно им надо страдать такой фигнёй, абсолютно ненадёжной по сокрытию следов, сомнительной в части профита и ужасающе разрушительной по последствиям?
Если нам не помогут, то мы тоже никого не пощадим.
Re[8]: Примеры
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 09.06.23 23:44
Оценка: :))
ЭФ>> Можно подумать, что альтернатив нехватает.
Автор: Эйнсток Файр
Дата: 10.06.23

Q> Так какие?

Ну я конкретно Rust не проверял.

И потом, настоящий параноик не будет доверять советам анонимов из интернета.
Re: Открыт .net или закрыт?
От: Shmj Ниоткуда  
Дата: 09.06.23 11:17
Оценка: 6 (1)
Здравствуйте, Sharov, Вы писали:

S>В общем, открыт C# или нет? Можно будет собрать компилятор из открытых исходников или для этого

S>нужен недоступный бинарь от мс? Что-то я запутался. Как сейчас дела обстоят?

https://github.com/dotnet/roslyn

— компилятор открыт, но его исходники написаны на C# и VB.NET. А чтобы их скомпилировать, нужен другой какой-то компилятор, но где его взять, если вы хотите использовать все изначально открытое?

Но на мой взгляд проблема надумана.
Отредактировано 09.06.2023 11:17 Shmj . Предыдущая версия .
Re[3]: Virtual Monolithic Repository
От: Qbit86 Кипр
Дата: 09.06.23 19:17
Оценка: +1
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>...он будет попадать во все следующие собираемые компиляторы


Именно компиляторы, или любые производимые бинарники? Он как-то должен детектить, что сбираемая программа — компилятор?

ЭФ>Никакие они не открытые.


Для любого уважающего себя языка хорошим тоном считается писать компилятор на этом же языке. То есть эта процедура [1] — везде одинаковая. По-твоему, никакие языки не открытые?

[1] https://github.com/dotnet/source-build/blob/main/Documentation/bootstrapping-guidelines.md
Глаза у меня добрые, но рубашка — смирительная!
Отредактировано 09.06.2023 19:17 Qbit86 . Предыдущая версия .
Re[3]: Virtual Monolithic Repository
От: Baiker  
Дата: 09.06.23 21:36
Оценка: -1
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Это ничего не гарантирует. В исходном бинарнике компилятора может быть зловред, он будет попадать во все следующие собираемые компиляторы, и бинарно всё будет совпадать.

ЭФ>То есть недостататочно побайтового сравнения результата компиляции. Требуется полный анализ бинарного кода.

Как ты в ширинку-то рукой залазишь так смело — вдруг там шпион??
Маразм крепчал...
Re[3]: Virtual Monolithic Repository
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 09.06.23 22:48
Оценка: +1
B> МНК2, который сравнивается с МНК. Если всё совпало — бинарь соответствует сорсам.

Нет. В этом утверждении логическая ошибка. И был proof of concept компилятора который её демонстрирует.
Это если сравнение по контрольной сумме и размеру. Да даже и если побайтное сравнение — всё равно.
Нужно знать, что именно байты делают не анализом исходников, а анализом бинарника.

А про побайтную проверку смысла я выше
Автор: Эйнсток Файр
Дата: 09.06.23
писал, и там не "минимально необходимый компилятор", а "загрузчик шестнадцатеричного дампа".
Отредактировано 09.06.2023 22:57 Эйнсток Файр . Предыдущая версия . Еще …
Отредактировано 09.06.2023 22:56 Эйнсток Файр . Предыдущая версия .
Отредактировано 09.06.2023 22:55 Эйнсток Файр . Предыдущая версия .
Отредактировано 09.06.2023 22:55 Эйнсток Файр . Предыдущая версия .
Re[7]: Virtual Monolithic Repository
От: IT Россия linq2db.com
Дата: 12.06.23 14:25
Оценка: +1
Здравствуйте, Эйнсток Файр, Вы писали:

IT>> Проверка на такие закладки вполне себе автоматизируется, если ты программист.


ЭФ>Это надо декомпилятор писать с эвристиками — целый продукт. А я не автор антивируса Касперского. Пусть делает он.


ILSpy вполне себе опенсоурсный и доступен даже как плагин к VS.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Открыт .net или закрыт?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 09.06.23 18:12
Оценка:
K> люди банально не знают, что давно есть рантайм под Linux и не прибито всё к винде

Ага, только WPF через жо.. Avalonia.
Re[4]: Virtual Monolithic Repository
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 09.06.23 19:31
Оценка:
Q> Именно компиляторы, или любые производимые бинарники? Он как-то должен детектить, что сбираемая программа — компилятор?

Он может делать всё что посчитает нужным. Например конкретно в компиляторы вставляться целиком, а в подходящие программы — частями.

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

ЭФ>>Никакие они не открытые.


Q> эта процедура [1] — везде одинаковая. По-твоему, никакие языки не открытые?


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

А если такого нет, то тебе/вам придётся каждую новую версию бинарного компилятора, выкладываемого Микрософтом,
перепроверять по-новой перед использованием.
Отредактировано 09.06.2023 19:57 Эйнсток Файр . Предыдущая версия . Еще …
Отредактировано 09.06.2023 19:56 Эйнсток Файр . Предыдущая версия .
Отредактировано 09.06.2023 19:38 Эйнсток Файр . Предыдущая версия .
Отредактировано 09.06.2023 19:33 Эйнсток Файр . Предыдущая версия .
Re[5]: Virtual Monolithic Repository
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 09.06.23 19:41
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

Про какие компиляторы вы говорите? Про MSIL? Есть JIT и CoreRT
Есть среда выполнения с Jit-ом вот она то и интересна. MSIL можешь проанализировать как и декомпилировать
и солнце б утром не вставало, когда бы не было меня
Re[6]: Virtual Monolithic Repository
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 09.06.23 19:48
Оценка:
S> и CoreRT

Вы искали пакеты, в именах которых есть corert. Были просмотрены комплект(ы) stable, все секции и все архитектуры.

Ничего не найдено


https://packages.debian.org/search?keywords=corert&searchon=names&suite=stable&section=all
Re[4]: Virtual Monolithic Repository
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 09.06.23 22:46
Оценка:
IT> подумай, если такое вдруг вскроется, то это будут такие репутационные потери для майкрософт, что возможно даже на .net можно будет ставить крест

Это так себе аргумент. Ведь не обязательно зловреда вставлять прямо сейчас, это можно будет сделать позже, когда будет нужно.

Была же компания, которая ломаные шифровальные машинки выпускала? Ну они понесли репутационные потери.
Но клиентам-то уже ущерб мог быть нанесён.

Поэтому только безопасные подходы нужны.

IT> возможно даже на .net можно будет ставить крест.


Это надо сделать сразу прямо сейчас, за то, что они приняли такой подход, который приняли.
Можно подумать, что альтернатив нехватает.
Отредактировано 09.06.2023 22:49 Эйнсток Файр . Предыдущая версия . Еще …
Отредактировано 09.06.2023 22:47 Эйнсток Файр . Предыдущая версия .
Re[5]: Virtual Monolithic Repository
От: pilgrim_ Россия  
Дата: 09.06.23 22:57
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

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


ЭФ>Это так себе аргумент. Ведь не обязательно зловреда вставлять прямо сейчас, это можно будет сделать позже, когда будет нужно.


А хоть какому-то open-source ты доверяешь?
Ну напр. компилятору gcc последней версии, который был скомпилирован компилятором предыдущей версии и т.д. до 1-й версии компилятора?
Re[6]: Virtual Monolithic Repository
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 09.06.23 22:59
Оценка:
_> А хоть какому-то open-source ты доверяешь?

Одобряемый мной подход записан здесь
Автор: Эйнсток Файр
Дата: 09.06.23
. Он, в принципе, совпадает с тем, что говорит baiker,
но почему-то Baiker не понимает, что Microsoft этот подход не реализовал.

> Ну напр. компилятору gcc последней версии, который был скомпилирован компилятором предыдущей версии и т.д. до 1-й версии компилятора?


В случае с Си есть компиляторы различных производителей. Можно брать компилятор ФСБ и ничего не боятся.

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

С C# так не выйдет.
Отредактировано 09.06.2023 23:05 Эйнсток Файр . Предыдущая версия . Еще …
Отредактировано 09.06.2023 23:02 Эйнсток Файр . Предыдущая версия .
Отредактировано 09.06.2023 23:02 Эйнсток Файр . Предыдущая версия .
Отредактировано 09.06.2023 23:01 Эйнсток Файр . Предыдущая версия .
Отредактировано 09.06.2023 22:59 Эйнсток Файр . Предыдущая версия .
Re[7]: Virtual Monolithic Repository
От: pilgrim_ Россия  
Дата: 09.06.23 23:05
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>В случае с Си есть компиляторы различных производителей. Можно брать компилятор ФСБ и ничего не боятся.


Т.е. некоторое доверие таки есть?

ЭФ>Можно последовательно прокомпилировать компиляторами разных проиизводителей и снизить вероятность того, что они все сговорились.


Как будешь проверять?

ЭФ>С C# так не выйдет.


Mono?

ps: ну и как IT уже сказал, проверка managed кода существенно проще нативного, и его анализ на предмет зловредов вряд-ли сильно сложнее анализа исходников.
Re[5]: Примеры
От: Qbit86 Кипр
Дата: 09.06.23 23:17
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>нижний уровень которой — загрузчик байтов, который вводится с текстового дампа байтов для памяти и байты должны верифицироваться вручную.


Я не очень понял, что за загрузчик байтов и дамп байтов. Давай на примерах. Вот компилятор Rust написан на Rust. Он читает из файла символы, составляет из них лексемы, группирует их в синтаксические конструкции и так далее — про «загрузку байтов» не знаю. Он тоже не открытый?

ЭФ>Никакие они не открытые.


Можешь привести примеры языков, кроме C/C++, которые являются открытыми? В каком языке, компилятор которого написан на нём же, есть эта машинерия, где «байты должны верифицироваться вручную»?
Глаза у меня добрые, но рубашка — смирительная!
Re[6]: Примеры
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 09.06.23 23:37
Оценка:
Q> Давай на примерах.
Q> компилятор Rust написан на Rust.

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

Q> Он читает из файла символы, составляет из них лексемы, группирует их в синтаксические конструкции и так далее.


Все компиляторы так делают. И во все бинарные компиляторы можно внедрить зловреда.

Q> Он тоже не открытый?


Это нельзя сказать определённо, надо проводить анализ.
То есть полностью понимать, как работает весь этот огромный компилятор с точностью до каждого финального байта.

Q>Можешь привести примеры языков, кроме C/C++, которые являются открытыми?


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

А в случае с микрософтом — надо это делать на каждой новой версии.
Re[7]: Примеры
От: Qbit86 Кипр
Дата: 09.06.23 23:42
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

Q>>Можешь привести примеры языков, кроме C/C++, которые являются открытыми?


ЭФ>Чем проще программа, и меньше она делает, тем проще верифицировать её бинарный код.


Ты не ответил на вопрос.

ЭФ>Можно подумать, что альтернатив нехватает.
Автор: Эйнсток Файр
Дата: 10.06.23


Так какие?

ЭФ>А в случае с микрософтом — надо это делать на каждой новой версии.


Чем он в этом смысле отличается от Rust?
Глаза у меня добрые, но рубашка — смирительная!
Re[5]: Virtual Monolithic Repository
От: IT Россия linq2db.com
Дата: 10.06.23 03:10
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

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

ЭФ>Это так себе аргумент. Ведь не обязательно зловреда вставлять прямо сейчас, это можно будет сделать позже, когда будет нужно.

Ты можешь прямо сейчас написать скрипт/прогу, который всё это будет контролировать. Проверка на такие закладки вполне себе автоматизируется, если ты программист. Прикинь, как ты прославишься, когда поймаешь такую компанию как MS на закладках! Классная идея, дарю.
Если нам не помогут, то мы тоже никого не пощадим.
Re: Открыт .net или закрыт?
От: Michael7 Россия  
Дата: 10.06.23 04:22
Оценка:
Здравствуйте, Sharov, Вы писали:

S>В общем, открыт C# или нет? Можно будет собрать компилятор из открытых исходников или для этого

S>нужен недоступный бинарь от мс? Что-то я запутался. Как сейчас дела обстоят?

Mono точно полностью открыт.
Re[6]: Virtual Monolithic Repository
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 10.06.23 04:33
Оценка:
IT> Проверка на такие закладки вполне себе автоматизируется, если ты программист.

Это надо декомпилятор писать с эвристиками — целый продукт. А я не автор антивируса Касперского. Пусть делает он.
Отредактировано 10.06.2023 4:33 Эйнсток Файр . Предыдущая версия .
Re[2]: Открыт .net или закрыт?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 10.06.23 04:35
Оценка:
M> Mono точно полностью открыт.

Ключевое слово — был (в ранних версиях). А сейчас он тоже собирается рослином (бинарным, от микрософта).
Отредактировано 10.06.2023 4:38 Эйнсток Файр . Предыдущая версия .
Re[7]: Virtual Monolithic Repository
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 10.06.23 09:47
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

S>> и CoreRT


ЭФ>

Вы искали пакеты, в именах которых есть corert. Были просмотрены комплект(ы) stable, все секции и все архитектуры.

ЭФ>Ничего не найдено


ЭФ>https://packages.debian.org/search?keywords=corert&searchon=names&suite=stable&section=all


А что там с пакетами для IL2CPP
https://habr.com/ru/companies/plarium/articles/276589/
https://habr.com/ru/companies/plarium/articles/325034/
https://unityhub.ru/manual/IL2CPP
Что там с Unity, MONO
и солнце б утром не вставало, когда бы не было меня
Отредактировано 10.06.2023 12:04 Serginio1 . Предыдущая версия . Еще …
Отредактировано 10.06.2023 9:55 Serginio1 . Предыдущая версия .
Re[4]: Virtual Monolithic Repository
От: Sharov Россия  
Дата: 12.06.23 08:33
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>А про побайтную проверку смысла я выше
Автор: Эйнсток Файр
Дата: 09.06.23
писал, и там не "минимально необходимый компилятор", а "загрузчик шестнадцатеричного дампа".


Где про эту технику с дампом можно почитать?
Кодом людям нужно помогать!
Re[5]: Virtual Monolithic Repository
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 12.06.23 08:41
Оценка:
S> Где про эту технику с дампом можно почитать?

В журналах, где печатали дампы для спектрума.
Или на утилиту xxd и её аналоги
Re[8]: Virtual Monolithic Repository
От: Разраб  
Дата: 13.06.23 01:30
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, Эйнсток Файр, Вы писали:


IT>>> Проверка на такие закладки вполне себе автоматизируется, если ты программист.


ЭФ>>Это надо декомпилятор писать с эвристиками — целый продукт. А я не автор антивируса Касперского. Пусть делает он.


IT>ILSpy вполне себе опенсоурсный и доступен даже как плагин к VS.


я кстати его установил, но не чтобы в кишках копаться, а чтобы посмотреть сборку, но оказалось, что этот плагин никак не интегрирован со студией, т.е. тупо открывается обычный илспай и все.
а куда делся родной браузер сборок(или как он там назывался) непонятно.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: Открыт .net или закрыт?
От: · Великобритания  
Дата: 13.06.23 08:53
Оценка:
Здравствуйте, TK, Вы писали:

S>>В общем, открыт C# или нет? Можно будет собрать компилятор из открытых исходников или для этого

S>>нужен недоступный бинарь от мс? Что-то я запутался. Как сейчас дела обстоят?
TK>Главное, чтоб недоступный бинарь от MS выдавал воспроизводимые сборки.
TK>После этого собираете свой компилятор, проводите его сертификацию — и все, вы в домике.
Не очень ясно. Если ты можешь (как?) сертифицировать и верифицировать собранный компилятор (огроменный оптимизированный бинарник), то зачем тут воспроизводимость.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[3]: Открыт .net или закрыт?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 13.06.23 10:08
Оценка:
Здравствуйте, ·, Вы писали:

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

Про какой компилятор идет речь? Il или Jit?
https://xoofx.com/blog/2018/04/12/writing-managed-jit-in-csharp-with-coreclr/
и солнце б утром не вставало, когда бы не было меня
Отредактировано 13.06.2023 10:10 Serginio1 . Предыдущая версия .
Re[9]: Virtual Monolithic Repository
От: IT Россия linq2db.com
Дата: 13.06.23 19:10
Оценка:
Здравствуйте, Разраб, Вы писали:

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

Р>а куда делся родной браузер сборок(или как он там назывался) непонятно.

Обычно решарпера хватает. ILSpy только если надо плотно поковыряться или посмотреть на реализацию новых фич C# через историческую ретроспективу. Там это удобно сделано.
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Virtual Monolithic Repository
От: BSOD  
Дата: 13.06.23 19:29
Оценка:
Здравствуйте, Baiker, Вы писали:

ЭФ>>То есть недостататочно побайтового сравнения результата компиляции. Требуется полный анализ бинарного кода.

B> Как ты в ширинку-то рукой залазишь так смело — вдруг там шпион?? Маразм крепчал...

Зря стебешься. Про атаку через компилятор, такую как в корневом посте писал еще кто-то из классиков (не то Керниган, не то Ричи) в бородатых годах.
Исходники чистые, а свежесобранный компилятор получается зараженным.
Причем не просто потенциальная угроза, в статье были примеры кода, как это можно сделать.
Sine vilitate, sine malitiosa mente
Re[5]: Virtual Monolithic Repository
От: Sharov Россия  
Дата: 14.06.23 09:10
Оценка:
Здравствуйте, BSOD, Вы писали:

BSO>Зря стебешься. Про атаку через компилятор, такую как в корневом посте писал еще кто-то из классиков (не то Керниган, не то Ричи) в бородатых годах.

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

Ссылку можно?
Кодом людям нужно помогать!
Re[6]: Virtual Monolithic Repository
От: BSOD  
Дата: 14.06.23 10:00
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Ссылку можно?

Это печаталось еще в доинтернетные времена в бумажном журнале. Вчера бегло гуглил — не нашел.
На бумаге не уверен что у меня сохранилось, поищу как нибудь.
Sine vilitate, sine malitiosa mente
Re[4]: Virtual Monolithic Repository
От: smeeld  
Дата: 14.06.23 10:05
Оценка:
Здравствуйте, IT, Вы писали:

IT>И такая проверка довольно тривиальна. А теперь подумай, если такое вдруг вскроется, то это будут такие репутационные потери для майкрософт, что возможно даже на .net можно будет ставить крест.


Бекдоры всегда оформлются так, чтоб это выглядело как уязвимость, в случае если вскроется. MS просто прикроют свою лазейку если обнаружется, как и тысячи других своих лазеек в других сових продуктах.
Re[5]: Virtual Monolithic Repository
От: IT Россия linq2db.com
Дата: 14.06.23 13:45
Оценка:
Здравствуйте, smeeld, Вы писали:

IT>>И такая проверка довольно тривиальна. А теперь подумай, если такое вдруг вскроется, то это будут такие репутационные потери для майкрософт, что возможно даже на .net можно будет ставить крест.

S>Бекдоры всегда оформлются так, чтоб это выглядело как уязвимость, в случае если вскроется. MS просто прикроют свою лазейку если обнаружется, как и тысячи других своих лазеек в других сових продуктах.

Какие бекдоры? Берёшь ILSpy, декомпилируешь подозрительный компилятор, сравниваешь два набора исходников, находишь разницу, приходишь на RSDN и орёшь на весь мир "Обокрали!".
Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: Virtual Monolithic Repository
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 14.06.23 16:20
Оценка:
Здравствуйте, smeeld, Вы писали:
IT>>И такая проверка довольно тривиальна. А теперь подумай, если такое вдруг вскроется, то это будут такие репутационные потери для майкрософт, что возможно даже на .net можно будет ставить крест.

S>Бекдоры всегда оформлются так, чтоб это выглядело как уязвимость, в случае если вскроется. MS просто прикроют свою лазейку если обнаружется, как и тысячи других своих лазеек в других сових продуктах.


Кстати полно статических анализаторов https://bharatdwarkani.medium.com/top-10-code-quality-static-analysers-for-asp-net-core-1660ad7a8d61
и солнце б утром не вставало, когда бы не было меня
Re[4]: Virtual Monolithic Repository
От: Baiker  
Дата: 08.07.23 22:51
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

B>> МНК2, который сравнивается с МНК. Если всё совпало — бинарь соответствует сорсам.


ЭФ>Нет. В этом утверждении логическая ошибка. И был proof of concept компилятора который её демонстрирует.


Ты имеешь ввиду, что компилер выдаст некий бинарь, где среди "честного" кода будет вкрапления некой вирусни? (бинарно совпадающей с даденым бинарем)
В принципе — да, вполне реально. Но зачем впадать в паранойю? Пока что проблема только одна — нет никаких "открытых сорсов", из которых можно скомпилировать дотнет, чётко совпадающий с микрософтовским (я про .NET Framework).

Хотя мне лично эти сорсы не особо интересны — слишком большой продукт, чтобы в него вникать. И слишком много контроля самим мелкософтом, чтобы пытаться что-то там изменить.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.