トップ «前の日記(2010-02-23) 最新 次の日記(2010-02-28)» 編集

はじめてのにき

ここの位置付け

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|11|12|
2022|01|

ToDo:


2010-02-24

_ exec-shield (と僕が思っていたもの)をどう破るか

NX bit というのを立ててうんぬんというやつは exec-shield とは微妙に違うらしい…というのはだいぶ前どこかで読んだような気がするけどなんかまぁ知らん。とにかく Windows では DEP というらしい。

でまぁ、結局、スタック書き変えてレジスタも適当にセットして準備がそろった段階で mprotect に ret で飛んでく、っていうのが基本的な話らしい。 return to libc という単語は聞いたことはあったんだけど、 libc に飛んでくっつてもどの関数に飛んでくんだろうどうせたいした引数準備できないだろうし…とか思っていた。 mprotect に飛んでくなら納得だなーと思った。

address randomization なんてのはなんか筋が悪そうだとなんとなく思っていて、いや適当な fix としてはいいと思うんだけど、まぁとりあえず mprotect しなくていいプログラムは、このプログラムは絶対 mprotect 呼びませんよーと宣言すれば mprotect 絶対に呼べないようにするといいんじゃないかなぁとか、あとそこまで行かなくても writable かつ executable な mprotect は禁止ーとかすればそれなりになんとかなるのかなぁとか思ったりした。

(01:27)

_ あとは

VMX って具体的にどういう命令増えたかとか調べるべき。 特に vmcall ってどう受けるのかなーとか。

あと lua の tailcall が jmp じゃない理由。 コード見るとなんか一見だいぶ違うなー

あと lua の closure うんぬんは別になんか そのまんまな気がしたけどたしかに レジスタベースだとスタック保持しとくってわけでもないわけで どんな感じになってるのかなと少し考えるというか読むか

(01:32)

_ あとは

id:firewood さんに Windows での生活についてとかをお聞きする。

なんか Windows についてはとりあえず 疑問をまとめておく必要があるような気がした。

あと Linux 使ってる時も、 不便に感じるところをどう対処したか、 とかメモっていくと Windows で同じことする時どうするか、 みたいな疑問を後で一つ一つサバいていけたりするかなぁ。

あと CUI だとなんかちょっとしたミスで致命的なことが起きたりとか、 細かいオプションとか調べるのがだるいとか、そういう指摘はもっともだと思う。 とりあえず今度 man とか --help の履歴を見てみると面白いかな。

(01:36)

_ man

2008年は813回、2009年は374回。大幅に減ってるな…

2008年によく調べた man

     8 diff
     8 dosemu
     8 getpid
     8 gettimeofday
     8 mprotect
     9 backtrace
     9 ld
     9 signal
    10 memset
    10 objdump
    10 printf
    10 select
    10 write
    19 clock

なんで clock そんなに多いんだ… write とか memset はどうせ引数順、 select とか printf はたしかに調べてそう。

2009年

     5 fgets
     5 memcpy
     5 write
     6 fread
     6 getpriority
     6 mount
     6 setpgid
     7 atoi
     7 printf
     8 memset
    10 connect

うーんなんだろうな。 明らかにゴルフ場でしょうね、というものも多いけど、 うーん connect?

あと info はどっちも当然 gcc が2年で57回で圧勝、2位が sed の 10 回。 あたりまえといえます

(01:47)

_ clock

たぶん man clock で hwclock とかいうのが 出てくるから man 3 clock とやりなおす点と、 あと CLOCKS_PER_SEC を忘れるからだという予想が成立した

(01:50)

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

2010年
2月
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
1.shinh(2014-05-24 02:45) 2.n(2014-05-24 02:45) 3.naoya_t(2014-05-24 02:45)
search / home / index

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

shinichiro.hamaji _at_ gmail.com / shinichiro.h