Online: 0x02F (47)
haker.iиfø  — Etyczny hacking_
Spreading knowledge like a virus.

Mowa szesnastkowa (ang. hex speech)

   Dawid Farbaniec    450 słów

0x01. Słowem wstępu

zesnastkowy system liczbowy (nazywany też heksadecymalnym) do zapisu liczb korzysta z cyfr od 0 do 9 oraz liter od A do F. Razem jest to szesnaście znaków. Nie wiem kto, ale ktoś był tak genialny, że wymyślił by z tego zbioru znaków tworzyć słowa. Niektórzy czytelnicy może spotkali w kodzie albo gdzieś indziej zapis np. 0xDEADBEEF, 0xDEADC0DE, 0x00000BAD czy inne. Przedstawione frazy to wartości liczbowe zapisane w systemie szesnastkowym (nazywanym też w skrócie hex). Mimo, że są to liczby to na pierwszy rzut oka da się tam dopatrzeć słów z języka angielskiego. Np. DEADC0DE » dead code » martwy kod. Czy też: DEADBEEF » dead beef » martwa wołowina. Jeśli chodzi o użycie tych wartości to oprócz tego, że fajnie wyglądają, są używane do oznaczania różnych miejsc w kodzie. Taka wartość na pewno bardzo szybko się rzuci w oczy np. analizując program w debuggerze i obserwując wartości rejestrów procesora. Daje to wyraźny sygnał programiście/badaczowi.

hex speech

0x02. Generator w C#.NET

Zastanawiając się jakie ciekawe słowa można wymyślić w mowie heksadecymalnej (ang. hex speech) wpadł mi do głowy pomysł, aby napisać generator możliwych słów.

using System; using System.Collections.Generic; using System.IO; using System.Linq; /// <summary> /// Hex speech generator by haker.info /// </summary> namespace hexspeech { class Program { static void Main(string[] args) { //ustaw te ścieżki odpowiednio przed uruchomieniem //słownik angielski (słowa linia po linii) string inputPath = @"C:\Users\hacker\Desktop\hex-speech\wordlist.txt"; //ścieżka do pliku wynikowego string outputPath = @"C:\Users\hacker\Desktop\hex-speech\zz.txt"; var lines = File.ReadAllLines(inputPath).ToList(); var filtered = new List<string>(); char[] validChars = new char[] { 'a', 'b', 'c', 'd', 'e', 'f', 'o', 'i', 't' }; Dictionary<char, char> replaceChars = new Dictionary<char, char>() { { 'o' , '0'}, { 'i' , '1'}, { 't' , '7'}, { 's', '5' } }; foreach (var line in lines) { foreach (var ch in line.ToLower()) { if (validChars.Contains(ch) == false) goto _skipline; } string formattedline = line; foreach(var rch in replaceChars.Keys) { formattedline = formattedline.Replace(rch, replaceChars[rch]); } filtered.Add("0x" + formattedline.ToUpper()); _skipline: continue; } File.WriteAllLines(outputPath, filtered); Console.WriteLine("Done."); Console.ReadKey(); } } }

0x03. Trochę wybranych słów

Powyższy program wygenerował ok. 300 słów. Oczywiście zależy to od użytego słownika i konfiguracji programu.

Najbardziej podobają mi się poniższe słowa i pewnie będę je stosował. 😁

Hex speech Oryginalne słowo Tłumaczenie polskie
0xAC1D Acid Kwas
0xADD Add Dodawanie
0xADD1C7ED Addicted Uzależniony
0xAFFEC7ED Affected Dotknięty, zajęty (np. affected terrain)
0xBAD Bad Zły
0xBA0BAB Baobab To chyba takie drzewo?
0xBEEF Beef Wołowina
0xB0B Bob (takie imię)
0xCAFE Cafe Kawiarnia
0xC0C0A Cocoa Kokos
0xC0DE Code Kod
0xC0FFEE Coffee Kawa
0xDEAD Dead Martwy
0xDEAF Deaf Głuchy
0xDEC0DE Decode Rozkodować
0xDEFACED Defaced Oszpecony
0xD1ABE71C Diabetic Cukrzycowy, diabetyk
0xF00D Food Jedzenie
0x1DEA Idea Pomysł
0x70BACC0 Tobacco Tytoń
0x70FFEE Toffee Tofi

0x04. Koniec

Dziękuję za czas poświęcony na przeczytanie tego wpisu.

Dawid Farbaniec


Tagi:  c-sharp  inne 

Komentarze czytających

jas napisał:
Fajny 0x1DEA
 ponad miesiąc temu (03 września 2020 godz. 18:34)



Wszystkie treści umieszczone na tej witrynie są chronione prawem autorskim. Surowo zabronione jest kopiowanie i rozpowszechnianie zawartości tej witryny bez zgody autora. Wszelkie opublikowane tutaj treści (w tym kody źródłowe i inne) służą wyłącznie celom informacyjnym oraz edukacyjnym. Właściciele tej witryny nie ponoszą odpowiedzialności za ewentualne niezgodne z prawem wykorzystanie zasobów dostępnych w witrynie. Użytkownik tej witryny oświadcza, że z zamieszczonych tutaj danych korzysta na własną odpowiedzialność. Wszelkie znaki towarowe i nazwy zastrzeżone zostały użyte jedynie w celach informacyjnych i należą wyłącznie do ich prawnych właścicieli. Korzystając z zasobów witryny haker.info oświadczasz, że akceptujesz powyższe warunki oraz politykę prywatności.