Difference between revisions of "Programmering III Juni 2017"

From Teknologisk videncenter
Jump to: navigation, search
(Application domain:)
(Application domain:)
Line 89: Line 89:
 
Koden indeholder 6 ialt bogstaver (samme regler som sidst).
 
Koden indeholder 6 ialt bogstaver (samme regler som sidst).
 
Benyt hinandens computere til at finde koden.
 
Benyt hinandens computere til at finde koden.
 +
 +
 +
==Netværksprotokoller:==
 +
 +
 +
'''Listener:'''
 +
<source lang="Csharp">
 +
 +
static void Main(string[] args)
 +
        {
 +
            UdpClient client = new UdpClient(11001);
 +
            IPEndPoint endpoint = new IPEndPoint(IPAddress.Any, 11001);
 +
 +
            byte[] recievedBytes = client.Receive(ref endpoint);
 +
            string recievedMessage = Encoding.ASCII.GetString(recievedBytes);
 +
            Console.WriteLine("Beskeden var: " + recievedMessage);
 +
            Console.ReadKey();
 +
        }
 +
 +
</source>
 +
 +
 +
'''Sender:'''
 +
<source lang="Csharp">
 +
 +
        static void Main(string[] args)
 +
        {
 +
            Console.WriteLine("Type an IP address:");
 +
            string ip = Console.ReadLine();
 +
 +
            UdpClient client = new UdpClient();
 +
            IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse(ip), 11001);
 +
 +
            string message = "Hej!";
 +
 +
            byte[] bytesToSend = Encoding.ASCII.GetBytes(message);
 +
            client.Send(bytesToSend, bytesToSend.Length, endpoint);
 +
            Console.WriteLine("Message sendt!");
 +
            Console.ReadKey();
 +
        }
 +
 +
</source>

Revision as of 12:01, 6 June 2017

Fredag

Application domain:

Opgave 1: Opret 2 applikationer. Applikation-1 skal være en simpel HelloWorld. Applikation-2 skal være et applikationDomain der henter HelloWorld programmet ind, og eksekvere koden.


Benyt følgende kode til ApplikationDomainet:

        static void Main(string[] args)
        {
            AppDomain appDomain = AppDomain.CreateDomain("New Domain");
            appDomain.ExecuteAssembly("HelloWorld.exe");

        }

Opgave 2:

Hent denne fil, og lav et program der bruteforcer kodeordet. kodeordetindeholder kun lowerCase bogstaver, som ikke indeholder æ, ø eller å (hint: kodeordet er "hot"):

Efter at du har hentet filen, højreklik da på den og vælg egnskaber/properties. Nederst i venstre hjørne er der et flueben som skal fjernes i "fjern blokering".

MadsFjernBlokering.jpg


https://drive.google.com/file/d/0B5oDizcmFQ1YT0phWlRzMGU5NFU/view?usp=sharing

Eksempel på kode:

        static void Main(string[] args)
        {
            AppDomain encryptedFile = AppDomain.CreateDomain("New Appdomain");
            string[] key = {"aaa"};

            int success = encryptedFile.ExecuteAssembly("EncryptedFile.exe ", key);

            if(sucess == 1)
            {
                 Console.Writeline("Koden var korrekt");
            }
            else
            {
                 Console.WriteLine("Koden var forkert");
            }


            Console.ReadKey();
        }


Hjælpekode:

        static void Main(string[] args)
        {
            char[] letters = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };

            int numberOfLetters = letters.Length; //26 LETTERS
            Console.WriteLine("Number of letters: {0}", numberOfLetters);

            for (int i = 0; i < numberOfLetters; i++)
            {
                Console.WriteLine(letters[i]);
            }
            Console.ReadKey();
        }


Opgave 3:

Lav en bruteforcing algoritme der prøver alle tænkelige kombinationer af passwords. Prøv da at knække koden på følgende fil: https://drive.google.com/file/d/0B5oDizcmFQ1YUEpaa3V3OVJiVDQ/view?usp=sharing

(kodeordet indeholder stadig kun lowercase bogstaver uden æ,ø og å. Husk også at fjerne blokeringen ved denne fil.)

(hit: du kan benytte Ascii tabellen her: http://www.asciitable.com)


Opgave 4: Udvid din bruteforce algoritme og prøv da at knække koden på følgende fil: https://drive.google.com/file/d/0B5oDizcmFQ1YWlhabGxSWTR3T3c/view?usp=sharing

Koden indeholder 6 ialt bogstaver (samme regler som sidst). Benyt hinandens computere til at finde koden.


Netværksprotokoller:

Listener:

static void Main(string[] args)
        {
            UdpClient client = new UdpClient(11001);
            IPEndPoint endpoint = new IPEndPoint(IPAddress.Any, 11001);

            byte[] recievedBytes = client.Receive(ref endpoint);
            string recievedMessage = Encoding.ASCII.GetString(recievedBytes);
            Console.WriteLine("Beskeden var: " + recievedMessage);
            Console.ReadKey();
        }


Sender:

        static void Main(string[] args)
        {
            Console.WriteLine("Type an IP address:");
            string ip = Console.ReadLine();

            UdpClient client = new UdpClient();
            IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse(ip), 11001);

            string message = "Hej!";

            byte[] bytesToSend = Encoding.ASCII.GetBytes(message);
            client.Send(bytesToSend, bytesToSend.Length, endpoint);
            Console.WriteLine("Message sendt!");
            Console.ReadKey();
        }