这里写目录标题
- 1.base64\base32\base16编码
- 2.uuencode编码
- 3.xxencode编码
- 4.URL编码
- 5.HTML编码
- 6.Unicode编码
- 7.JSFuck
- 8.Quoted-Printable编码
- 9.BrainFuck编码/Ook编码
- 10.jjencode编码/aaencode编码
1.base64\base32\base16编码
base64:含az,AZ,0~9,+,/以及补位的 ’=‘。
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
将文件内容转换成二进制数据,每6bit一组,转换成十进制数(下标),转换成编码表对应下标的字符。 不足6bit的,剩下的位数补0。最后得到的字符长度如果不是4的整数倍,补 '='至长度为4的倍数 。
base32:含AZ,27以及补位的 ’=‘。
ABCDEFGHIJKLMNOPQRSTUVWXYZ234567
base16:含09,AF以及补位的 ‘=’。
0123456789ABCDEF
2.uuencode编码
与base64编码方式一样,但最后每6bit为一组得到的十进制数还要+32,产生的结果刚好落在ASCII可打印字符的范围内。其特征为:特殊符号很多。
3.xxencode编码
与base64类似,只不过使用的转换表不同:
+-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
只是多了’ - ‘字符,少了’ / ‘字符,而且xxencode末尾使用的补全符号为’ + ‘。
4.URL编码
URL编码又称百分号编码。如果一个保留字符在特定的上下文中具有特殊含义,且URI中必须使用该字符用于其它目的,那么该字符必须进行编码。URL编码一个保留字符,需要先把该字符的ASCII编码表示为两个十六进制数,然后在其前面放置转义字符’ % '(非ASCII字符需要转换为UTF-8字节序,然后每个字节按照上述方式表示)。
5.HTML编码
字符的码点表示法是**&#N;(十进制,N代表码点)或者&#xN;(十六进制,N代表码点),比如,字符 ‘a’ 可以写成a**(十进制)或者**a**(十六进制)。(字符可以直接表示)
6.Unicode编码
以 ’\u‘ 开头的编码。(u+四位数字)
7.JSFuck
由 [ , ] , ( , ) , ! , + 构成的编码。
8.Quoted-Printable编码
Quoted-Printable编码的原理是任何一个8位的字节值都可以编码为3个字符,一个等号后跟随两个十六进制数。例如 ‘=’ 表示为 ‘=3D’。除了可打印字符与换行符以外,所有字符都必须表示为这种格式。
9.BrainFuck编码/Ook编码
BrainFuck:
由 > < + - . , [ ]所构成。
Ook:
由Ook. Ook? Ook!(或 . ? !)所构成。
10.jjencode编码/aaencode编码
jjencode:
例:flag编码后为
$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"\""+$.$$$$+(![]+"")[$._$_]+$.$_$_+"\\"+$.__$+$.$__+$.$$$+"\\"+$.__$+$._$_+"\\"+$.__$+$.__$+"\\"+$.__$+$.__$+"\\"+$.__$+$.__$+"\"")())();
aaencode:
由一堆表情表示。
例:flag编码后为
゚ω゚ノ= /`m´)ノ ~┻━┻ //*´∇`*/ ['_']; o=(゚ー゚) =_=3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); (゚Д゚) =(゚Θ゚)= (o^_^o)/ (o^_^o);(゚Д゚)={゚Θ゚: '_' ,゚ω゚ノ : ((゚ω゚ノ==3) +'_') [゚Θ゚] ,゚ー゚ノ :(゚ω゚ノ+ '_')[o^_^o -(゚Θ゚)] ,゚Д゚ノ:((゚ー゚==3) +'_')[゚ー゚] }; (゚Д゚) [゚Θ゚] =((゚ω゚ノ==3) +'_') [c^_^o];(゚Д゚) ['c'] = ((゚Д゚)+'_') [ (゚ー゚)+(゚ー゚)-(゚Θ゚) ];(゚Д゚) ['o'] = ((゚Д゚)+'_') [゚Θ゚];(゚o゚)=(゚Д゚) ['c']+(゚Д゚) ['o']+(゚ω゚ノ +'_')[゚Θ゚]+ ((゚ω゚ノ==3) +'_') [゚ー゚] + ((゚Д゚) +'_') [(゚ー゚)+(゚ー゚)]+ ((゚ー゚==3) +'_') [゚Θ゚]+((゚ー゚==3) +'_') [(゚ー゚) - (゚Θ゚)]+(゚Д゚) ['c']+((゚Д゚)+'_') [(゚ー゚)+(゚ー゚)]+ (゚Д゚) ['o']+((゚ー゚==3) +'_') [゚Θ゚];(゚Д゚) ['_'] =(o^_^o) [゚o゚] [゚o゚];(゚ε゚)=((゚ー゚==3) +'_') [゚Θ゚]+ (゚Д゚) .゚Д゚ノ+((゚Д゚)+'_') [(゚ー゚) + (゚ー゚)]+((゚ー゚==3) +'_') [o^_^o -゚Θ゚]+((゚ー゚==3) +'_') [゚Θ゚]+ (゚ω゚ノ +'_') [゚Θ゚]; (゚ー゚)+=(゚Θ゚); (゚Д゚)[゚ε゚]='\\'; (゚Д゚).゚Θ゚ノ=(゚Д゚+ ゚ー゚)[o^_^o -(゚Θ゚)];(o゚ー゚o)=(゚ω゚ノ +'_')[c^_^o];(゚Д゚) [゚o゚]='\"';(゚Д゚) ['_'] ( (゚Д゚) ['_'] (゚ε゚+(゚Д゚)[゚o゚]+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚o゚]) (゚Θ゚)) ('_');
以上只是部分编码,大多只需认识即可。