多个进制组合编码
用脚本进行转换(python2)
import binascii
text = 'd87 x65 x6c x63 o157 d109 o145 b100000 d116 b1101111 o40 x6b b1100101 b1101100 o141 d105 x62 d101 b1101001 d46 o40 d71 x69 d118 x65 x20 b1111001 o157 b1110101 d32 o141 d32 d102 o154 x61 x67 b100000 o141 d115 b100000 b1100001 d32 x67 o151 x66 d116 b101110 b100000 d32 d102 d108 d97 o147 d123 x31 b1100101 b110100 d98 d102 b111000 d49 b1100001 d54 b110011 x39 o64 o144 o145 d53 x61 b1100010 b1100011 o60 d48 o65 b1100001 x63 b110110 d101 o63 b111001 d97 d51 o70 d55 b1100010 d125 x20 b101110 x20 b1001000 d97 d118 o145 x20 d97 o40 d103 d111 d111 x64 d32 o164 b1101001 x6d o145 x7e'
solution = ' '
text2 = text.split(' ')
for x in text2:
print x
if x[0] == 'b':#binary
solution += chr(int(x[1:],2))
elif x[0] == 'x':#hexadecimal
solution += x[1:].decode("hex")
elif x[0] == 'd':#decimal
solution += chr(int(x[1:]))
elif x[0] == 'o':#octal
solution += chr(int(x[1:],8))
print solution
二进制
压缩包
当二进制转换成文本时,有rar字段,可能为压缩包文件
用脚本进行转换
import binascii
file1 = open('1.txt')
s = file1.read()
file2 = open('1.rar','wb')
s1 = ''
for i in range(0,len(s),8):
#print (type(int(s[i:i+8],2)))
if ((int(s[i:i+8],2))<=15):
print(hex(int(s[i:i+8],2)))
s1 = s1+'0'+hex(int(s[i:i+8],2)).replace('0x','')
print (s1)
else
s1 += hex(int(s[i:i+8],2)).replace('0x','')
print (s)
file2.write(binascii.a2b_hex(s1))
隐写 IDAT块
当得到一串01的数据时
如果统计长度为625,625开根为25,可以判断为正方形形状
用脚本转换
from PIL import Image
MAX = 25
pic = Image.new('RGB',(MAX,MAX))
str = '1111111000100001101111111100000101110010110100000110111010100000000010111011011101001000000001011101101110101110110100101110110000010101011011010000011111111010101010101111111000000001011101110000000011010011000001010011101101111010101001000011100000000000101000000001001001101000100111001111011100111100001110111110001100101000110011100001010100011010001111010110000010100010110000011011101100100001110011100100001011111110100000000110101001000111101111111011100001101011011100000100001100110001111010111010001101001111100001011101011000111010011100101110100100111011011000110000010110001101000110001111111011010110111011011'
i=0
for y in range (0,MAX):
for x in range (0,MAX):
if (str[i] == '1'):
pic.putpixel([x,y],(0,0,0))
else:
pic.putpixel([x,y],(255,255,255))
i = i + 1
pic.save('flag.png')
二进制转文本
BASE编码
BASE64、BASE58、BASE32、BASE16
BASE64
64个可打印字符,A~Z、a~z、0~9、+、/,64个可打印字符,“=”符号用作后缀填充
BASE58
相比Base64,Base58不使用数字”0″,字母大写”O”,字母大写”I”,和字母小写”l”,以及”+”和”/”符号。
BASE32
32个可打印字符,A~Z、2~7、32个可打印字符,“=”符号用作后缀填充
BASE16
16个可打印字符,A~F、0-9,16个可打印字符
BASE | 内容(flag) |
---|---|
BASE64 | ZmxhZw== |
BASE58 | 3cr9Ae |
BASE32 | MZWGCZY= |
BASE16 | 666C6167 |
BASE64异或
import base64
char = 'AAoHAR1UIFBSJFFQU1AjUVEjVidWUVJVJVZUIyUnI18jVFNXVRs='
char = base64.b64decode(char)
for j in range(128):
flag = ''
for i in char:
flag += chr(ord(i) ^ j)
if 'flag' in flag:
print(flag)
BASE家族
import base64
a = ' '
while 1:
try:
a = base64.b16decode(a)
except:
try:
a = base64.b32decode(a)
except:
try:
a = base64.b64decode(a)
except:
print (a)
break
PDF417
Barcode Reader. Free Online Web Application (inliteresearch.com)
PDF417条码是一种高密度、高信息含量的便携式数据文件,是实现**及卡片等大容量、高可靠性信息自动存储、携带并可用机器自动识读的理想手段。
首先得到一个飞机票图片
二维码修复 就不做操作了 参考上面的介绍。
下面的图片码为PDF417码,我们将下面的图片码进行在线扫描,发现没有数据。
将图片码进行反色处理。
将反色后的图片码进行在线扫描,出现了key的数据。
Quoted-printable
Quoted-printable编码|Quoted-printable解码|Quoted-printable编码原理介绍–查错网 (chacuo.net)
可打印字符引用编码”、“使用可打印字符的编码”,我们收邮件,查看信件原始信息,经常会看到这种类型的编码。
一个等号”=”后跟随两个十六进制数字(0–9或A–F)表示该字节的数值。
=3Cmeta=20name=3D=22description=22=20flag=3D=22tidesec=22=20=2F=3E=0A
UUENCODE
在线UUencode编码|在线UUencode解码|UU编码|UU解码|UUencode编码原理介绍–查错网 (chacuo.net)
uuencode是将二进制文件转换为文本文件的过程,转换后的文件可以通过纯文本e-mail进行传输,在接收方对该文件进行uudecode,即将其转换为初始的二进制文件。
6OMFX]L#]U],*9FQA9WMT:61E<V5C?0“
XXencode
在线XXencode编码|在线XXencode解码|XX编码|XX解码|XXencode编码原理介绍–查错网 (chacuo.net)
XXencode,也是一个二进制字符转换为普通打印字符方法。跟UUencode编码原理方法很相似,唯独不同的是可打印字符不同。
Kjhasxg1xpxA8NalVNrhoOKFZQqJXTE++
php混淆加密
在线PHP代码混淆/加密/解密工具 – TOOLFK在线工具人
有时候可以直接进行代码审计,有时候就要运行调试
css/js混淆加密
VBScript.Encode混淆加密
VBScript.Encode 解密 – 千一网络 (cftea.com)
JSfuck
用6 个字符 ( ) [ ] !+ 来对JavaScript进行编码
jother
密文为8个字符! + ( ) [ ] { }
在浏览器中 console执行即可
Brainfuck
Brainfuck – interpreter online (doleczek.pl)
密文由+.<>[]’ && ‘!.?或者’+-.<>[]’等构成
Ook
(https://www.splitbrain.org/services/ook)
密文由(Ook、Ook?、Ook!)等构成
Npiet
特点文档是像素点的图片