2009-05-13 8 views
6

Niedawno brałem udział w debugowaniu i natknąłem się na niektóre zapełnienia pamięci i rejestrów, których wcześniej nie widziałem na niektórych urządzeniach wbudowanych, których używam. Zacząłem więc katalog mentalny. Na przykład:Masz generator heksadecymalny "Nazwa" dla wypełnień?

DEADBEEF, BAADF00D, D15EA5ED, DECEA5ED, BAA5H33P... 

Coś, co wystaje, jeśli spojrzeć na widza pamięci i jest związane z niejasno o co chodzi (skreślony pamięć, ziemi niczyjej, odzieży wierzchniej ...).

Dało mi to do myślenia - czy istnieje generator dla nich? Coś jak generator nazw l33t, z wyjątkiem ograniczonych do liczb szesnastkowych (hexits?).

Odpowiedz

7
$ grep -i '^[abcdefols]*$' /usr/share/dict/words | tr ols 015 
abaca 
abed 
abe1e 
ab1 
ab1e 
ab0de 
ab0ded 
acc 
accede 
acceded 
. 
. 
. 

0ff 
0ffa1 
0ffed 
0ff10ad 
0ff10aded 
01de 
01e0 
+1

bardzo zwięzła odpowiedź –

+0

grep -i '^ [abcdefolst] * $'/usr/share/dict/words | tr olst 0157 – jreid9001

2

BAA5H33P ??

Zawiera zarówno H i P? To nie są prawidłowe cyfry heksadecymalne.

Przegapiłeś Java słynnych CAFEBABE

można przeczytać więcej na nim na Wikipedia, w tym:
CAB1E (kablówka)
FACE
koralik
C0ED
etc, etc ....

+0

Ok BAA5H33P był żart – scobi

+1

Chociaż jesteśmy na temat Java, lubię 0xDECAFBAD :) –

1

Ah ha! "Hexspeak" było słowem kluczowym, którego potrzebowałem w Google.

Oto Python program, aby znaleźć wszystkie słowa Hexspeak. I list tego, co znalazł ten program.

0

Mój mózg jest dzisiaj niewyraźny, ale to działa. Alter do smaku ...

#!/usr/local/bin/python 
letters = {'A':'A', 'B':'B', 'C':'C', 'D':'D', 'E':'E', 'F':'F', 'I':'1', 'O':'0', 'S':'5'} 
f = open('/usr/share/dict/words', 'r') 
for line in f: 
    line = line[:-1] 
    if len(line) < 4: 
     continue 
    word = "" 
    goodword = True 
    for c in list(line): 
     if c.upper() not in letters.keys(): 
      goodword = False 
     else: 
      word += letters[c.upper()] 
    if goodword: 
     print "%20s\t%s" % (line,word) 
f.close()