Zadanie nr 3: Użyłem basha: cat ./Regulamin\ organizacyjny\ BT.txt | grep -o -e а -e a | sed 's/a/0/ ; s/а/1/' | tr -d '\n' | sed -r 's/(.{8})/\1\n/g' cat czyta zawartość pliku tekstowego, grep znajduje litery: zwykłe a i zakodowane kodem cyrylicy, sed zamienia zwykłe a na 0 a to z cyrylicy na 1, tr odcina znaki końca linii (bo grep wstawia je po każdym znalezionym znaku), ostatni sed tnie string
@madrox: W zad. 2 znaczenie ma kodowanie znaków. A dokładnie kodowanie malej litery "a". Część liter "a" występujących w tekście zakodowane jest kodem z cyrylicy. (Można to podejrzeć za pomocą odpowiednich narzędzi, takich które wyświetlają kody poszczególnych liter. Zwykły edytor tekstowy, jeśli wkleić do niego ten tekst podkreśli słowa z fałszywym "a" jako błędne.) Dla rozszyfrowania hasła znaczenie mają tylko wystąpienia zwykłego małego "a" i tego z cyrylicy. Mam nadzieję, że
Zadanie nr 4: Można łatwo złamać hasło. Z treści zadania wynika, że hasło składa się wyłącznie z cyfr. A to znacząco ułatwia poszukiwania: fcrackzip -v -l 7 -c 1 -m zip2 -u ./Zadanie\ 5.zip Parametr -c 1 wymusza użycie wyłącznie cyfr w szukanym haśle, -l 7 ogranicza długość hasła do siedmiu znaków.
@NoWayToPay: Algorytm szyfrowania z zadania nr 3 złamał kolega zajmujący się automatyką przemysłową. Trudno powiedzieć dokładnie ile czasu mu to zajęło, myślę że jeśli pominąć czas poświęcony na obsługę przerwań (interesanci, telefony) to około godziny do dwóch. A soft napisał inny kolega, programista. Nie są to autorzy zadań, bo polegliśmy na piątym (Liczby.txt). Co wiemy: Cześć spacji pomiędzy cyframi jest kodowana jako c2a0 hex NO-BREAK SPACE (edytor tekstowy w tym miejscu
@Th3NiKo: Trochę czasu minęło ale może to jeszcze kogoś interesuje: w tym zadaniu znaczenie miało czy dana liczba jest liczbą pierwszą czy też nie. Zamieniamy wszystkie liczby pierwsze na jakiś znak, a pozostałe na inny. Specjalne spacje dzielą ciąg znaków na mniejsze części. W rezultacie dostajemy hasło zakodowane alfabetem Morse'a.
Użyłem basha:
cat ./Regulamin\ organizacyjny\ BT.txt | grep -o -e а -e a | sed 's/a/0/ ; s/а/1/' | tr -d '\n' | sed -r 's/(.{8})/\1\n/g'
cat czyta zawartość pliku tekstowego, grep znajduje litery: zwykłe a i zakodowane kodem cyrylicy, sed zamienia zwykłe a na 0 a to z cyrylicy na 1, tr odcina znaki końca linii (bo grep wstawia je po każdym znalezionym znaku), ostatni sed tnie string
Rozwiązanie nie moje, a moich dwóch zacnych kolegów.
Plik Program.cs po edycji:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string code1 = "84, 101, 124, 131, 58, 149, 157, 162, 140, 176, 165, 120, 185, 173, 181, 170, 221, 162, 257, 258, 228, 286, 240, 288, 281,
Parametr -c 1 wymusza użycie wyłącznie cyfr w szukanym haśle, -l 7 ogranicza długość hasła do siedmiu znaków.
Nie są to autorzy zadań, bo polegliśmy na piątym (Liczby.txt).
Co wiemy: Cześć spacji pomiędzy cyframi jest kodowana jako c2a0 hex NO-BREAK SPACE (edytor tekstowy w tym miejscu