トップ «前の日記(2008-11-11) 最新 次の日記(2008-11-13)» 編集

はじめてのにき

ここの位置付け

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|

ToDo:


2008-11-12

_ 0x457

http://labs.cybozu.co.jp/blog/takesako/2008/11/happy_binary_day.html

x86 でも動かないのであった。

Linux u 2.6.17-6-generic-xen0 #3 SMP Mon Oct 16 06:15:23 UTC 2006 i686 GNU/Linux

ぱっと見た感じ phdr がおかしいなぁ。 32byte から phdr を始めるのは結構難しいと思うんだよな… ていうか kik さんよーやったなーという。

> readelf -l 0x457.html
readelf: Error: Unable to read in 0xadb9 bytes of section headers
readelf: Error: Unable to read in 0x15b7cdb9 bytes of section headers

Elf file type is EXEC (Executable file)
Entry point 0x20002e
There are 1 program headers, starting at offset 32

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x000000 0x00200000 0xadb90001 0x02001 0x4478d01  WE 0xeb9380cd

何がおかしいでしょうか! 知らんがな。

offset+filesiz がページ境界にあってないっていう kik さんの発見に従ってないのがとりあえずまずそう。 あと R が flag に無いのはとりあえずたぶんだめかな。

(00:23)

_ ふーむり

HTMLコメントの中なんだし、 ELFヘッダとプログラムヘッダとコードは広く取っても 良かったんじゃないかなぁという感はあるなぁ… もったいなす。

端末の方もよーわからんのだよな。 バイナリのゴミが残っちゃうのイヤだと思うんだけど、 なんで "\x1bc" とかでクリアしちゃわないのかな。 xterm だと激しくゴミが残るなぁ。

EBCDIC のデコードってどうやるのが手軽かなぁ。

iconv -c --from-code cp037

とかでいいみたいだ。

(00:45)

_ そもそも

端末関係の用語よくわからんなぁ。 xterm の

http://invisible-island.net/xterm/ctlseqs/ctlseqs.txt

を見て ESC c 使えっていうのはなんか違うよなーと思って vt100 ぽいのを見てみる。

http://vt100.net/docs/vt100-ug/chapter3.html#RIS

あった。

(00:56)

_ やった

探してくれる人がいたのであった。

http://www.f13g.com/blog/2008-11-12/

7つはそれですまぁ一部見つけてぐぐればわかる。 w が難しいんじゃないかとか思ってたけど R と b か。 まぁ確かにどっちもわかりにくいやも。

f,i,Y < R,a,b < w とかじゃないかと予想してた気がする。

(22:30)

本日のツッコミ(全5件) [ツッコミを入れる]
_ kik (2014-05-24 01:26)

linux-2.6.14以降で発生する問題であると
2年前の日記に書いてあったので、たぶんそれです。

_ kosaki (2014-05-24 01:26)

話に全くついて行けてないけど、Linuxにバグがあるという話なら直すよ

_ kik (2014-05-24 01:26)

昔の日記を読んでもさっぱり分からないので、もっかい調べたら
http://www.linuxhq.com/kernel/v2.6/11/fs/binfmt_elf.c
この変更で、bssのクリアにエラーチェックが入ったからな気がしてきた。たぶんバグじゃあないです。

_ shinh (2014-05-24 01:26)

> kik さん

落ちるタイミング的にも kik さんが2年前に遭遇した状態と同じみたいです。

あと R はついてなくてもうちでは動いたので R ないとダメじゃないかなーはウソでした。 R か X が片方でもついてりゃいいみたい。

> kosaki さん

バグじゃないと思います。僕らの linux にバグなんてないんだ :-)

_ kosaki (2014-05-24 01:26)

あー、エラーチェック外す系は実質無理w
それがセキュリティホールにならないことを数学的に証明してみせろ。とか無理筋言う人が沸くから

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

2008年
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.shinh(2014-05-24 01:26) 2.kodera(2014-05-24 01:26) 3.kodera(2014-05-24 01:26)
search / home / index

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

shinichiro.hamaji _at_ gmail.com / shinichiro.h