Joyful assembly language - Assembly Language Tanka
-
Upload
kunio-miyamoto -
Category
Technology
-
view
4.266 -
download
3
description
Transcript of Joyful assembly language - Assembly Language Tanka
Joyful Assembly Language
Kunio Miyamoto, Ph.D.
1
Assembly language tanka
Kunio Miyamoto, Ph.D.
2
About me
Copyright by Kunio Miyamoto 3
About me
It’s a Joke Copyright by Kunio Miyamoto 4
What is Tanka?
• Tanka is…
• Japanese Short Poem
• 5-7-5-7-7 Style
– Number is the letters of character in each part
• Includes “Kigo(季語)”
– “Kigo” is the season word
• Rule and style
5
In Wikipedia
• Tanka (短歌 "short poem") is a genre of
classical Japanese poetry and one of the
major genres of Japanese literature
• http://en.wikipedia.org/wiki/Tanka
Copyright by Kunio Miyamoto
Example
• 東海の小島の磯の白砂に
われ泣きぬれて
蟹(かに)とたはむる(石川啄木)
• On the white sand
Of the beach of a small island
In the Eastern Sea
I, my face streaked with tears,
Am playing with a crab(Takuboku Ishikawa)
Copyright by Kunio Miyamoto
Example
• 東海の小島の磯の白砂に
われ泣きぬれて
蟹(かに)とたはむる(石川啄木)
• On the white sand
Of the beach of a small island
In the Eastern Sea
I, my face streaked with tears,
Am playing with a crab(Takuboku Ishikawa)
Copyright by Kunio Miyamoto
とうかいの
こじまのいその
しろすなに
われなきぬれて
かにとたはむる
Example
• 東海の小島の磯の白砂に
われ泣きぬれて
蟹(かに)とたはむる(石川啄木)
• On the white sand
Of the beach of a small island
In the Eastern Sea
I, my face streaked with tears,
Am playing with a crab(Takuboku Ishikawa)
Copyright by Kunio Miyamoto
Remember
This Style
What is
assembly language tanka? • Assembler TANKA is…
• Machine Language Short Poem(!)
• 5-7-5-7-7 Style
• Includes “Kigo(季語)”
– “Kigo” is the season word
• Rhythmic
e.g.: Ends or starts same code in each part
• Executable(!)
10
Example
.section .text
.global main
.type main, @function
main:
push $0x43412054
push $0x53524946
mov %esp, %ecx
xor %ebx, %ebx
inc %ebx
mov %ebx, %eax
add %eax, %eax
add %eax, %eax
nop
mov %eax, %edx
add %edx, %edx
int $0x80
add %edx, %esp
ret
Copyright by Kunio Miyamoto
ONLY
14 Instructions!
Runs on Linux/x86
Style?
68 54 20 41 43
68 46 49 52 53 89 e1
31 db 43 89 d8
01 c0 01 c0 90 89 c2
01 d2 cd 80 01 d4 c3 Copyright by Kunio Miyamoto
5bytes
5bytes
7bytes
7bytes
7bytes
Style?
Copyright by Kunio Miyamoto
Remember
This Style
Season Word?
Copyright by Kunio Miyamoto
68 54 20 41 43
68 46 49 52 53 89 e1
31 db 43 89 d8
01 c0 01 c0 90 89 c2
01 d2 cd 80 01 d4 c3
Season Word?
Copyright by Kunio Miyamoto
68 54 20 41 43
68 46 49 52 53 89 e1
31 db 43 89 d8
01 c0 01 c0 90 89 c2
01 d2 cd 80 01 d4 c3
“FIRST AC” Is the
Season Word
of “June”
Rhythm?
Copyright by Kunio Miyamoto
68 54 20 41 43
68 46 49 52 53 89 e1
31 db 43 89 d8
01 c0 01 c0 90 89 c2
01 d2 cd 80 01 d4 c3
Rhythm?
Copyright by Kunio Miyamoto
68 54 20 41 43
68 46 49 52 53 89 e1
31 db 43 89 d8
01 c0 01 c0 90 89 c2
01 d2 cd 80 01 d4 c3
Same value
Rhythm?
Copyright by Kunio Miyamoto
68 54 20 41 43
68 46 49 52 53 89 e1
31 db 43 89 d8
01 c0 01 c0 90 89 c2
01 d2 cd 80 01 d4 c3 Same value
Rhythm?
Copyright by Kunio Miyamoto
68 54 20 41 43
68 46 49 52 53 89 e1
31 db 43 89 d8
01 c0 01 c0 90 89 c2
01 d2 cd 80 01 d4 c3
Refrain
Rhythm?
Copyright by Kunio Miyamoto
68 54 20 41 43
68 46 49 52 53 89 e1
31 db 43 89 d8
01 c0 01 c0 90 89 c2
01 d2 cd 80 01 d4 c3
Same value
Same value
Refrain
Rhythmic!
Comparing Style
Copyright by Kunio Miyamoto
Assembly Language Tanka
Comparing Style
Copyright by Kunio Miyamoto
(Traditional) Tanka Assembly Language Tanka
Comparing Style
Copyright by Kunio Miyamoto
(Traditional) Tanka Assembly Language Tanka
Same
Style!
Executable?
Copyright by Kunio Miyamoto
Executable?
Copyright by Kunio Miyamoto
Of Course!
BTW
Copyright by Kunio Miyamoto 26
BTW
Copyright by Kunio Miyamoto 27
BTW
It’s a Joke Copyright by Kunio Miyamoto 28
Same
Style!
5 great assembly language
tankist
• Tankist = Assembly language tanka author
Copyright by Kunio Miyamoto
Copyright by Kunio Miyamoto
In other programming
language tanka? • Shell Script(/bin/sh)
– line1: #!/bin/sh ← 9letters
Copyright by Kunio Miyamoto
In other programming
language tanka? • Shell Script(/bin/sh)
– line1: #!/bin/sh ← 9letters
• C language
– Line1: main() ←6letter
Copyright by Kunio Miyamoto
In other programming
language tanka? • Shell Script(/bin/sh)
– line1: #!/bin/sh ← 9letters
• C language
– Line1: main() ←6letter
Copyright by Kunio Miyamoto
Assembly language tanka is
useful? Yes!
Learning the
• Assembly language programming
• Optimization
• Shellcode programming
etc… Copyright by Kunio Miyamoto
Shellcode?
Copyright by Kunio Miyamoto
68 54 20 41 43
68 46 49 52 53 89 e1
31 db 43 89 d8
01 c0 01 c0 90 89 c2
01 d2 cd 80 01 d4 c3
Shellcode?
Copyright by Kunio Miyamoto
68 54 20 41 43
68 46 49 52 53 89 e1
31 db 43 89 d8
01 c0 01 c0 90 89 c2
01 d2 cd 80 01 d4 c3
No 0x00!
Interesting?
Copyright by Kunio Miyamoto
Interesting?
At first, write!
Copyright by Kunio Miyamoto
Copyright by Kunio Miyamoto
Thank you! If question,
Twitter: @wakatono
Facebook: https://www.facebook.com/wakatono
Search “wakatono” by Google