Что за программа dnspy

DnSpy — это открытый бесплатный проект утилиты для обратного проектирования сборок .NET.

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

Он использует библиотеку dnlib (github.com/0xd4d/dnlib), которая позволяет читать и редактировать сборки .NET, обеспечивая возможность для чтения без сбоев сложных и запутанных сборок, например, сборки вредоносных программ.

Помимо богатого функционала и удобного интерфейса, DnSpy обладает обладает русской локализацией, по многим параметрам превосходит другие аналоги, например ILSpy.

Перечень некоторых функциональных особенностей представлен ниже:

  • Редактор и анализатор сборки;
  • Поиск внутри сборок (классов, методов, свойств и т.д.);
  • Отладчик;
  • Декомпилятор проектов на C #, Visual Basic, IL;
  • Подсветка синтаксиса;
  • Автоподстановка кода (аналог технологии IntelliSense);
  • Экспорт декомпилированных сборок в проект Visual Studio;
  • встроенный Hex-редактор;
  • возможность редактирования метаданных сборки;
  • доступ к объектам в GAC;
  • Использование нескольких тем для интерфейса;
  • использование нескольких языков интерфейса;
  • Высокая расширяемость, путем написания и использования плагинов;
  • и многое другое.

DnSpy в режиме редактирования декомпилированной сборки представлен ниже.

dnSpy Game Modding Tutorial

dnSpy - редактирование сборк

По большому счету, в ряде случаев, его можно использовать как альтернативу интегрированной среды разработки Microsoft Visual Studio.

Ниже представлен скриншот DnSpy в режиме отладки сборки.

dnSpy - отладка сборки

Почитать информацию о самом проекте DnSpy и принять участие в разработке по ссылке ниже: https://github.com/0xd4d/dnSpy

Скачать последний актуальный релиз и использовать его в работе можно по следующей ссылке: https://github.com/0xd4d/dnSpy/releases

Вы также можете ознакомиться с другими статьями:

  • Нумерация версий программного обеспечения
  • Visual Studio C#: создание фрагментов кода IntelliSense (snippets)
  • Dictionary с поддержкой сериализации
  • Программа «Редактор M3U» (M3Ueditor)
  • ILSpy — open source альтернатива .NET Reflector
Читайте также:
Программа аккор что это

Источник: it-enginer.ru

dnSpy

Как переводить dll-ки:
Сразу скажу, что я не владею языками программирования и до сих пор не разобрался каким образом привязывать строки к айдишникам в dnSpy. Покажу только самый простой способ. Если тут есть специалисты, буду очень благодарен им если они подробно объяснят как это сделать.

dnSpy — вскроет любую программу


1. Открываем утилиту и перетаскиваем нужную нам dll-ку в левое окно программы. Раскрываем древо dll-ки.

2. Те, кто хоть раз имел отношение к переводу скриптов, без труда определят строки нуждающиеся в переводе, тем более они подсвечены. Но переводить нужно не всё подряд!
3. Итак, находим нужную строку лкм/пкм на ней и в контекстном меню выбираем Изменить инструкции IL. либо Изменить метод (C#).

4. После декомпиляции откроется ещё одно окно, в котором и нужно будет перевести все строки в этом блоке.

5. После перевода жмём Ок и ищем строки которые нужно перевести в других блоках. Тут нужно учитывать то, что во взятом для примера моде Читы для Баннерлорда, большая часть перевода вынесена из dll-ки в отдельный файл L10N.resx , поэтому переводить в dll-ке нужно только то, чего нет в этом файле. А нет там вот этих строк из окон Персонажа, Инвентаря, Отряда, Клана и Энциклопедии. В других модах может быть по-другому, — например, часть или весь текст может содержаться в xml-файле. Поступайте по ситуации.

6. После того как мы полностью переведём dll-ку, жмём Файл и в меню выбираем Сохранить модуль , откроется ещё одно окошко где нужно опять подтвердить Ок .

7. Всё, перевод завершён. Закрываем программу, переносим переведённый мод в игру и проверяем.

Читайте также:
Программа cima что это

Гляньте дополнительные скрины, если что.

Источник: gamer-mods.ru

Модифицируем Last Epoch — От dnSpy до Ghidra

Last Epoch — это однопользовательская ARPG на Unity и C#. В игре присутствует система крафта — игрок находит модификаторы, которые затем применяет к экипировке. С каждым модификатором накапливается «нестабильность», которая увеличивает шанс поломки предмета

Я преследовал две цели:

  • Убрать «поломку» предмета в результате применения модификаторов
  • Не расходовать модификаторы при крафте

cut

Вот так выглядит окно крафта в игре:

Окно крафта в Last Epoch

Часть первая, где мы редактируем .NET код без регистрации и смс

Для начала я опишу процесс модификации старой версии игры (0.7.8)

После компиляции C# превращается в IL (Intermediate Language) код. IL-код напоминает ассемблер высокого уровня абстракции и замечательно декомпилируется. В Unity проектах IL-код игры как правило находится в /Managed/Assembly-CSharp.dll

Для редактирования IL-кода мы будем использовать dnSpy — лучший из всех инструментов подобного рода для .NET, что я встречал. dnSpy делает работу со скомпилированными .NET приложениями настолько легкой, что ее можно спутать с разработкой в обычной IDE.

Ищем логику крафта

Итак, запускаем dnSpy и открываем Assembly-CSharp.dll

dnSpy с открытым Assembly-CSharp.dll

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru