第一部分介绍气泡密码特点,第二部分解一下bugku上的题:EN-气泡。
一 Bubble_Babble_Encoding
原文wiki.yak.net/589/Bubble_Babble_Encoding.txt
The Bubble Babble Encoding encodes arbitrary binary data intopseudowords that are more natural to humans and that can be pronounced relatively easily. The encoding consumes asymptotically the same amount of space as an encoding of the form HH HH HH HH ... where `H' is a hexadecimal digit, i.e. carries 16 bits in sixcharacters. However, the Bubble Babble Encoding includes a checksumming method that can sometimes detect invalid encodings.The method does not increase the length of the encoded data.
气泡编码将任意二进制编码变为更易发音的伪词“HH HH HH HH ...”,其中“H”是十六进制数字,即六个字符中携带 16 位。但是,气泡喋喋不休编码包括一个校验和方法,该方法有时可以检测无效的编码且不会增加编码数据的长度。
2. Encoding Below, _|X|_ denotes the largest integer not greater than X. Let the data to be encoded be D[1] ... D[K] where K is the length of the data in bytes; every D[i] is an integer from 0 to 2^8 - 1. First define the checksum series C[1] ... C[_|K/2|_] where C[1] = 1 C[n] = (C[n - 1] * 5 + (D[n * 2 - 3] * 7 + D[n * 2 - 2])) mod 36 The data ......... Finally, the encoding of the whole input data D is obtained as `x' E(T[1]) E(T[2]) ... E(T[_|K/2|_]) E(P) `x' where `x's are literal characters.
重点:编码开头和结尾分别有个x
二 writeup
xivak-notuk-cupad-tarek-zesuk-zupid-taryk-zesak-cined-tetuk-nasuk-zoryd-tirak-zysek-zaryd-tyrik-nisyk-nenad-tituk-nysil-hepyd-tovak-zutik-cepyd-toral-husol-henud-titak-hesak-nyrud-tarik-netak-zapad-tupek-hysek-zuned-tytyk-zisuk-hyped-tymik-hysel-hepad-tomak-zysil-nunad-tytak-nirik-copud-tevok-zasyk-nypud-tyruk-niryk-henyd-tityk-zyral-nyred-taryk-zesek-corid-tipek-zysek-nunad-tytal-hitul-hepod-tovik-zurek-hupyd-tavil-hesuk-zined-tetuk-zatel-hopod-tevul-haruk-cupod-tavuk-zesol-ninid-tetok-nasyl-hopid-teryl-nusol-heped-tovuk-hasil-nenod-titek-zyryl-hiped-tivyk-cosok-zorud-tirel-hyrel-hinid-tetok-hirek-zyped-tyrel-hitul-nyrad-tarak-hotok-cuvux
www.hiencode.com/bubble.html
莽三次,解出flag
bugku{th1s_1s_A_Bubb13}