トップ «前の日記(2006-11-12) 最新 次の日記(2006-11-14)» 編集

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|

ToDo:


2006-11-13

_ これって

http://d.hatena.ne.jp/w_o/20061112#p3

なんか相当に恣意的な例なような。 これ restricted つけようが何しようが 本質的にコンパイラが何しても最適化不能… じゃないのかな。

(01:36)

_ そう

なぜなら絶対に副作用があるから。

もっとキワどい例ないのかな。 malloc の方は例としてわかりやすいんだけど。

つまり、 本質的に消せるのにコンパイラには消せない ムダなコードの方が適切なんじゃないかなぁみたいな

(01:45)

_ とりあえず

プレゼンツール作りはじめたりするわけですが

(02:21)

_ 突然

http://d.hatena.ne.jp/yupo5656/20040601/p2

アホなこと思いついた。

(02:42)

_ 日程を考える会

  • 月。東大で講義。可能なら消磁
  • 火。市民講座なんて行くわけない。できてなかったら東大で消磁
  • 水。センセと会話(16:00)→アキバ。

つーわけで ukai さんと wo さんのオマケで喋ることになりました。 内容は ELF Golf のはずですが プレゼンツール作ってる有様では 何が起きるかどきどき。

  • 会話を木曜にできないのか

(03:01)

_ hello.asm

116B の綺麗なコード

BITS 32
        org     0x00000000
        db      0x7F, "ELF"     ; e_ident
        db      1,1,1,0
        dd      0,0
        dw      2               ; e_type
        dw      3               ; e_machine
        dd      1               ; e_version
        dd      _start          ; e_entry
        dd      phdr - $$       ; e_phoff
        dd      0               ; e_shoff
        dd      0               ; e_flags
        dw      52              ; e_ehsize
        dw      32              ; e_phentsize
        dw      1               ; e_phnum
        dw      0               ; e_shentsize
        dw      0               ; e_shnum
        dw      0               ; e_shstrndx
phdr:   dd      1               ; p_type
        dd      0               ; p_offset
        dd      $$              ; p_vaddr
        dd      0               ; p_paddr
        dd      filesize        ; p_filesz
        dd      filesize        ; p_memsz
        dd      7               ; p_flags
        dd      0               ; p_align
hello:  db      "Hello world!", 10
_start:
        lea     EAX, [EDI+4]    ; write = 4
        inc     EBX             ; stdout = 1
        mov     ECX, hello
        lea     EDX, [EDI+13]   ; strlen = 13
        int     0x80
        xchg    EAX, EBX        ; exit = 1
        xor     EBX, EBX        ; exit(0)
        int     0x80
filesize equ    $ - $$

(07:34)

_ 111B

BITS 32
        org     0x00000000
        db      0x7F, "ELF"     ; e_ident
        db      1,1,1,0
        dd      0,0
        dw      2               ; e_type
        dw      3               ; e_machine
        dd      1               ; e_version
        dd      _start          ; e_entry
        dd      phdr - $$       ; e_phoff
        dd      0               ; e_shoff
        dd      0               ; e_flags
        dw      52              ; e_ehsize
        dw      32              ; e_phentsize
        dw      1               ; e_phnum
        dw      0               ; e_shentsize
        dw      0               ; e_shnum
        dw      0               ; e_shstrndx
phdr:   dd      1               ; p_type
        dd      0               ; p_offset
        dd      $$              ; p_vaddr
        dd      0               ; p_paddr
        dd      filesize        ; p_filesz
        dd      filesize        ; p_memsz
        dd      7               ; p_flags
        dd      0               ; p_align
hello:  db      "Hello world!", 10
_start:
        mov     AL, 4           ; write = 4
        inc     EBX             ; stdout = 1
        mov     CL, hello
        mov     DL, 13          ; strlen = 13
        int     0x80
        xchg    EAX, EBX        ; exit = 1
        xor     EBX, EBX        ; exit(0)
        int     0x80
filesize equ    $ - $$

58B を解読してて、 16bit レジスタへの命令を忘れてた マヌケさというか x86 への愛の足りなさに ほげほげとか思いつつ

(09:12)

_ apt-get ゲーム化

apt-get というツールがあって、

apt-get install パッケージ名

でインストールするわけだけど、 このパッケージ名にカンで名前を入れて あってるとすごく嬉しい。

だからどうしたと

(19:22)

_ とりあえずスライド作った

i@u ~/wrk/binhacks> grep '!-' fsij.txt | wc
     57      57     171

これ15分で終わるの…!

(20:01)

_ 面白そう

http://www.tnlab.ice.uec.ac.jp/daihinmin/

大貧民ってどんなゲームだったか イマイチ覚えてないのが問題だ

(20:54)

_ ちがいます

e_ident は \x7f ELFHello world\n と初期化するようになってます。

うそです。本場はコードを埋めるようです…

(21:33)

_ PKU

2800 と 2403 通した。

メモリンク

http://acm.pku.edu.cn/JudgeOnline/status?result=0&user_id=shinh

http://acm.pku.edu.cn/JudgeOnline/status?result=0&user_id=tyos

差分楽に取れねえかなぁ。

(23:48)

_ PKU1298

AC

(23:58)

本日のツッコミ(全3件) [ツッコミを入れる]
_ RoowElimi (2014-05-24 02:34)

<a href=http://www.atomic.yoyo.pl/czity-do-cs/cheaty-do-cs.html>czity do cs</a>
<a href=http://www.atomic.yoyo.pl/czity-do-cs/cheaty-do-cs.html>Czity do counter strike</a> pomagajnam gralepiej we wspaniaウケ grjakケ jest cs 1.6. Czy jednak granie na kodach w counter strike jest legalne i fajne? Tak, jeソeli gramy na serwerze nie zabezpieczonym przez VAC nic nam nie grozi

_ Obsembelf (2014-05-24 02:34)

Zapewniamy szybki, profesjonalny i niezawodny serwis.
<a href=http://hpplotery.com.pl/>Plotery</a> tylko u nas, po niskich cenach.
Ploter (ang. plotter) komputerowe urzadzenie peryferyjne, sluzace do produkcji z duzymi plaskimi powierzchniami, mogace nanosic obrazy, wycinac wzory, grawerowac itp. Ploterow uソywajケ glownie graficy komputerowi, poligrafowie i architekci.

Wyroznia sie nastepujace rodzaje ploterow:
ze wzgledu na prowadzenie papieru
ploter plaski
ploter bebnowy
ze wzgledu na zastosowanie
nanoszace obraz
ploter atramentowy
ploter solwentowy
ploter kreslacy
ploter laserowy
ploter grawerujacy
ploter tnacy
ploter laserowy
ploter grawerujacy
ploter tnacy

_ TelmNelifAime (2014-05-24 02:34)

Zapewniamy szybki, profesjonalny i niezawodny serwis.
<a href=http://hpplotery.com.pl/>Tanie plottery hp</a> tylko u nas, po niskich cenach.
Ploter (ang. plotter) komputerowe urzadzenie peryferyjne, sluzace do produkcji z duzymi obszernymi powierzchniami, mogace nanosic obrazy, wycinac wzory, grawerowac itp. Ploterow uソywajケ glownie graficy komputerowi, poligrafowie i architekci.

Wyroznia sie nastepujace rodzaje ploterow:
ze wzgledu na prowadzenie papieru
ploter plaski
ploter bebnowy
ze wzgledu na zastosowanie
nanoszace obraz
ploter atramentowy
ploter solwentowy
ploter kreslacy
ploter laserowy
ploter grawerujacy
ploter tnacy
ploter laserowy
ploter grawerujacy
ploter tnacy

お名前:
E-mail:
コメント:
人生、宇宙、すべての答え
本日のリンク元

2006年
11月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
1.Gus(2014-05-24 02:34) 2.shinh(2014-05-24 02:34) 3.kosaki(2014-05-24 02:34)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h