1 / 68

顔文字 D

:. コード最速伝説. ‐. [ イニシャル ]. 顔文字 D. NAIST 遠征編 !. HASEGAWA. ×. TAKESAKO. いよいよ あきらか になる. 伝説のぶっちぎり 最速コード が. 提供. 今日のあらすじ. ある日、広島にて …. このあたり、 顔文字っぽいので 顔文字系と呼んでます. http://www.sccs-jp.org/SCCS2010/resume/nishimoto.pdf. Gumblar による攻撃に関する講演. 西本さん ( 株式会社 LAC 取締役 ). もっと顔文字っぽいの できるんじゃね?.

bing
Download Presentation

顔文字 D

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. : コード最速伝説 ‐ [イニシャル] 顔文字 D NAIST遠征編! HASEGAWA × TAKESAKO

  2. いよいよあきらかになる 伝説のぶっちぎり最速コードが 提供

  3. 今日のあらすじ

  4. ある日、広島にて… このあたり、 顔文字っぽいので 顔文字系と呼んでます http://www.sccs-jp.org/SCCS2010/resume/nishimoto.pdf Gumblarによる攻撃に関する講演 西本さん (株式会社LAC 取締役)

  5. もっと顔文字っぽいの できるんじゃね? やりましょう!

  6. …というお話をします

  7. BATTLE 1 : Hill-Climbing 斜め上目指して走ります! proceed obliquely upward!

  8. BATTLE 1 : Hill-Climbing Python VS. JavaScript

  9. BATTLE 1 : Hill-Climbing pypyencode by TAKESAKO

  10. サルでもわかる顔文字系プログラミング • Python の場合 `('-')<[]`[-~-~('_'>[])]+`\ '-'<[]`[-~('_'<[])]+`'-'<()`\ [-~('-'>()):-~-~('_'>[])] ■実行結果 >> 'saru'

  11. 記号だけで任意の整数を生成する方法 • >>> -(''=='') • -1 • >>> --(''=='') • 1 • >>> -~(''=='') • 2 • >>> -~-~(''=='') • 3

  12. 記号だけで ‘saru’ を生成する方法 • >>> (''<>'') • False • >>> `(''<>'')` • 'False' • >>> `(''<>'')`[3] • 's' • >>> `(''<>'')`[1] • 'a'

  13. 記号だけで ‘saru’ を生成する方法 • >>> (''=='') • True • >>> `(''=='')` • 'True' • >>> `(''=='')`[1:3] • 'ru' • >>> 'sa'+'ru' • 'saru'

  14. PyPyEncode作ってみました

  15. Python バージョンできた! _  ∩ ( ゚∀゚)彡  ⊂彡 pypyencode!

  16. 誰でも西尾系プログラミングが可能に! • Python でインデントに悩む必要なし! • ワンライナーも思いのままに 西尾泰和

  17. YATTA!

  18. BATTLE 1 : Hill-Climbing Python VS. JavaScript

  19. BATTLE 1 : Hill-Climbing aaencode by HASEGAWA

  20. ゚ω゚ノ= /`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^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚Θ゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚o゚]) (゚Θ゚)) ('_');

  21. aaencode ゚ω゚ノ= /`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^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚Θ゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚o゚]) (゚Θ゚)) ('_');

  22. aaencode - How it works ゚ω゚ノ= /`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) ゚ω゚ノ= /`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) /正規表現/[ "_" ] 3を代入 3-3 を代入 = undefined 以下省略

  23. Secret of aaencode ”ゆの in language”対応

  24. Yuno in Language ゚ω゚ノ= /`m´)ノ ~┻━┻ //*´∇`*/ ['_']; o=(゚ー゚) =_=3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚);X=_=3; X / _ / X < "来週も見てくださいね!"; (゚Д゚) =(゚Θ゚)= (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^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (o^_^o)+ (c^_^o)+ ((゚ー゚) + (o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (o^_^o)+ (c^_^o)+ ((o^_^o) +(o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (o^_^o)+ (c^_^o)+ ((゚ー゚) + (o^_^o))+ (゚Д゚) .゚Д゚ノ+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (o^_^o)+ (c^_^o)+ ((゚ー゚) + (゚ー゚))+ (゚Д゚) .゚ω゚ノ+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (o^_^o)+ (c^_^o)+ (゚Д゚) .゚Θ゚ノ+ ((゚ー゚) + (゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (o^_^o)+ (c^_^o)+ (゚Д゚) .゚Θ゚ノ+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (o^_^o)+ (c^_^o)+ (゚Д゚) ['c']+ (o^_^o)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (o^_^o)+ (c^_^o)+ (゚Д゚) ['c']+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (c^_^o)+ (゚Д゚) .゚ー゚ノ+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ ((o^_^o) +(o^_^o))+ ((゚ー゚) + (o^_^o))+ ((o^_^o) +(o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ ((゚ー゚) + (゚ー゚) + (゚Θ゚))+ (c^_^o)+ (o^_^o)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (o^_^o)+ (c^_^o)+ ((゚ー゚) + (゚ー゚))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ ((゚ー゚) + (゚ー゚))+ ((゚ー゚) + (゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (゚ー゚))+ (゚Д゚) .゚Θ゚ノ+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (o^_^o)+ (c^_^o)+ ((o^_^o) +(o^_^o))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (o^_^o)+ (c^_^o)+ (゚ー゚)+ (゚Д゚) [゚Θ゚]+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (o^_^o)+ (c^_^o)+ ((o^_^o) +(o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (o^_^o)+ (c^_^o)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (o^_^o)+ (c^_^o)+ (゚ー゚)+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (o^_^o)+ (c^_^o)+ ((o^_^o) +(o^_^o))+ (゚Д゚) .゚ー゚ノ+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (゚Д゚) [゚Θ゚]+ (゚Д゚) [゚Θ゚]+ (c^_^o)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚o゚]) (゚Θ゚)) ('_');

  25. aaencodeの使い道 • セキュリティコンテストの問題の一部に • Hacker's dream(韓国)http://www.powerofcommunity.net/pastcon_2010.html • 採用試験の問題に • "Work with me at Mozilla! Solve the puzzle"http://www.blueskyonmars.com/2011/02/01/work-with-me-at-mozilla-solve-the-puzzle/

  26. BATTLE 2 : Downhill 斜め上から走ってきます! proceed from obliquely upward!

  27. BATTLE 2 : Downhill ハチロク AA86 VS. 詳細不明 Unspecified

  28. BATTLE 2 : Downhill AA86 ハチロク by HASEGAWA

  29. 下り最速 ハチロク

  30. AA86-顔文字バイナリ %@"%"@,~,%,!`_^[^_^]-;>`_^[^_^]%"!,^,:`_^[^_^]-@{-`{-?:`_[^_^]_-``-``-@@`_^[^_^]-`~-``-@$`_^[^_^]-``-``-@@`_^[^_^]-`~-``-@#`_^[^_^]-+~-/~-?;`_^[^_^]%!~-;-,;`_^[^_^]-"$-@~-@``_^[^_^]-{[-);-@:`_^[^_^]-/*,%`_^[^_^]`_^[^_^]`_^[^_^]`_^[^_^]%@$-@;-?;`_^[^_^]-/~-`&,#`_^[^_^]-`~-`{,*`_^[^_^]-@@-$!`_^[^_^]-:$,[,<`_^[^_^]-!|-.),!`_^[^_^]-@{-@`-/(`_^[^_^]`_^[^_^]`_^[^_^]`_^[^_^]-{!-{.,.`_^[^_^]-~/-/``_^[^_^]%""-}@$"`_^[^_^]%@@-!/,!`_^[^_^]-:*-=%`[[[[[[[[`^^^^^-%+)@@^^^!;@@_!,((,.((-$+)@*+@!!@-,!"(+@@,$-,!"($%&,&,&_&,"@"'%_&"',&$&-@*@$"

  31. AA86-顔文字バイナリ

  32. AA86-顔文字バイナリ • JavaScript製アセンブラ • 顔文字+記号の8086バイナリを生成 • ダウンロードはHTML5のFile API: Writer じゃなくて data:application/octet-stream

  33. AA86-顔文字バイナリ • 記号+顔文字だけで書く • アルファベットはダメ • 数字もだめ • 非アルファベットな文字もだめ • 使えるのは32種類の記号だけ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ • 16bit COM形式 • "MZ"、"ELF"のようなヘッダ不要 [a-zA-Z] [0-9]

  34. AA86-顔文字バイナリ %@" %"@ ,~ ,% ,! ` _ ^ [ ^ _ ^ ] 25 40 22 25 22 40 2C 7E 2C 25 2C 21 60 5F 5E 5B 5E 5F 5B 5D AND AX, 2240 AND AX, 4022 SUB AL, 7e SUB AL, 25 SUB AL, 21 PUSHA POP DI POP SI POP BX POP SI POP DI POP SI POP BP AX == 0x003C レジスタ8個をPUSH 7回POPを繰り返す スタック上に 実行コードを展開 最後にスタック上にジャンプ

  35. BATTLE 2 : Downhill ハチロク AA86 VS. 詳細不明 Brainfuck

  36. BATTLE 2 : Downhill Brainfuck by TAKESAKO

  37. マンデルブロ集合(Mandelbrot set)

  38. マンデルブロ集合を計算して描画する • Brainf*ckプログラムはコレですが… +++++++++++++[->++>>>+++++>++>+<<<<<<]>>>>>++++++>--->>>>>>>>>>+++++++++++++++[[ >>>>>>>>>]+[<<<<<<<<<]>>>>>>>>>-]+[>>>>>>>>[-]>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>[-]+ <<<<<<<+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>>+>>>>>>>>>>>>>>>>>>>>>>>>>> >+<<<<<<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+[>>>>>>[>>>>>>>[-]>>]<<<<<<<<<[<<<<<<<<<]>> >>>>>[-]+<<<<<<++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>+<<<<<<+++++++[-[->>> >>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>+<<<<<<<<<<<<<<<<[<<<<<<<<<]>>>[[-]>>>>>>[>>>>> >>[-<<<<<<+>>>>>>]<<<<<<[->>>>>>+<<+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>> [>>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<+<<]>>>>>>>>]<<<<<<<<<[<<<<<<< <<]>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<<<]>>>>>>>>>+++++++++++++++[[ >>>>>>>>>]+>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[ >+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>[-<<<<+>>>>]<<<<[->>>>+<<<<<[->>[ -<<+>>]<<[->>+>>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<< <<[>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<< [>[-]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<<]<+<<<<<<<<<]>>>>> >>>>[>+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>>[-<<<<<+>>>>>]<<<<<[->>>>>+ <<<<<<[->>>[-<<<+>>>]<<<[->>>+>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>> >>>>>>>]<<<<<<<<<[>>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<<]>>[->>>>>>>>>+<<<<<<<<<]<<

  39. マンデルブロ集合を計算して描画する • Brainf*ckプログラムを実行する86(ry %@@%!!-^--}+-)%-~|`________-+%-;|-]{-{~`]]]]]]]])--{~-,~-=_-;~`^_^]^_^-}^-|!-}!-_!`^_^]^_^-;`-!]-%!-(:`^_^]^_^--!-{;-%=-~/`^_^]^_^-|^-[$-}?-|#`^_^]^_^-+#--?-;#-(^`^_^]^_^-|)-!:-!:-[|`^_^]^_^-!+-)=-(,-:#`^_^]^_^-@:-@[-/!--$`^_^]^_^-?!-)^-?;--~`^_^]^_^-({-![-!#-!!`^_^]^_^-$(-^{-]@-:;`^_^]^_^-.^-?(-_:-^,`^_^]^_^-}/-,;-].-|,`^_^]^_^-@?--/-.--??`^_^]^_^-@|-+$-:^-;:`^_^]^_^-@=-}^-/!-`!`^_^]^_^-}}-}!-.(-}!`^_^]^_^-/.-%,-#`-#~`^_^]^_^-,:-+[-?`-=[`^_^]^_^-=_-^_-@)-#!`^_^]^_^-%[-.:-!]-!{`^_^]^_^-)/-`}-`.-~]`^_^]^_^-#?-.;-$[-@|`^_^]^_^-:?-+%-;_-,$`^_^]^_^-.!-}?-/$-_#`^_^]^_^-}~-::-}?-~^`^_^]^_^-!.-~(-/:-{-`^_^]^_^-~|-}]-/[-,:`^_^]^_^-+.-:{-[|-([`^_^]^_^-!/-,^-{+-{(`^_^]^_^-((-;+-+]--@`^_^]^_^-^=-##-:^-.;`^_^]^_^-:$-;;-$:-({`^_^]^_^-[]-]/-;/-[}`^_^]^_^-}#-+~-#_-@=`^_^]^_^-_.-$^-)~-)~`^_^]^_^-.;-;$-`|-_]`^_^]^_^--:--_-|)--{`^_^]^_^-^`-%/-/|-%}`^_^]^_^-.|-##-_:-,_`^_^]^_^-:(-(:-;{-=]`^_^]^_^-??-|,-[--#,`^_^]^_^-.$-`,-/)-~{`^_^]^_^-[|-#~-$|-![`^_^]^_^-((-{[-${-!:`^_^]^_^-:`-``-~~-~~`^_^]^_^-@.--,-#}-,#`^_^]^_^-+}-((-@+-+)`^_^]^_^-(?-^$-[|-~[`^_^]^_^-`[-+$-;!-$$`^_^]^_^-/)-,)-%(---`^_^]^_^-=?-]{-];-(,`^_^]^_^-@~-;:-;|-{{`^_^]^_^-};-)~-~!-~{`^_^]^_^?? +++++++++++++[->++>>>+++++>++>+<<<<<<]>>>>>++++++>--->>>>>>>>>>+++++++++++++++[[ >>>>>>>>>]+[<<<<<<<<<]>>>>>>>>>-]+[>>>>>>>>[-]>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>[-]+ <<<<<<<+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>>+>>>>>>>>>>>>>>>>>>>>>>>>>> >+<<<<<<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+[>>>>>>[>>>>>>>[-]>>]<<<<<<<<<[<<<<<<<<<]>>

  40. (例)FizzBuzzプログラム • Brainf*ckをわかりやすくインデント ++++[->++++<]>+ [<++++++>>++++>++++++>+++++++>>++++>+++++++<<<<<<-] <-->+++>++>+++>+++>+++++>-->--<<<<<<< [-> -[>>>>>>>]>[<+++>.>.>..>>>>>>+<]<<<<-[>>>]>[<+++++>.>.<<<..>>>>>>+<]>> +<[[-]<]>[ [-<+>>+<]> >++++++++++< [->->+<[>>]>[[-<+>]>>>+<]<<<<] >>>>>[-<+<+>>] ++++++++[-<<++++++<++++++>>>] <[<.>[-]]<[-]<.[-]<[-]< <<[->+<] ] ++++++++++++++++++++++++++++++++.[-]<<<<<<<<<< ]

  41. 32bitでもっと高速化できないか? char main[]="%[_-]%-```%`-_--!)-(-;`,!-}`+{-$~:;`________-#;:--{]-^-|`?{-:_/~`]]]]]]]])/-|=_.-;{,=-|:![-}{,$`^_^]^_^-,?%~-#)~+-!#~/-;!/``^_^]^_^-?%$,-%;@/-[`^~-!?=~`^_^]^_^-~,`;-=%.|--=.$-#!/$`^_^]^_^-]=@/-((|`-^).{-#}$|`^_^]^_^-^_(!-:=#;-$@)}-?;^/`^_^]^_^-%)^{-!{`:-=,`:-]#/|`^_^]^_^-#=`:-=~]_-{!`.-:~{[`^_^]^_^-/)(`-}!!^-|,~/-{!^~`^_^]^_^-%:=^-`{[_-{:;|-}%::`^_^]^_^-%)^+-[@_(-,:_(-~$^+`^_^]^_^-={);-)^^?-!`{#-:){[`^_^]^_^-~~$#-/=`--?#/[-(%~[`^_^]^_^-~_[`-!!):-!$)?-!+.~`^_^]^_^-!}|[-|@({-.%%{-@$!:`^_^]^_^-}`|#-/$#`-:@=/-!!#~`^_^]^_^-@+:=-,`.:-;;{#-^|~?`^_^]^_^-|$}]-^-^#-`$#!-!#%=`^_^]^_^-|@//-_@}!-_:[{-_`_{`^_^]^_^-{~[^-+:|{-!%$[-/=};`^_^]^_^-@?/_-^@`}-/:~`-=%~.`^_^]^_^-!(:}-;+:~-`|_,-#){;`^_^]^_^-}[,@-!)=~-~{;~-;{~_`^_^]^_^-)`/(-`/$.-~^#}-,@!_`^_^]^_^-`=[+-~:!^-`{:.-`{](`^_^]^_^-%|%]-#,^(-|+)$-+([:`^_^]^_^-:/^{-|/@@-%}!(-/@#)`^_^]^_^-?^${-/)(`-^-%$-;%~!`^_^]^_^-`:!;-$_%%--^{=-}{_;`^_^]^_^-@=!)-#)!.-!:!@-![!~`^_^]^_^-~[-?-`[?}-~+^^-/.|#`^_^]^_^-+];~-),@#-$~|)-=`!-`^_^]^_^-{^_$-;_.`-(+-_-};,,`^_^]^_^-[{+)-~(@`-`#~@-/-}?`^_^]^_^-?:|^-{^-~-,?;|-@%]``^_^]^_^-#@(|-_+|^-}(~~-^}[~`^_^]^_^-(#:@-!})`-%[?.-%}?+`^_^]^_^-=^/;-##.|-%|`^-~~`!`^_^]^_^-%#,{-~![@-`}@#-{+#^`^_^]^_^-_^~=-:-.{-{`@{-{!;[`^_^]^_^-/-]=-!:[;-).%:-)]:{`^_^]^_^-%,~{-(|}~-~]/(-/:`!`^_^]^_^-$!.)-)](;-/`#.--`@=`^_^]^_^-@-;+-(}~=-:%~)-{`//`^_^]^_^-|_]/-|+|[-|}:@-[?%/`^_^]^_^-!^[|-{{~/-:~;,-[`=-`^_^]^_^-(+;!-^]#:-{^${-(`)``^_^]^_^-`@,+-!:=/-$]|,-%)[@`^_^]^_^-){[`-![/,-?)~_-=!~.`^_^]^_^-??/!-@~}.-%/$#-%~^+`^_^]^_^-%={[-`_^%-}-|)-|=#!`^_^]^_^-/{,:-[_.+-.!}@-+;;=`^_^]^_^-$$?%-?%;;-/~.]--}$$`^_^]^_^-!@;.-/-#@-~%|_-`){!`^_^]^_^-[.{(-|~^_-~~!{--|~:`^_^]^_^-]{^=-~!@[-?%@`-%.!=`^_^]^_^-;=)--+#]:-!;:[-`:^{`^_^]^_^-]).(--;.{-+%%{-|=@``^_^]^_^-?%-/-/^.%-^~|`-^%{$`^_^]^_^-}:-^-`:])-.^%}-)]}{`^_^]^_^????";

  42. sub [edi], ebpで終端を自己書き換え • ????  90 FF D4 C3

  43. BATTLE 3 : over the limit 限界ギリギリに挑戦! Run to the utmount limit!

  44. BATTLE 3 : over the limit 6文字対決 JSfuck VS. 6文字対決 x86fuck

  45. BATTLE 3 : over the limit JSfuck 6文字対決 by HASEGAWA

More Related