Submit Search
Upload
ワタナBase59
•
0 likes
•
749 views
X
xztaityozx
Follow
2020/12/27に開催された第51回シェル芸勉強会のLTで話したときの資料です
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 18
Download now
Download to read offline
Recommended
Redを触ってみた
Redを触ってみた
隼也 田代
20101009 gunma.web#2 スタパさんをつくるはなし
20101009 gunma.web#2 スタパさんをつくるはなし
ivoryworks .
Java script info in english
Java script info in english
Takahiro Kawahara
呪符式高速詠唱シェル芸2
呪符式高速詠唱シェル芸2
xztaityozx
呪符式高速詠唱シェル芸
呪符式高速詠唱シェル芸
xztaityozx
surgeコマンド作りました
surgeコマンド作りました
xztaityozx
ナーベンシュタイン距離 ~グラフを添えて~
ナーベンシュタイン距離 ~グラフを添えて~
xztaityozx
あの、selのリベンジをさせてください
あの、selのリベンジをさせてください
xztaityozx
Recommended
Redを触ってみた
Redを触ってみた
隼也 田代
20101009 gunma.web#2 スタパさんをつくるはなし
20101009 gunma.web#2 スタパさんをつくるはなし
ivoryworks .
Java script info in english
Java script info in english
Takahiro Kawahara
呪符式高速詠唱シェル芸2
呪符式高速詠唱シェル芸2
xztaityozx
呪符式高速詠唱シェル芸
呪符式高速詠唱シェル芸
xztaityozx
surgeコマンド作りました
surgeコマンド作りました
xztaityozx
ナーベンシュタイン距離 ~グラフを添えて~
ナーベンシュタイン距離 ~グラフを添えて~
xztaityozx
あの、selのリベンジをさせてください
あの、selのリベンジをさせてください
xztaityozx
Owari version 2.0 をつくりました
Owari version 2.0 をつくりました
xztaityozx
実績を達成しました!
実績を達成しました!
xztaityozx
ocsとselってコマンド作ったわよ
ocsとselってコマンド作ったわよ
xztaityozx
ワタナベシェル
ワタナベシェル
xztaityozx
柿と杮
柿と杮
xztaityozx
難読化PowerShell芸入門
難読化PowerShell芸入門
xztaityozx
シェル芸をドット絵にして思いを伝えよう!
シェル芸をドット絵にして思いを伝えよう!
xztaityozx
終わりを出力するコマンドつくった
終わりを出力するコマンドつくった
xztaityozx
ワタナベ難読化シェル芸
ワタナベ難読化シェル芸
xztaityozx
~/.bashrcを難読化しよう!
~/.bashrcを難読化しよう!
xztaityozx
CLIツール作るの楽しい
CLIツール作るの楽しい
xztaityozx
レッツゴー難読化シェル芸
レッツゴー難読化シェル芸
xztaityozx
超・記号オンリー難読化シェル芸
超・記号オンリー難読化シェル芸
xztaityozx
部活でシェル芸がはやらない
部活でシェル芸がはやらない
xztaityozx
潜入工作任務用シェル芸
潜入工作任務用シェル芸
xztaityozx
ダブルシンク難読化シェル芸
ダブルシンク難読化シェル芸
xztaityozx
破壊的難読化シェル芸
破壊的難読化シェル芸
xztaityozx
みんなで!Base64難読化シェル芸
みんなで!Base64難読化シェル芸
xztaityozx
シェル芸で使いたくてLINQが使えるコマンドを作ったらawkでよかった話
シェル芸で使いたくてLINQが使えるコマンドを作ったらawkでよかった話
xztaityozx
難読化シェル芸
難読化シェル芸
xztaityozx
More Related Content
More from xztaityozx
Owari version 2.0 をつくりました
Owari version 2.0 をつくりました
xztaityozx
実績を達成しました!
実績を達成しました!
xztaityozx
ocsとselってコマンド作ったわよ
ocsとselってコマンド作ったわよ
xztaityozx
ワタナベシェル
ワタナベシェル
xztaityozx
柿と杮
柿と杮
xztaityozx
難読化PowerShell芸入門
難読化PowerShell芸入門
xztaityozx
シェル芸をドット絵にして思いを伝えよう!
シェル芸をドット絵にして思いを伝えよう!
xztaityozx
終わりを出力するコマンドつくった
終わりを出力するコマンドつくった
xztaityozx
ワタナベ難読化シェル芸
ワタナベ難読化シェル芸
xztaityozx
~/.bashrcを難読化しよう!
~/.bashrcを難読化しよう!
xztaityozx
CLIツール作るの楽しい
CLIツール作るの楽しい
xztaityozx
レッツゴー難読化シェル芸
レッツゴー難読化シェル芸
xztaityozx
超・記号オンリー難読化シェル芸
超・記号オンリー難読化シェル芸
xztaityozx
部活でシェル芸がはやらない
部活でシェル芸がはやらない
xztaityozx
潜入工作任務用シェル芸
潜入工作任務用シェル芸
xztaityozx
ダブルシンク難読化シェル芸
ダブルシンク難読化シェル芸
xztaityozx
破壊的難読化シェル芸
破壊的難読化シェル芸
xztaityozx
みんなで!Base64難読化シェル芸
みんなで!Base64難読化シェル芸
xztaityozx
シェル芸で使いたくてLINQが使えるコマンドを作ったらawkでよかった話
シェル芸で使いたくてLINQが使えるコマンドを作ったらawkでよかった話
xztaityozx
難読化シェル芸
難読化シェル芸
xztaityozx
More from xztaityozx
(20)
Owari version 2.0 をつくりました
Owari version 2.0 をつくりました
実績を達成しました!
実績を達成しました!
ocsとselってコマンド作ったわよ
ocsとselってコマンド作ったわよ
ワタナベシェル
ワタナベシェル
柿と杮
柿と杮
難読化PowerShell芸入門
難読化PowerShell芸入門
シェル芸をドット絵にして思いを伝えよう!
シェル芸をドット絵にして思いを伝えよう!
終わりを出力するコマンドつくった
終わりを出力するコマンドつくった
ワタナベ難読化シェル芸
ワタナベ難読化シェル芸
~/.bashrcを難読化しよう!
~/.bashrcを難読化しよう!
CLIツール作るの楽しい
CLIツール作るの楽しい
レッツゴー難読化シェル芸
レッツゴー難読化シェル芸
超・記号オンリー難読化シェル芸
超・記号オンリー難読化シェル芸
部活でシェル芸がはやらない
部活でシェル芸がはやらない
潜入工作任務用シェル芸
潜入工作任務用シェル芸
ダブルシンク難読化シェル芸
ダブルシンク難読化シェル芸
破壊的難読化シェル芸
破壊的難読化シェル芸
みんなで!Base64難読化シェル芸
みんなで!Base64難読化シェル芸
シェル芸で使いたくてLINQが使えるコマンドを作ったらawkでよかった話
シェル芸で使いたくてLINQが使えるコマンドを作ったらawkでよかった話
難読化シェル芸
難読化シェル芸
ワタナBase59
1.
ワタナBase59 たいちょー
2.
皆さん︕#!/bin/bash︕(こんにちはの意) たいちょーです Twitter: @xztaityozx_001 GitHub: xztaityozx ゆるふわお嬢様系難読化シェル芸⼈です
3.
さて、12⽉ですね
4.
12⽉開催のシェル芸勉強会LTで話すことといえば
5.
ワタナベ難読化シェル芸
6.
ワタナベ難読化シェル芸 #とは ワタナベさんの「ナベ」が多すぎることから⽣まれた「ナベ」によるエンコーデ ィング 2018/12 ワタナベ難読化シェル芸 https://www.slideshare.net/xztaityozx/ss-126519906 https://github.com/xztaityozx/noc 2019/12
ワタナベシェル https://www.slideshare.net/xztaityozx/ss-211896776 https://github.com/xztaityozx/nabesh
7.
ナベの異体字 Q:「いうてもそんなにナベおおくないっしょw」 A:「そうだねw」 異体字セレクタで表せるナベは全部で56個です
8.
noc のアルゴリズム 過去のスライドが詳しいのでそっちで説明します(P18~) (再掲)︓ https://www.slideshare.net/xztaityozx/ss-126519906
9.
noc の弱点 マルチバイト対応できてない おや︖出来ているのでは︖ $ echo
うんこ | noc 部邊邊邊邉邉邉邊邊邊邉邉邉邊邊邊邉邉邉部 実はアップデートで、マルチバイト部はBase64してからワタナベエンコードする ように変えた これなんかちょっと残念じゃないですか︖
10.
マルチバイトをちゃんと考えたエンコードしたい… したいですね… したいならするしかないですね…
11.
できました wbase59 https://github.com/xztaityozx/wbase59 ワタナベとbase64/58の夢のコラボレーション
12.
まずは試してみましょう $ echo うんこ
| wbase59 邊邊邊辺邊辺邊邊辺邊邊邊邉邊辺辺邉辺邊邊邊辺邊辺辺邉辺邉邊辺
13.
base64のアルゴリズム 1. バイト列を6ビットずつに切り分ける。⾜りない部分は0で埋める 2. テーブルにしたがって変換する(2^6
= 64) 3. 4⽂字ずつに分ける。⾜りない分は = で埋める
14.
base58 base64から数字の 1 とか⼩⽂字のエル
l など、間違えやすい⽂字を排除したやつ 2のべき乗個じゃないので、ちょっとアルゴリズムが違う 超簡単な説明 1. バイト列をでかい数値としてみる 2. 58で割った余りをテーブルにしたがって⽂字に変える 3. 商が0になるまでやる
15.
wbase59はどうするの︖ 異体字(56個)+異体字セレクタの無いナベ(3個)で表す 2のべき乗個ではないので、base58みたいな⽅針が必要 ちょっと⼯夫も⼊れたい
16.
かんたんな wbase59 あるごりずむ
せつめい 1. 8ビットずつに分ける 2. 8ビットを3で割った余りをテーブルに従って無いナベに変換する(= フラグナベ ) 0 => 辺 1 => 邊 2 => 邉 3. 8ビットを10進数とみてから56で割り、その余りをテーブルに従って変換( セクシ ョンナベ ) 4. 8ビットのエンコード結果として フラグナベ+セクションナベ を出⼒する
17.
ええところ マルチバイト対応 デコード時に、フラグナベを使ってセクションナベの誤り検出ができる(パリティ ナベ) あかんところ エンコード結果が⻑くなりがち 実装が駄⽬。末尾に勝⼿に改⾏を⼊れちゃう さっき気づいて汗かいてる
18.
おわり 良いワタナベエンコードが出来たと思います これでワタナベネイティブな環境のシェル(例えばnabesh)でも⼤丈夫ですね。 是⾮お試しください
Download now