バイナリ生成環境『daisy-tools』のご紹介

バイナリ生成環境
『daisy-tools』のご紹介
2022/06/25
大神 祐真
(@yohgami)
2022/06/25 2
自己紹介
大神 祐真 (@yohgami)
「へにゃぺんて」
という個人サークルで、
PCやレトロゲームハードを
対象にフルスクラッチで
・自作OS
・マシン語での
 ベアメタルプログラミング
等
2022/06/25 3
自己紹介
大神 祐真 (@yohgami)
また、開発手法として
「プログラミング言語によら
ないバイナリ生成」
に関心があり、
「バイナリ生物学」というも
のを行っています。
2022/06/25 4
自己紹介
大神 祐真 (@yohgami)
また、開発手法として
「プログラミング言語によら
ないバイナリ生成」
に関心があり、
「バイナリ生物学」というも
のを行っています。
2022/06/25 5
同人誌を出してます
バイナリ生物学の本 daisy-toolsの本
2022/06/25 大神 祐真(@yohgami) 6
セキュリティ・ネクストキャンプで
講義をすることになりました!
セキュリティ・ネクストキャンプ2022 オンライン プログラム/講義一覧
:IPA 独立行政法人 情報処理推進機構
https://www.ipa.go.jp/jinzai/camp/2022/next2022_program_list.html
2022/06/25 7
バイナリ生物学とは
「バイナリが自ずと進化する」
仕組みを考え・実装する取り組み
2022/06/25 8
●
細胞 – 関数 (機械語命令の列)
●
タンパク質 – 命令
0x56
0x12 0x34 0xab
0x78 0x90 0xcd
0x56
0x12 0x34
実行バイナリの機械語列を
細胞を構成する要素と見なす
バイナリ生物学とは
2022/06/25 9
バイナリ生物学とは
実行バイナリの機械語命令の列を
単細胞生物に対応付けることで、
生物の仕組みでバイナリを
成長・増殖・進化させる
2022/06/25 10
daisy-tools
バイナリ生物学の実装
まだまだ実験レベルだが
ELFバイナリを単細胞生物として
進化させていくことができる
2022/06/25 大神 祐真(@yohgami) 11
デモ
https://github.com/cupnes/daisy-tools
2022/06/25 12
代謝/運動
(実行と評価)
成長
(1命令取得)
増殖
(分裂)
死
(分解)
増殖可能?
寿命?
適応度が
高いほど
取得しやすい
評価して
適応度を設定
ある確率で
突然変異
Yes
No
Yes
No
次の
周期へ
2022/06/25 大神 祐真(@yohgami) 13
さいごに
もし興味があれば気軽にお試しください!
https://github.com/cupnes/daisy-tools
バイナリ生物学やdaisy-toolsの本も
公開・販売中です!
詳しくは作者ウェブサイトをご覧ください
http://yuma.ohgami.jp
2022/06/25 大神 祐真(@yohgami) 14
ご清聴ありがとうございました!
1 of 14

Recommended

バイナリ生物学でデイジーワールド by
バイナリ生物学でデイジーワールドバイナリ生物学でデイジーワールド
バイナリ生物学でデイジーワールドYuma Ohgami
32 views24 slides
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか? by
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?Yuma Ohgami
21 views18 slides
60年代ゲームハードPDP-7のご紹介 by
60年代ゲームハードPDP-7のご紹介60年代ゲームハードPDP-7のご紹介
60年代ゲームハードPDP-7のご紹介Yuma Ohgami
72 views15 slides
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門 by
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門Yuma Ohgami
23 views20 slides
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介 by
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介Yuma Ohgami
25 views6 slides
セガサターンで動く自作シンセサイザーの紹介 by
セガサターンで動く自作シンセサイザーの紹介セガサターンで動く自作シンセサイザーの紹介
セガサターンで動く自作シンセサイザーの紹介Yuma Ohgami
265 views29 slides

More Related Content

More from Yuma Ohgami

エミュレータのコードを読んでわかるセガサターン by
エミュレータのコードを読んでわかるセガサターンエミュレータのコードを読んでわかるセガサターン
エミュレータのコードを読んでわかるセガサターンYuma Ohgami
440 views15 slides
エミュレータのコードを読んでわかる「セガサターン」 by
エミュレータのコードを読んでわかる「セガサターン」エミュレータのコードを読んでわかる「セガサターン」
エミュレータのコードを読んでわかる「セガサターン」Yuma Ohgami
158 views13 slides
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング by
シェルスクリプトでセガサターンマシン語ベアメタルプログラミングシェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミングYuma Ohgami
570 views8 slides
ゲームボーイ向けOSの作り方 by
ゲームボーイ向けOSの作り方ゲームボーイ向けOSの作り方
ゲームボーイ向けOSの作り方Yuma Ohgami
679 views38 slides
メガドラ実機で自作のROMファイルを動かしてみた話 by
メガドラ実機で自作のROMファイルを動かしてみた話メガドラ実機で自作のROMファイルを動かしてみた話
メガドラ実機で自作のROMファイルを動かしてみた話Yuma Ohgami
726 views14 slides
/dev/kvmを直接叩いて自作VM by
/dev/kvmを直接叩いて自作VM/dev/kvmを直接叩いて自作VM
/dev/kvmを直接叩いて自作VMYuma Ohgami
1.1K views14 slides

More from Yuma Ohgami(16)

エミュレータのコードを読んでわかるセガサターン by Yuma Ohgami
エミュレータのコードを読んでわかるセガサターンエミュレータのコードを読んでわかるセガサターン
エミュレータのコードを読んでわかるセガサターン
Yuma Ohgami440 views
エミュレータのコードを読んでわかる「セガサターン」 by Yuma Ohgami
エミュレータのコードを読んでわかる「セガサターン」エミュレータのコードを読んでわかる「セガサターン」
エミュレータのコードを読んでわかる「セガサターン」
Yuma Ohgami158 views
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング by Yuma Ohgami
シェルスクリプトでセガサターンマシン語ベアメタルプログラミングシェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
Yuma Ohgami570 views
ゲームボーイ向けOSの作り方 by Yuma Ohgami
ゲームボーイ向けOSの作り方ゲームボーイ向けOSの作り方
ゲームボーイ向けOSの作り方
Yuma Ohgami679 views
メガドラ実機で自作のROMファイルを動かしてみた話 by Yuma Ohgami
メガドラ実機で自作のROMファイルを動かしてみた話メガドラ実機で自作のROMファイルを動かしてみた話
メガドラ実機で自作のROMファイルを動かしてみた話
Yuma Ohgami726 views
/dev/kvmを直接叩いて自作VM by Yuma Ohgami
/dev/kvmを直接叩いて自作VM/dev/kvmを直接叩いて自作VM
/dev/kvmを直接叩いて自作VM
Yuma Ohgami1.1K views
x86_64向け自作OSの紹介 by Yuma Ohgami
x86_64向け自作OSの紹介x86_64向け自作OSの紹介
x86_64向け自作OSの紹介
Yuma Ohgami1.1K views
CybozuのOSS(WalB)へコミットしてみた/使ってみた by Yuma Ohgami
CybozuのOSS(WalB)へコミットしてみた/使ってみたCybozuのOSS(WalB)へコミットしてみた/使ってみた
CybozuのOSS(WalB)へコミットしてみた/使ってみた
Yuma Ohgami946 views
GPD WINでStretchを動かす by Yuma Ohgami
GPD WINでStretchを動かすGPD WINでStretchを動かす
GPD WINでStretchを動かす
Yuma Ohgami413 views
UEFIで始めるLinux From Scratch by Yuma Ohgami
UEFIで始めるLinux From ScratchUEFIで始めるLinux From Scratch
UEFIで始めるLinux From Scratch
Yuma Ohgami1.3K views
UEFI向け自作OSの紹介 by Yuma Ohgami
UEFI向け自作OSの紹介UEFI向け自作OSの紹介
UEFI向け自作OSの紹介
Yuma Ohgami1.5K views
UEFIベアメタルプログラミング by Yuma Ohgami
UEFIベアメタルプログラミングUEFIベアメタルプログラミング
UEFIベアメタルプログラミング
Yuma Ohgami1.5K views
【シェル芸】コマンド7つで簡易コンテナ by Yuma Ohgami
【シェル芸】コマンド7つで簡易コンテナ【シェル芸】コマンド7つで簡易コンテナ
【シェル芸】コマンド7つで簡易コンテナ
Yuma Ohgami935 views
フルスクラッチ自作OS(OS5)の紹介 by Yuma Ohgami
フルスクラッチ自作OS(OS5)の紹介フルスクラッチ自作OS(OS5)の紹介
フルスクラッチ自作OS(OS5)の紹介
Yuma Ohgami1.1K views
QEMUでARM64bitベアメタルプログラミング by Yuma Ohgami
QEMUでARM64bitベアメタルプログラミングQEMUでARM64bitベアメタルプログラミング
QEMUでARM64bitベアメタルプログラミング
Yuma Ohgami3.8K views
【2000行弱!】x86用自作カーネルの紹介 by Yuma Ohgami
【2000行弱!】x86用自作カーネルの紹介【2000行弱!】x86用自作カーネルの紹介
【2000行弱!】x86用自作カーネルの紹介
Yuma Ohgami8.2K views

Recently uploaded

The Things Stack説明資料 by The Things Industries by
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things IndustriesCRI Japan, Inc.
58 views29 slides
SNMPセキュリティ超入門 by
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門mkoda
355 views15 slides
さくらのひやおろし2023 by
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023法林浩之
96 views58 slides
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
60 views26 slides
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
18 views38 slides
定例会スライド_キャチs 公開用.pdf by
定例会スライド_キャチs 公開用.pdf定例会スライド_キャチs 公開用.pdf
定例会スライド_キャチs 公開用.pdfKeio Robotics Association
111 views64 slides

Recently uploaded(11)

The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.58 views
SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda355 views
さくらのひやおろし2023 by 法林浩之
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023
法林浩之96 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4335 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka88 views

バイナリ生成環境『daisy-tools』のご紹介