Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
kozossakai
PDF, PPTX
2,516 views
アセンブラ漢文
オープンソースカンファレンス2016Tokyo/Fall ライトニングトーク
Entertainment & Humor
◦
Read more
2
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 88
2
/ 88
3
/ 88
4
/ 88
5
/ 88
6
/ 88
7
/ 88
8
/ 88
9
/ 88
10
/ 88
11
/ 88
12
/ 88
13
/ 88
14
/ 88
15
/ 88
16
/ 88
17
/ 88
18
/ 88
19
/ 88
20
/ 88
21
/ 88
22
/ 88
23
/ 88
24
/ 88
25
/ 88
26
/ 88
27
/ 88
28
/ 88
29
/ 88
30
/ 88
31
/ 88
32
/ 88
33
/ 88
34
/ 88
35
/ 88
36
/ 88
37
/ 88
38
/ 88
39
/ 88
40
/ 88
41
/ 88
42
/ 88
43
/ 88
44
/ 88
45
/ 88
46
/ 88
47
/ 88
48
/ 88
49
/ 88
50
/ 88
51
/ 88
52
/ 88
53
/ 88
54
/ 88
55
/ 88
56
/ 88
57
/ 88
58
/ 88
59
/ 88
60
/ 88
61
/ 88
62
/ 88
63
/ 88
64
/ 88
65
/ 88
66
/ 88
67
/ 88
68
/ 88
69
/ 88
70
/ 88
71
/ 88
72
/ 88
73
/ 88
74
/ 88
75
/ 88
76
/ 88
77
/ 88
78
/ 88
79
/ 88
80
/ 88
81
/ 88
82
/ 88
83
/ 88
84
/ 88
85
/ 88
86
/ 88
87
/ 88
88
/ 88
More Related Content
PDF
フィーリングで読む40種類のアセンブラ(オープンソースカンファレンス2013 Tokyo/Spring ライトニングトーク)
by
kozossakai
PDF
バイナリ駄洒落コンテスト
by
kozossakai
PDF
【2000行弱!】x86用自作カーネルの紹介
by
Yuma Ohgami
PDF
Fbx解説 (1 構文編) (1)
by
らりお ザ・何とは言わない天然水ソムリエ
PDF
Assembler Haiku - TAKESAKO
by
asmtanka
PDF
あなたの知らないnopたち@ラボユース合宿
by
MITSUNARI Shigeo
PDF
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
by
Hirotaka Kawata
PDF
super_unkoをスーパーキレイにした
by
jiro4989
フィーリングで読む40種類のアセンブラ(オープンソースカンファレンス2013 Tokyo/Spring ライトニングトーク)
by
kozossakai
バイナリ駄洒落コンテスト
by
kozossakai
【2000行弱!】x86用自作カーネルの紹介
by
Yuma Ohgami
Fbx解説 (1 構文編) (1)
by
らりお ザ・何とは言わない天然水ソムリエ
Assembler Haiku - TAKESAKO
by
asmtanka
あなたの知らないnopたち@ラボユース合宿
by
MITSUNARI Shigeo
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
by
Hirotaka Kawata
super_unkoをスーパーキレイにした
by
jiro4989
Viewers also liked
PPTX
Scilab: Computing Tool For Engineers
by
Naren P.R.
PDF
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
by
Yasuhiro Yoshimura
PDF
Hough forestを用いた物体検出
by
MPRG_Chubu_University
PPTX
20161203 cv 3_d_recon_tracking_eventcamera
by
Kyohei Unno
PDF
Cloud frontの概要と勘所
by
Kei Hirata
PDF
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
by
Shohei Hido
PDF
最先端NLP勉強会“Learning Language Games through Interaction”Sida I. Wang, Percy L...
by
Yuya Unno
PDF
ディジタル信号処理 課題解説 その8
by
noname409
PPTX
畳み込みLstm
by
tak9029
PPTX
有名論文から学ぶディープラーニング 2016.03.25
by
Minoru Chikamune
PDF
TensorFlowプログラミングと分類アルゴリズムの基礎
by
Etsuji Nakai
PDF
続・ハロー・ワールド入門(オープンソースカンファレンス2016 Tokyo/Spring ライトニングトーク)
by
kozossakai
PPTX
Gpgpu tomoaki-fp16
by
tomoaki0705
PDF
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
by
Yasuhiro Yoshimura
PPTX
関東コンピュータビジョン勉強会
by
nonane
PDF
最近やった事とこれからやりたい事 2016年度年末版
by
Netwalker lab kapper
PDF
64ビット対応Dllインジェクション
by
Shinichi Hirauchi
PPTX
「機械学習 By スタンフォード大学」勉強会 2015.09.11
by
Minoru Chikamune
PDF
ディジタル信号処理 課題解説 その9
by
noname409
PPTX
Process Simulation using DWSIM
by
Naren P.R.
Scilab: Computing Tool For Engineers
by
Naren P.R.
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
by
Yasuhiro Yoshimura
Hough forestを用いた物体検出
by
MPRG_Chubu_University
20161203 cv 3_d_recon_tracking_eventcamera
by
Kyohei Unno
Cloud frontの概要と勘所
by
Kei Hirata
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
by
Shohei Hido
最先端NLP勉強会“Learning Language Games through Interaction”Sida I. Wang, Percy L...
by
Yuya Unno
ディジタル信号処理 課題解説 その8
by
noname409
畳み込みLstm
by
tak9029
有名論文から学ぶディープラーニング 2016.03.25
by
Minoru Chikamune
TensorFlowプログラミングと分類アルゴリズムの基礎
by
Etsuji Nakai
続・ハロー・ワールド入門(オープンソースカンファレンス2016 Tokyo/Spring ライトニングトーク)
by
kozossakai
Gpgpu tomoaki-fp16
by
tomoaki0705
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
by
Yasuhiro Yoshimura
関東コンピュータビジョン勉強会
by
nonane
最近やった事とこれからやりたい事 2016年度年末版
by
Netwalker lab kapper
64ビット対応Dllインジェクション
by
Shinichi Hirauchi
「機械学習 By スタンフォード大学」勉強会 2015.09.11
by
Minoru Chikamune
ディジタル信号処理 課題解説 その9
by
noname409
Process Simulation using DWSIM
by
Naren P.R.
Similar to アセンブラ漢文
PDF
アセンブラ短歌(第2回APASEC+第2期サイボウズ・ラボユース合同勉強会)
by
kozossakai
PPT
C++でHello worldを書いてみた
by
firewood
PDF
2011.09.18 v7から始めるunix まとめ
by
Makiko Konoshima
PPT
Altanative macro
by
Motohiro KOSAKI
PDF
2017-12-04 Linuxの基本構造とBashでの扱い方
by
浩平 渡邉
PDF
アセンブラ短歌 - 坂井弘亮
by
asmtanka
PPTX
3_C言語入門 - C言語の基本
by
bc_rikko
PPTX
Bios helloworld
by
yuki kashiwaba
PDF
kagamicomput201707
by
swkagami
PDF
「はじめよう、シェル芸」オープンキャンプin南島原2020/OpenCamp in Minami-shimabara online
by
Hisatoshi Onishi
PDF
2011.06.11 v7から始めるunix まとめ
by
Makiko Konoshima
PDF
ただのリンカを書いた話.pdf
by
simotin13 Miyazaki
アセンブラ短歌(第2回APASEC+第2期サイボウズ・ラボユース合同勉強会)
by
kozossakai
C++でHello worldを書いてみた
by
firewood
2011.09.18 v7から始めるunix まとめ
by
Makiko Konoshima
Altanative macro
by
Motohiro KOSAKI
2017-12-04 Linuxの基本構造とBashでの扱い方
by
浩平 渡邉
アセンブラ短歌 - 坂井弘亮
by
asmtanka
3_C言語入門 - C言語の基本
by
bc_rikko
Bios helloworld
by
yuki kashiwaba
kagamicomput201707
by
swkagami
「はじめよう、シェル芸」オープンキャンプin南島原2020/OpenCamp in Minami-shimabara online
by
Hisatoshi Onishi
2011.06.11 v7から始めるunix まとめ
by
Makiko Konoshima
ただのリンカを書いた話.pdf
by
simotin13 Miyazaki
More from kozossakai
PDF
spinsn - CPUの特殊命令の仕様推定と実装の競技
by
kozossakai
PDF
Step-Oriented Programming による任意コード実行の可能性
by
kozossakai
PDF
Possibility of arbitrary code execution by Step-Oriented Programming
by
kozossakai
PDF
ハロー・ワールド入門(オープンソースカンファレンス2015 Tokyo/Spring ライトニングトーク)
by
kozossakai
PDF
アセンブラ短歌 (AVTOKYO2013.5 日本語版)
by
kozossakai
PDF
Assembly Language Tanka (AVTOKYO2013.5 English version)
by
kozossakai
PDF
アセンブラ短歌(TechLION vol.15 ライトニングトーク)
by
kozossakai
PDF
組込みOSを作ってみよう!(オープンソースカンファレンス内セミナー資料)
by
kozossakai
PDF
バイナリかるた(アーキテクチャかるた・完全版)
by
kozossakai
PDF
バイナリかるた(アーキテクチャかるた)
by
kozossakai
PDF
バイナリで遊ぼう(オープンソースカンファレンス2014 Tokyo/Fall ライトニングトーク)
by
kozossakai
PDF
アセンブラ短歌(オープンソースカンファレンス2013 Tokyo/Fall ライトニングトーク)
by
kozossakai
spinsn - CPUの特殊命令の仕様推定と実装の競技
by
kozossakai
Step-Oriented Programming による任意コード実行の可能性
by
kozossakai
Possibility of arbitrary code execution by Step-Oriented Programming
by
kozossakai
ハロー・ワールド入門(オープンソースカンファレンス2015 Tokyo/Spring ライトニングトーク)
by
kozossakai
アセンブラ短歌 (AVTOKYO2013.5 日本語版)
by
kozossakai
Assembly Language Tanka (AVTOKYO2013.5 English version)
by
kozossakai
アセンブラ短歌(TechLION vol.15 ライトニングトーク)
by
kozossakai
組込みOSを作ってみよう!(オープンソースカンファレンス内セミナー資料)
by
kozossakai
バイナリかるた(アーキテクチャかるた・完全版)
by
kozossakai
バイナリかるた(アーキテクチャかるた)
by
kozossakai
バイナリで遊ぼう(オープンソースカンファレンス2014 Tokyo/Fall ライトニングトーク)
by
kozossakai
アセンブラ短歌(オープンソースカンファレンス2013 Tokyo/Fall ライトニングトーク)
by
kozossakai
アセンブラ漢文
1.
アセンブラ漢文 坂井弘亮 (KOZOSプロジェクト) TwitterID:kozossakai
2.
早速ですが
3.
OSCのLTから 生まれた書籍
4.
ハロー "Hello, World"
6.
どんな書籍か
7.
C言語の入門書で最初に 書く単なる文字列出力プ ログラム (いわゆる「ハ ローワールド」)を徹底的 に解析するという本
8.
書籍中で やっていること
9.
ハロー・ワールドをデバッガで動的解 析してシステムコール呼び出し部分ま で追い, さらにLinuxカーネルのシス テムコール処理を見て,次に標準Cラ イブラリである glibcのソースコード見 て確認してついでにglibcを自前でビ ルドしてデバッグ情報
埋め込んでシン ボルベースで解析し,さらに実行ファイ ルのELFを解析し, x86以外のアーキ (ARMとMIPS)やLinux以外のOS環境 (FreeBSD)ではどうなるのか調べ, 最
10.
要約すると
11.
ハロー・ワールドを 本気解析 する,という本 (自分的にはツボで ちょう面白い)
12.
そんな ハロー "Hello, World" ですが
13.
最も苦労した 点
14.
書籍タイトル
15.
当初に編集さ んに言われた こと
16.
「ハードな感じで いきましょう」 (たぶん「硬派な 感じ」と言ってい る)
17.
ハード?
18.
ハードボイルド ということか?
19.
だったら 探偵だろう
20.
ということで 最初に出した タイトル案
21.
「ハロー・ワールド探偵」 (実話)
22.
これはカッコいいぞ!
23.
調子に乗る
24.
次に出した タイトル案
25.
ハロー・ワールド 刑事(デカ) (実話)
26.
当時のメールを 読み返してみた
27.
(全部実際に出した案) ハロー・ワールド捜査官 ハロー・ワールド捜査 団 ハロー・ワールド捜査班
ハロー・ワールド捜 査委員会 ハロー・ワールド探偵団 ハロー・ ワールド探険団 ハロー・ワールド探険隊 ハ ロー・ワールド非常線 ハロー・ワールド登山隊 ハロー・ワールド潜入捜査 ハロー・ワールド刑 事(デカ) ハロー・ワールド危険地帯 ハロー・ ワールドへの挑戦 ハロー・ワールド・ハンター 怪盗ハロー・ワールド 非情のハロー・ワールド 大いなるハロー・ワールド 愛しきハロー・ワー
28.
まだまだあります 標的はハロー・ワールド ハロー・ワールドの街 角 ハロー・ワールドで一杯
今夜はハロー・ワー ルドで一杯 蘇えるハロー・ワールド 探偵はハ ロー・ワールドを読む 発酵ハロー・ワールド ハ ロー・ワールドを醸す 野性のハロー・ワールド ハロー・ワールドは旨い ハロー・ワールド青春 時代 無限のハロー・ワールド ハロー・ワールド の銀河 ハロー・ワールド千夜一夜 ハロー・ ワールド物語 ハロー・ワールドでいこう ハ ロー・ワールドの要塞 必殺ハロー・ワールド あ
29.
まだまだまだまだあります (図に乗るタイプ) じゃじゃ馬ハロー・ワールド ハロー・ワールド倶 楽部 ハロー・ワールド盗難事件
ハロー・ワー ルド迷宮事件 ハロー・ワールド深海探査 ハ ロー・ワールド深海探索 ハロー・ワールド深海 探査船 ハロー・ワールド・ダイバー ダイビング・ ハロー・ワールド ダイビング・イン・ハロー・ワー ルド ハロー・ワールドッチャブル ハロー・ワー ルド大作戦 ハロー・ワールド・ホームズ ハ ロー・ワールド・シャーロックホームズ ホーム
30.
自分的にヒット なタイトル案
31.
「ハロー・ワールド盗難事件」 なんじゃそりゃ!読みてえ! (探偵小説好き.とくに海外ものと金 田一(少年じゃないほう)専門)
32.
「ハロー・ワールドッチャブル」 (おそらくスーパーハードボイルド映画 「アンタッチャブル」の影響. でもどう見 てもハードボイルドでなく 色モノにしか 思えないが,当時は
やたら気にいって必 死に推していた.却下してくれた編集さ んありがとうございます)
33.
「ハロー・ワールドの銀河」 (スケールでかすぎだろう) 「じゃじゃ馬ハロー・ワールド」 (もはや何なのか全然わからないが,と りあえず数ページ読んでみたい)
34.
そんな芸風で やっていますが
35.
本日は アセンブラの 話です
36.
まず軽い話から 入ります
37.
OSCのLTから生まれた 崇高な芸術活動
38.
アセンブラ短歌
39.
アセンブラ短歌と は何か
40.
アセンブラ短歌とは 五・七・五・七・七の三十一バ イト(みそひとバイト)から成る 機械語コードでプログラムを 書いてみるという近未来の文 化的趣味であり,近年, 国内 のハッカー間で密かなブーム が起きています.
41.
こんな感じです
42.
タイトル:「夏休み」(詠み人:坂井弘亮) 6a 00 58
50 40 68 79 61 6d 61 50 40 6a 08 5a 5b 40 68 57 61 6b 61 54 40 59 cd 80 58 58 58 c3
43.
アセンブラ短歌 の問題点
44.
固定長命令や 偶数長命令の CPUでは原理的 にできない
45.
アセンブラ短歌をやることを想定して 設計された(と思われる)CPU一覧 (Tankable Architectures) x86(Intel) M32C(三菱) MN10300(松下) RL78(ルネサス)
RX(ルネサス) Xtensa(テンシリカ)
46.
x86は短歌対応されて いるので可能だ が,ARMは短歌非対 応なので不可能
47.
つまりスマフォでは 短歌は詠めない (スマフォ嫌いの人がPCを使う大 きな理由のひとつと思われる)
48.
しかし待てよ
49.
固定長命令 ↓ 1句の長さが固定 ならば書きやすい
50.
漢詩なら書け るのでは
51.
春暁(孟浩然) 花 夜 處
春 落 來 處 眠 知 風 聞 不 多 雨 啼 覺 少 聲 鳥 曉 (五言絶句)
52.
五言絶句 ... 1句が5字で4句 五言律詩
... 1句が5字で8句 七言絶句 ... 1句が7字で4句 七言律詩 ... 1句が7字で8句
53.
アセンブラ漢詩 固定の句長の機械語コード でプログラムを書いてみると いう 近未来の文化的趣味で あり,近年, 国内のハッカー 間で密かなブームが起きると 思われます.
54.
やってみた
55.
手始めに練習 としてx86で
56.
x86 五言律詩
57.
アセンブラ (FreeBSD/Linux両方で動作するというおまけつき) push %ebx push $4 push
$10 pop %edx pop %eax xor %ebx, %ebx inc %ebx push $0xfcda push $0xb4ebd4c9 push $0xb2ccd5bd mov %esp, %ecx push %edx push %ecx push %ebx push $0 int $0x80 pop %eax add $24, %esp pop %ebx ret
58.
83 6A 89
68 68 68 5A 53 C4 00 E1 BD C9 DA 58 6A 18 CD 52 D5 D4 FC 31 04 5B 80 51 CC EB 00 DB 6A C3 58 53 B2 B4 00 43 0A
59.
83 6A 89
68 68 68 5A 53 C4 00 E1 BD C9 DA 58 6A 18 CD 52 D5 D4 FC 31 04 5B 80 51 CC EB 00 DB 6A C3 58 53 B2 B4 00 43 0A (注意:右上から縦読みです)
60.
実行結果
61.
春眠不覺曉
62.
読みやすくしたい
63.
x86はリトルエンディアン (実際の値) 0x12345678 (メモリ上のデータ配置) 78563412
64.
リトルエンディアンのため 値がひっくり返っている位置
65.
83 6A 89
68 68 68 5A 53 C4 00 E1 BD C9 DA 58 6A 18 CD 52 D5 D4 FC 31 04 5B 80 51 CC EB 00 DB 6A C3 58 53 B2 B4 00 43 0A
66.
値がひっくり返っているので
67.
レ点を打つ
68.
83 6A 89
68 68 68 5A 53 C4 00 E1 BD C9 DA 58 6A 18 CD 52 D5 D4 FC 31 04 5B 80 51 CC EB 00 DB 6A C3 58 53 B2 B4 00 43 0A
69.
83 6A 89
68 68 68 5A 53 C4 00 E1 BD C9 DA 58 6A 18 CD 52 D5 D4 FC 31 04 5B 80 51 CC EB 00 DB 6A C3 58 53 B2 B4 00 43 0A レ レ レ レ レ レ レ レ レ
70.
読みやすくなった
71.
次
72.
MIPSでやって みる
73.
MIPSは4バイト固定長 命令なので,普通に書 くだけで漢詩になる (ただし五言とか七言と かはムリ)
74.
MIPS 八言律詩
75.
アセンブラ lui $v0,0xbdd5 ori $v0,$v0,0xccb2 sw
$v0,0($sp) lui $v0,0xc9d4 ori $v0,$v0,0xebb4 sw $v0,4($sp) lui $v0,0xdafc sw $v0,8($sp) li $a0,1 move $a1,$sp li $a2,10 jal __write li $a0,0 jal __exit li $v0,0 jr $ra
76.
03 0C 0C
24 3C 34 AF 3C E0 00 00 04 02 42 A2 02 00 00 00 00 DA EB 00 BD 08 07 0F 01 FC B4 00 D5 24 24 24 03 AF AF 3C 34 02 04 06 A0 A2 A2 02 42 00 00 00 28 00 00 C9 CC 00 00 0A 21 08 04 D4 B2
77.
実行結果
78.
春眠不覺曉
79.
読みやすくしたい
80.
MIPSは遅延ス ロットを持つ
81.
遅延スロット ジャンプ命令の直後の命令も 実行される ↓ 読むときはジャンプ命令と直後 の命令をひっくり返す感じ
82.
ひっくり返す?
83.
一二点を打た なければ
84.
03 0C 0C
24 3C 34 AF 3C E0 00 00 04 02 42 A2 02 00 00 00 00 DA EB 00 BD 08 07 0F 01 FC B4 00 D5 24 24 24 03 AF AF 3C 34 02 04 06 A0 A2 A2 02 42 00 00 00 28 00 00 C9 CC 00 00 0A 21 08 04 D4 B2
85.
03 0C 0C
24 3C 34 AF 3C E0 00 00 04 02 42 A2 02 00 00 00 00 DA EB 00 BD 08 07 0F 01 FC B4 00 D5 24 24 24 03 AF AF 3C 34 02 04 06 A0 A2 A2 02 42 00 00 00 28 00 00 C9 CC 00 00 0A 21 08 04 D4 B2一 一 一 二 二 二
86.
まとめ
87.
MIPSやARMなどの固定長命令のアーキテ クチャは 短歌は不可能な場合が多い (Untankable Architectures)が,
漢詩なら ば可能(Kanshable Architectures)である
88.
どうもありがとう ございました
Download