一套黑客用的编解码器

hackercodecs的Python项目详细描述


这个包提供了对黑客和黑客相关的CTF有用的编解码器。

导入此模块后,可以使用多个编解码器。要获取
完整列表,您可以使用用于
填充编解码器项的编解码器"in廑file dictionary:


>;>;pprint(sorted(codec廑in廑file.keys())
['ascii85',
'bin',
'entity',
'entityhex',
'morse',
'rot1',
'rot10',
'rot11',
'rot10',
'rot11','rot11',
'rot11',
‘rot12’,
‘rot13’,
‘rot14’,
‘rot15’,
‘rot16’,
‘rot17’,
‘rot118’,
‘rot19’,
‘rot2’,
‘rot20’,
‘rot21’,
‘rot22’,
‘rot22’,
‘rot22’,
‘rot24’,
‘rot25’,
‘rot3’,
‘rot1‘rot13’,
‘rot13’,
‘rot13 4’,
‘旋转5’,
‘旋转6’,
‘旋转7’,
‘旋转8’,
'rot9',
'url',
'yenc']




您应该首先注意所有的"rot"条目。默认情况下,"rot-13"编解码器是
提供的。其余部分提供类似的功能
用于快速检查移位密码:

>;>pprint(['ymj vznhp gwtbs ktc ozruji tajw ymj qfed itl'.decode('rot%d'%i)for i in xrange(1,26)]
[u'xli uymgo fvsar jsb nyqtih sziv xli pedc hsk',
u'wkh txlfn eurzq ira mxpshg ryhu wkh odcb grj',
u'vjg swkem dtqyp hqz lworgf qxgt vjg ncba fqi',
u'uif rvjdl cspxo gpy kvnqfe pwfs uif mbaz eph',
u'sgd pthbj aqnvm enw itlodc nudq sgd kzyx cnf',
u'rfc osgai zpmul dmv hskncb mtcp rfc jyxw bme',
u'qeb nrfzh yoltk clu grjmba lsbo qeb ixwv ald',
u'pda mqueg xnksj bkt fqilaz kran pda hwu zkc',
u'ocz lpdxf wmjri ajs ephkzy jqzm ocz gvut yjb',
u'nby kocwe vlikh zir dogjyx ipyl nby futs xia',
u'max jnbvd ukhpg yhq cnfixw hoxk max etsr whz',
u'lzw imauc tjgof xgp bmehwv gnwj lzw dsrq vgy',
u'kyv hlztb sifone wfo aldgvu fmvi kyv crqp ufx',
u'jxu gkysa rhemd ven zkcfut eluh jxu bqpo tew',
u'iwt fjxrz qgdlc udm yjbets dktg iwt apon sdv',
u'hvs eiwqy pfckb tcl xiadsr cjsf hvs zonm rcu',
u'gur dhvpx oebja sbk whzcrq bire gur ynml qbt',
u'ftq cguow ndaiz raj vgybqp ahqd ftq xmlk pas',
u'esp bftnv mczhy qzi ufxapo zgpc esp wlkj ozr',
u'dro aesmu lbygx pyh tewzon dro vkji nyq',
u'cqn zdrlt kaxfw oxg sdvynm xena cqn ujih mxp',
u'bpm ycqks jzwev nwf rcuxml wdmz bpm tihg lwo',
u'aol xbpjr iyvdu mve qbtwlk vcly aol shgf kvn',
u'znk waoiq hxuct lud pasvkj ubkx znk rgfe jum']

"快棕色狐狸跳过懒狗"<;-bingo

我最喜欢的编解码器,也是我开始这个项目的原因,当然是摩尔斯编码:


>;'sos'。编码('morse')
'…---"…"

>;"……---…'.decode('morse')
'sos'


>;'asdf'。encode('morse').decode('morse')
'asdf'

>;"这是morse代码!".encode('morse')
回溯(最近一次调用):
file"<;stdin>;",第1行,in<;module>;
file"/home/hex/progz/python/hackercodecs/hackercodecs/.py",第247行,在morse encode中
在morse地图中断言c,找到不可编码字符'%s'。失败的"%c
断言错误:不可编码字符"!"找到了。失败

我的另一个最爱是"bin"。只有几行,但是没有理由在每个ctf中一遍又一遍地写相同的行。让黑客代码为您处理这个问题:

>;'asdf'。encode('bin')
'01100011100110110010001100110'

>;>;'01100001011100110110010001100110'。decode('bin')
'asdf'


它还计算位以确保您没有做蠢事:

'0110001110011011001000110011'。decode('bin')
回溯(最近一次调用):
file"<;stdin>;",第1行,in<;module>;
文件"/home/hex/progz/python/hackercodecs/hackercodecs/\uu init\uuu.py",第275行,位于bin-decode
assert(len(input)==0,assertionerror:错误的位数,31不能被8整除

如果你曾经在web上进行黑客攻击,你知道拥有
urllib处理url编码有多好。因为我们已经有了这个
黑客编解码器的库,所以我认为只添加
这个库是值得的。一个地方的一切有时都很好:

>;""或"="。编码('url')
'%27%20或%20%27%27%3d%27'
>;'%27%20或%20%27%27%3d%27'。解码('url')
"'或"="

>>gt;"]]>;amp;XXE;".encode('entity')
]]&;gt;amp;amp;amp;amp;amp;XXE;'

>>>>>;gt;]]&;gt;amp;amp;amp;amp;amp;amp;amp;XXE;".decode('entity')
]]]>;amp;XXE;'


>
>>;gt;"]]]>;>;gt;]]]>;>;gt;"]]]]>;amp;amp;gt;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;XXE;''
十六进制"
"&;x3c;script&x3e;警报("1")&x3c;&script&x3e;'



如果您来自互联网,您可能知道usenet使用的是yenc:

>;>;print repr('asdf'。encode('yenc'))
'\x8b\x9d\x8e\x90'

>;'\x8b\x9d\x8e\x90'.decode('yenc')
'asdf'

如果您使用的是pdf,您可能已经看到了ascii85。这有点像Base64,但根本不是:

>>;'asdf'。编码('ascii85')
'@<;5sk'

>;'@<;5sk'。解码('ascii85')
'asdf'

在未来我可能会添加更多的内容
(http://en.wikipedia.org/wiki/binary-to-text-encoding)….在将所有内容移植到python 3之后。如果对
编码有任何特殊要求,您希望我添加,请自行编写并提交修补程序。根据下面的代码添加编解码器应该非常容易。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java中的else if语句返回语法错误   http如何解析从表单到REST Java/Webservice的post请求   java如何在SpringBoot中为RestTemplate编写JUnit测试   java动态检查实例是否实现接口   java在Android中使用ArrayAdaptor时,数据不会显示   根据前序遍历返回二进制树的java方法   Arquillian测试类中的java注入始终为空   用户界面Java Swing自定义控件   java使用CompletableFutures递归地从同一函数的多个调用构建列表   在Java中将“.00”添加到整数BigDecimal   卡夫卡java未知\u主题\u或\u部分错误间歇性   java为什么我的getString()方法总是返回null?   java renameTo无法重命名文件   java为什么我可以强制转换对象?可以用其他对象来完成吗?   带有回写条件的java多根记录器   关于stackoverflow错误的java帮助?   java Websphere消息队列多线程   Java图形窗口/画布未垂直显示完整的六边形网格   java Sakai未在Tomcat服务器中启动