У меня есть код C#, который я должен скомпилировать, выполните и декомпилируйте использование терминала.
Как я могу сделать так?
Можно использовать mono
который является C#
реализация, имея межплатформенную поддержку и является открытым исходным кодом.
Откройте терминал и установите моно:
sudo apt install apt-transport-https dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu vs-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-vs.list
sudo apt update
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
sudo apt install apt-transport-https
echo "deb https://download.mono-project.com/repo/ubuntu vs-xenial main" | sudo tee /etc/apt/sources.list.d/mono-official-vs.list
sudo apt update
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
sudo apt install apt-transport-https
echo "deb https://download.mono-project.com/repo/ubuntu vs-trusty main" | sudo tee /etc/apt/sources.list.d/mono-official-vs.list
sudo apt update
Затем введите
sudo apt install mono-complete
Создайте образец C#
файл в текущем каталоге
Например, можно использовать следующий код:
class GoodDay
{
public static void Main()
{
System.Console.WriteLine("Good Day!");
}
}
Используйте любой текстовый редактор как gedit, введите следующий код и сохраните файл как GoodDay.cs
Команда для компиляции кода -
mcs -out:GoodDay.exe GoodDay.cs
Исполняемый файл GoodDay.exe
сгенерирован.
Команда для выполнения .exe
файл -
mono GoodDay.exe
Вывод будет -
Good Day!
Команда для декомпиляции исполняемого файла -
monodis --output=GoodDay.txt GoodDay.exe
Декомпилируемая информация кода сохранена в недавно сгенерированном файле GoodDay.txt
Необходимо установить монозавершенный, если Вы хотите запустить программное обеспечение для Моно или Microsoft.NET, который Вы не устанавливаете от пакета Debian.
Монозавершенная установка. Во всех в настоящее время поддерживаемых версиях Ubuntu открывают терминал и тип:
sudo apt install mono-complete
Сохраните свой код C# в файле, названном hello.cs. Пример hello.cs код:
using System;
namespace Project_1 {
class MainClass {
public static void Main (string[] args) {
Console.WriteLine ("Hello World!");
Console.ReadKey ();
}
}
}
Сделайте hello.cs исполняемый файл. Щелкните правой кнопкой по hello.cs файлу->, избранная вкладка Properties-> Permissions-> поместила галочку слева от, Позволяют выполнять файл как программу.
Каталоги изменения с помощью cd
управляйте к каталогу, который содержит hello.cs файл.
Используйте компилятор мГц и создайте исполняемый файл Windows под названием hello.exe из источника hello.cs.
mcs -out:hello.exe hello.cs
Запустите программу hello.exe с моно.
mono hello.exe
Результаты запущения Вашей программы на шаге 6. должен быть:
Hello World!
Нажмите Enter для выхода назад к терминальной подсказке по умолчанию.
Декомпилируйте исполняемый файл.
monodis --output=decompiled-hello.txt hello.exe