Тема: Горе .NET
Показать сообщение отдельно
Старый 23.05.2018, 06:04   #14  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Есть такая попытка
Цитата:
Rebel.NET is a rebuilding tool for .NET assemblies which is capable of adding and replacing methods and streams.
http://www.ntcore.com/rebelnet.php

Это требует ребилдинга и вообще больше похоже на хакерский инструмент чем на рабочий.

Возможно горе .NET в том что
(1) минимальный файл байткода это файл cборки (.dll) (который может содержать файлы кода классов, ресурсов).
(2) Mанифест содержащий метаданные может быть встроен в сборку. Но однако никто не запрещает сделать его снаружи.
(3) Понятие версии относится к сборке (assembly). Подписывается сборка целиком.

Рантайм .NET проверяет на уровне assembly.

https://en.wikipedia.org/wiki/Assembly_(CLI)
https://en.wikipedia.org/wiki/Manifest_(CLI)

Java при этом
(1) минимальный файл байткода это .class, при том что аналог сборки это .jar который просто архив.
(2) Mанифест всегда отдельный файл в этом архиве.
(3) Понятие версии относится к байткоду класса в этом архиве. Подписывается не .jar, а классы индивидуально.

Цитата:
When the Java runtime loads signed JAR files, it can validate the signatures and refuse to load classes that do not match the signature.
Рантайм Джавы проверяет на уровне класса.
При этом никто не запрещает
Цитата:
A package might be sealed to ensure version consistency among the classes in the software or as a security measure.
https://en.wikipedia.org/wiki/JAR_(file_format)
За это сообщение автора поблагодарили: belugin (5).