
编码
编码方式
前方是否可导?
随风而行,随心而行。
展开
-
曼切斯特编码和差分曼切斯特编码
曼切斯特编码每一位由两个高低位来表示,标准曼切斯特编码中由高到低表示1,低到高表示0 即标准曼切斯特编码中的10表示1,01表示0例如1011001的图可以这么画编码的程序可以这么写:def Manchester0(str): flag='' for i in range(0,len(str),2): flag+=str[i] return flag#输入的字符串是二进制数据串。还有一种类似的曼切斯特编码叫802.3曼切斯特编码,其实就是相反的01为1原创 2020-08-01 19:12:26 · 5938 阅读 · 1 评论 -
第三届上海市大学生网络安全大赛------classical
decrypt1,词频分析接着解密:LyjtL3fvnSRlo2xvKIjrK2ximSHkJ3ZhJ2Hto3x9import base64s='LyjtL3fvnSRlo2xvKIjrK2ximSHkJ3ZhJ2Hto3x9'import pycipherimport copyfor i in range(26): c='' for j in range(len(s)): if s[j].isalpha(): if s[j].i原创 2020-08-01 16:18:53 · 377 阅读 · 0 评论 -
BJDCTF 2nd]最简单的misc-y1ng
1拿到一个压缩包发现似乎加密了,但是题目并没有给我们其它信息,所以猜测是伪加密。想在kali里直接打开,但是奇怪的是提示打开失败。可是查看文件信息发现并没有加密于是用winhex修改数据。得到文件记事本打开后发现乱码于是继续winhex打开发现少了png的文件头。于是添加上去(复制粘贴)然后保存得到png图片旋转后hex解码...原创 2020-07-26 21:47:54 · 1051 阅读 · 0 评论 -
[QCTF2018]Xman-RSA
题目decrypt打开加密脚本gqhb jbkl2 pbkhqw pt_kqpbdgqhb ht pbkhqw zqreahbpbkhqw urtd64adg ulwdt_wh_ezb(u): qdwzqe pew(u.dexhad('mdi'), 16) adg ezb_wh_ulwdt(e): u = mdi(e)[2:-1] u = '0' + u pg yde(u)%2 == 1 dytd u qdwzqe u.adxhad('mdi')adg jdw_r_kqpbd原创 2020-07-25 17:53:21 · 1058 阅读 · 0 评论 -
[AFCTF2018]MagicNum
题目分析double类型数据,转化成内部存储形式,然后再解码成字节码#include <stdio.h>#include <stdlib.h>int main(){ double x; while(scanf("%llf",&x)){ unsigned char *p; char buff[9]; int i; p=(unsigned char *)&x; for (i=0; i<8; i++){原创 2020-07-25 12:41:11 · 828 阅读 · 0 评论 -
[GUET-CTF2019]NO SOS
questiondecrypt题目给了提示NO SOS 说明不是摩尔斯电码(sos是国际摩尔斯电码救难信号.)于是将.-看成二进制可是发现是65位并不能转化成字符串但是是五的倍数,于是尝试用培根密码flag{guetkkp}原创 2020-07-24 21:04:38 · 1029 阅读 · 0 评论 -
[BJDCTF2020]伏羲六十四卦
questionencrypt# -- coding:UTF-8 --from secret import flagdef encrpyt5(): enc='' for i in flag: enc+=chr((a*(ord(i)-97)+b)%26+97) return(enc)def encrypt4(): temp='' offset=5 for i in range(len(enc)): temp+=ch原创 2020-07-21 18:15:10 · 4632 阅读 · 1 评论 -
[UTCTF2020]basic-crypto
题目analyze转码接着base64转码凯撒密码词频分析flagdecryptstr='01010101 01101000 00101101 01101111 01101000 00101100 00100000 01101100 01101111 01101111 01101011 01110011 00100000 01101100 01101001 01101011 01100101 00100000 01110111 01100101 00100000 01101000原创 2020-07-19 12:54:37 · 1648 阅读 · 0 评论 -
buu RSA & what(base64隐写术)
文件加密脚本from Crypto.Util.number import bytes_to_long, getPrimefrom random import randintfrom gmpy2 import powmodp = getPrime(2048)q = getPrime(2048)N = p*qPhi = (p-1)*(q-1)def get_enc_key(N,Phi): e = getPrime(N) if Phi % e == 0: re原创 2020-07-16 16:16:42 · 1017 阅读 · 0 评论 -
[BJDCTF2020]编码与调制
问题这道题目并不是很难,但是却反应出了一些问题.再通过曼切斯特解码后,想通过python进行16进制解码却发现但是仔细数c的长度发现它并不是奇数个.分析这说明在转换的过程中hex©把原数据中的前面的0给删掉了,所以需要将前面的0给补上去...原创 2020-07-15 13:33:06 · 909 阅读 · 1 评论 -
python中base64编码与解码
import base64plaintext="aaa"#明文为aaas=base64.b64encode(plaintext.encode())#这里的s是字节码,编码的过程中,参数只能是字节码print(s)t=base64.b64decode(s)#这里t的类型是字节码,这也是python的缺点,许多数据类型不明确.解码的过程中参数可以是字符串也可以是字节码print(t)#t是s解码后的字节码print(t.decode())#输出的是plaintext...原创 2020-07-15 00:49:31 · 418 阅读 · 0 评论 -
[WUSTCTF2020]B@se
题目题目告诉我们这是base,但是拿去解码时发现解不出来,猜测可能是base64的扩展,想到可能是换位,于是找换位的顺序,发现下面这一行就是,但是中间少了4个字符,通过查找后发现是ju34(可以通过代码查找)于是一共有432*1种可能.然后暴力破解就行了.脚本str="JASGBWcQPRXEFLbCDIlmnHUVKTYZdMovwipatNOefghq56rs****kxyz012789+/"ciper="MyLkTaP3FaA7KOWjTmKkVjWjVzKjdeNvTnAjoH9iZOI原创 2020-07-14 00:30:43 · 2847 阅读 · 1 评论 -
电报码
电报通常使用国际摩尔斯电码进行收发报。摩尔斯电码使用点(·)和划(-)两种符号的特定组合表示不同的字符,在用声音表示时,其中点(·)为短信号,一个时间单位,读作滴,划(-)为长信号,三个时间单位,读作嗒;两个信号间隔一个时间单位,字符间隔三个时间单位,单词间隔七个时间单位。但是这种编码无法适应数目众多的中文汉字,因此需要先将中文汉字转换为数字编码,然后再将数字编码转化为对应莫尔斯电码发出去中文电码表采用四位阿拉伯数字表示一个中文字符(汉字、字母和符号),从0001到9999顺序排列。汉字先按部首,后按笔原创 2020-06-29 00:13:41 · 4130 阅读 · 0 评论