有填充的十六进制“名称”生成器?

时间:2009-05-13 22:13:28

标签: memory hex

前几天我正在调试,并且在我使用的某些嵌入式硬件上遇到了一些我以前从未见过的内存和注册填充。所以我开始了心理目录。例如:

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

当你看内存查看器并且模糊地与它的内容(删除的记忆,无人的土地,外衣......)相关时,它会突出。

它让我思考 - 这些是否有发电机?类似于l33t名称生成器,除了限于十六进制数字(hexits?)。

4 个答案:

答案 0 :(得分: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 :(得分:2)

<强> BAA5H33P ...

它包含 H P ? 这些不是有效的十六进制数字。

你错过了Java着名的 CAFEBABE

您可以在Wikipedia上阅读更多内容,包括:
CAB1E (电缆)
FACE
BEAD
C0ED 等等....

答案 2 :(得分:1)

啊哈哈! “Hexspeak”是我为谷歌所需要的关键词。

这是查找所有Hexspeak字词的Python program。并且是该程序找到的list

答案 3 :(得分:0)

我的大脑今天很模糊,但这很有效。改变品味...

#!/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()