Generowanie losowego tekstu w C++ | ALGORYTM na random-string

Dzisiaj kolejna porcja kodu i programowania w C++. Pokażemy jak wygenerować losowy ciąg ze zdefiniowanych znaków i go przetasować (tak jak tablice elementów). Wielu osobom może to się przydać do losowania pseudolosowego stringa, który możemy użyć jako klucz do szyfrowania o w miarę unikalnym rozkładzie znaków. Funkcja genText() może dodatkowo posłużyć komuś do losowania sobie silnych haseł :-). Motywacją do napisania tej funkcji i publikacji źródła była chęć kontynuowania poprzedniego wpisu o szyfrowaniu xor i pisaniu cryptera. Z połączeniu obu funkcji mamy już generowanie automatyczne dosyć fajnego klucza szyfrującego o zdefiniowanej przez nas długości no i samo szyfrowanie XOR. W jednym z kolejnych wpisów połączymy to w całość.

Dodatkowo dodamy funkcje dopisywania tego zaszyfrowanego pliku naszym losowym kluczem do innego pliku. W ten sposób powstanie pewnego rodzaju binder/crypter/packer zmniejszający za każdym razem wykrywalność pliku (FUD) i łączący plik wykonywalny z np. zdjęciem w formacie jpeg.

Generowanie pseudoloswego stringa && tasowanie

Dzisiaj przedstawiamy kompletny kod źródłowy kompilowany i sprawdzany w Code::Blocksie i Netbeansie. Zezwalamy na użytkowanie go za darmo w dowolnych waszych projektach. Kod jest naszym autorskim algorytmem i dosyć bogato skomentowany, więc nawet początkującym adeptom programowania w C++ nie sprawi problemu zrozumienie go.



wygenerowane 64 bitowe stringi
Przykładowe wygenerowane pseudolosowe 64 ciągi (klucze).

Schemat blokowy losowania tekstu

Poniżaj dodatkowo dla chętnych umieszczam uproszczony schemat blokowy działania tego algorytmu. Sklecony w krótkiej przerwie na kolanie w samochodzie ;-). Implementacja została w pełni odzwierciedlona w C++. W poniższym schemacie blokowym brakuje tylko przetasowania tablicy (shuffles array), którą zdecydowałem się dodać później jako opcjonalna dodatkowa funkcja zwiększająca losowość ciągu.

schemat blokowy - losowanie stringa
Schemat blokowy – generowanie pseudolosowego ciągu znakowego o zrównoważonym rozkładzie typów znaków.

Inne wpisy które mogą Ciebie zainteresować:

Zapraszamy również na naszego fejsbuka HakerEduPL, aby być na bieżąco :-).




2 myśli na temat “Generowanie losowego tekstu w C++ | ALGORYTM na random-string

  1. Sporo artykułów już :), a żeby było więcej polecam coś napisać o metasploice, jak napisać exploita i shellcode. Tyle wiedzy ile przeciętny czytacz przyswoił może przejść na hight-level

    1. Było już troszkę, poszukaj „szkoła hakerów” na naszym blożku. Ale na pewno jeszcze coś się pojawi, bo to temat rzeka.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *