Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

ダブルシンク難読化シェル芸

5.655 visualizaciones

Publicado el

2017/10/07に開催された第31回シェル芸勉強会 大阪サテライトで発表したLT資料です

Publicado en: Ingeniería
  • Inicia sesión para ver los comentarios

  • Sé el primero en recomendar esto

ダブルシンク難読化シェル芸

  1. 1. ダブルシンク難読化シェル芸 たいちょー
  2. 2. みなさん#!/bin/bash(こんにちはの意) たいちょー Twitter : @xztaityozx_001 母語はC# 慢性鼻炎です アイコンステッカーあります
  3. 3. シェル芸 #とは シェル芸の定義バージョン1.1 マウスも使わず、ソースコードも残さず、 GUIツールを立ち上げる間もなく、 あらゆる調査・計算・テキスト処理を CLI端末へのコマンド入力一撃 で終わらすこと。あるいはそのときのコマンド入力 のこと。  上田ブログ(https://blog.ueda.tech/)より
  4. 4. 難読化シェル芸 #とは kanata氏考案のヤバいシェル芸 定義 内部的な動作の手続き内容・構造・データなどを人 間が理解しにくい、あるいはそのようになるよう加 工されたシェル芸のこと。 -- A painter and a black cat より
  5. 5. 昨今の難読化シェル芸事情 gunzipによる危険シェル芸の破壊的難読化 (前回の僕のLT:「破壊的難読化シェル芸」参照) でますます混沌を極めています
  6. 6. 昨今の難読化シェル芸事情 反社会勢力の危険シェル芸人と正義のシェル芸人 の戦争の終結に結び付く これまで危険シェル芸を援助してきた難読化シェル芸 が両者の戦争を止めるため動き出した 難読化シェル芸人が平和を願い考えられたのが
  7. 7. ダブルシンク難読化シェル芸
  8. 8. ダブルシンク #とは ジョージ・オーウェル著「1984年」に登場する 思考能力 相反し合う二つの意見を同時に持ち、それが矛盾し 合うのを承知しながら双方ともに信奉すること -- Wikipediaより
  9. 9. シェル芸における相反する二つの考えの例 うんこもりもり芸
  10. 10. ダブルシンク難読化シェル芸が見つかるまで これは僕が研究室で「進捗、進捗」とうめいて いた時のこと 「シェル芸って同じ文字結構出てくるなあ ハフマン符号化が有効では?」 おそらく疲れていた
  11. 11. ハフマン符号化 あるデータ中に よく出てくる文字には短いbit列を あんまり出てこない文字には長いbit列を それぞれ割り当てる圧縮符号化方式 いろんなところで使われている
  12. 12. 例えば AAAABBC Aが一番よく出てくるので 0 次にBなので 10 最後にCに 11 を割り当て AAAABBC → 0000101011
  13. 13. シェル芸でも有効なのでは パスやsedを書くだけで/(スラッシュ)が多くな る オプション関係で-(ハイフン)も増える コマンド自体もよく見るものが多い
  14. 14. (闇のようなものを)書いた GitHub : xztaityozx/shellhuffman これのencode.shを使うと 入力::(){ :|: &};: 出力 ひどいのが出てくる
  15. 15. 復号もできる さっきの結果をdecode.shを使って復号できる
  16. 16. 個人的には精一杯難読化したつもりだったが 割と元のコマンドがわかる
  17. 17. 割とわかる
  18. 18. ここで思い出してみましょう
  19. 19. 日本語base64難読化シェル芸 rm –rf / → にて -にた み
  20. 20. 僕のやる難読化は可読化だった? むしろ難読化と可読化の歩み寄りでは?
  21. 21. シェル芸における相反する二つの考え 難読性 可読性
  22. 22. 相反する二つの考えが受け入れ合う ダブルシンクとは 相反し合う二つの意見を同時に持ち、それが矛盾し 合うのを承知しながら双方ともに信奉すること でした
  23. 23. 可読性を受け入れた難読化シェル芸 それがダブルシンク難読化シェル芸の本質 発表している会場がアメリカにあるなら、ここで拍手と歓声が起こります
  24. 24. そろそろ頭がおかしい人だと思われるので この辺で終わりにします
  25. 25. ちなみに encode.shもdecode.shも 「ソースコードを残さない」 という掟を破っているのでシェル芸かどうかは 個人の裁量に任せることとなります

×