ctf re自用
base64
Base64编码是使用64个可打印ASCII字符(A-Z、a-z、0-9、+、/)将任意字节序列数据编码成ASCII字符串,另有“=”符号用作后缀用途。
Base64将输入字符串按字节切分,取得每个字节对应的二进制值(若不足8比特则高位补0),然后将这些二进制数值串联起来,再按照6比特一组进行切分(因为2^6=64),最后一组若不足6比特则末尾补0。将每组二进制值转换成十进制,然后在上述表格中找到对应的符号并串联起来就是Base64编码结果。
由于二进制数据是按照8比特一组进行传输,因此Base64按照6比特一组切分的二进制数据必须是24比特的倍数(6和8的最小公倍数)。24比特就是3个字节,若原字节序列数据长度不是3的倍数时且剩下1个输入数据,则在编码结果后加2个=;若剩下2个输入数据,则在编码结果后加1个=。
完整的Base64定义可见RFC1421和RFC2045。因为Base64算法是将3个字节原数据编码为4个字节新数据,所以Base64编码后的数据比原始数据略长,为原来的4/3。在电子邮件中,根据RFC822规定,每76个字符,还需要加上一个回车换行。可以估算编码后数据长度大约为原长的135.1%。
Base64可用于任意数据的底层二进制数据编码,以应用于只能传输ASCII字符的场合。不过最常用于文本数据的处理传输,例如在MIME格式的电子邮件中,Base64可以用来编码邮件内容,方便在不同语言计算机间传输而不乱码,注意是传输而不是显示,例如在西欧地区计算机上使用utf-8编码即可正常显示中文(安装有对应字库),但是它未必能正常传输中文,这时转换为Base64便无此顾虑。
Base64编码若无特别说明,通常约定非ASCII字符按照UTF-8字符集进行编码处理。
TEA加密
https://blog.csdn.net/weixin_43632667/article/details/106559030
AES加密
https://blog.csdn.net/qq_28205153/article/details/55798628
RSA加密
https://www.jianshu.com/p/ff2b538a77e2
RSA密码的学习以及几种常见CTF题型的总结(收集RSA解题脚本)
https://err0rzz.github.io/2017/11/14/CTF中RSA套路/
RC4
ctfwiki
MD5
https://blog.csdn.net/u011202188/article/details/45269655
sha1
https://www.cnblogs.com/scu-cjx/p/6878853.html
16进制转字符串
未解决
https://adworld.xctf.org.cn/task/answer?type=reverse&number=4&grade=1&id=4662&page=1
https://adworld.xctf.org.cn/task/answer?type=reverse&number=4&grade=1&id=4706&page=1 多线程
https://adworld.xctf.org.cn/task/answer?type=reverse&number=4&grade=1&id=4973&page=1
https://adworld.xctf.org.cn/task/answer?type=reverse&number=4&grade=1&id=5511&page=2 sha1
https://adworld.xctf.org.cn/task/answer?type=reverse&number=4&grade=1&id=4664&page=1 hook
https://www.jianshu.com/p/d718c1ea5f22
INTEL SSE指令集
https://adworld.xctf.org.cn/task/answer?type=reverse&number=4&grade=1&id=4751&page=2 dump文件
https://adworld.xctf.org.cn/task/answer?type=reverse&number=4&grade=1&id=4772&page=2 找规律,杨辉三角