Binary HacksとprelinkとPythonとわたし
Binary Hacks ―ハッカー秘伝のテクニック100選を読み始めました。
前から気になっていたprelinkについて書かれていましたので、通勤前に試してみました。
prelinkは共有ライブラリをリンクしたプログラムの起動時間を短縮してくれるツールのようです。
書籍ではRubyのスクリプトですが、(それほど難しい処理とかはないですが)Pythonの練習をかねてPythonで書き直してみました。
ダイナミックリンクで10倍くらいは速くなってますね。
% time python prelink-test.py [~/py/prelinktest] 00000.c 00001.c : : 00999.c python prelink-test.py 198.43s user 114.05s system 99% cpu 5:13.84 total % repeat 3 time ./test-dynamic [~/py/prelinktest] ./test-dynamic 11.46s user 0.24s system 99% cpu 11.724 total ./test-dynamic 11.15s user 0.20s system 99% cpu 11.353 total ./test-dynamic 11.14s user 0.22s system 99% cpu 11.389 total % time /usr/sbin/prelink -N ./test-dynamic *.so [~/py/prelinktest] /usr/sbin/prelink -N ./test-dynamic *.so 18.64s user 5.75s system 85% cpu 28.512 total % repeat 3 time ./test-dynamic [~/py/prelinktest] ./test-dynamic 1.26s user 0.22s system 97% cpu 1.514 total ./test-dynamic 0.95s user 0.21s system 99% cpu 1.166 total ./test-dynamic 0.98s user 0.19s system 100% cpu 1.172 total % time ./test-static [~/py/prelinktest] ./test-static 0.00s user 0.00s system 76% cpu 0.005 total % uname -a [~/py/prelinktest] Linux zeus 2.6.20-3.ydl.2 #1 SMP Sun Mar 25 12:14:58 EDT 2007 ppc ppc ppc GNU/Linux % cat /proc/cpuinfo [~/py/prelinktest] processor : 0 cpu : 7410, altivec supported temperature : 1-3 C (uncalibrated) clock : 300.000000MHz revision : 0.2 (pvr 800c 1102) bogomips : 49.79 total bogomips : 49.79 timebase : 24966218 platform : PowerMac machine : PowerBook3,2 motherboard : PowerBook3,2 MacRISC2 MacRISC Power Macintosh detected as : 71 (PowerBook Titanium) pmac flags : 0000001b L2 cache : 1024K unified pmac-generation : NewWorld % [~/py/prelinktest]
### prelink-test.py import os os.system("rm -f *.c *.so") f = open("test.c", "w") f.write('int main() { return 0; }') objs = [] dsos = [] for i in xrange(1000): c_file_name = "%05d.c" % i print c_file_name f = open(c_file_name, "w") f.write("int func%05d() { return 0; }\n" % i) obj_file_name = "%05d.o" % i dso_file_name = "%05d.so" % i os.system("gcc -c %s" % c_file_name) os.system("gcc -fPIC -shared -o %s %s" % (dso_file_name, c_file_name)) objs.append(obj_file_name) dsos.append("./" + dso_file_name) os.system("gcc -o test-static test.c %s" % " ".join(objs)) os.system("gcc -o test-dynamic test.c %s" % " ".join(dsos))
エンジニア本
- 作者: 椎木一夫
- 出版社/メーカー: 日本実業出版社
- 発売日: 2005/10/20
- メディア: 単行本(ソフトカバー)
- 購入: 4人 クリック: 123回
- この商品を含むブログ (11件) を見る
あと「文系<理系」みたいなことも感じてなんかなぁ、と。
私も理系の端くれから言うと理系にがんばってほしいけど、どっちも重要でしょ。
やくに立つところも多くありますが、なんか考えが古い。
追記:
著者自身が大学教授なので、上で私が述べたようなことはちょっと見当違いだったかもしれないです。文面から私がそう思っただけです。
早朝
土曜日にやっとこタイヤ買ったので(ヤマダサイクルセンター)、自転車で動けるようになりました。
さっそく日曜の早朝に須磨方面へ。やっぱいいね、自転車は。
Hyogo cycling 2007.08.05 | Flickr
土曜日大量に本を購入したのですが、感想とかは追々。
今から寝て、起きたら炊飯器で白飯を炊く予定。では。
ルートキット
Designing BSD Rootkits: An Introduction to Kernel Hacking
- 作者: Joseph Kong
- 出版社/メーカー: No Starch Press
- 発売日: 2007/04/19
- メディア: ペーパーバック
- 購入: 1人 クリック: 12回
- この商品を含むブログ (5件) を見る
ルートキットというのは、この書籍を知るまではあまり聞いたことがなかったのですが、クラッカーが使うバックドアツール、スニッファー、キーロガー等のツールセットらしいです。
http://www.exconn.net/Blogs/team02/archive/2005/11/02/4479.aspx
@IT:Windows TIPS -- Tips:クラッキングを手助けする“Rootkit”ツールを検出する
- 作者: Greg Kroah-Hartman,千住治郎
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2007/07/13
- メディア: 単行本(ソフトカバー)
- クリック: 7回
- この商品を含むブログ (11件) を見る
Flickrのデータとんでる?
なんかFlickrの写真が何枚か真っ白だっせ。。。
写真保存サービスとしてこれはどうなん?
かなりショックなんですが。まぁそんな大した写真じゃないけどね。
でも、写真って自分にとってはかなりどの写真も思い出がいろいろあって
何かしら頭の中を駆け抜けるものがあるので、捨ての一枚などないよ、と。
ちょっとだけ文句。一時的なものならいいのですが。。。
野宿大全
- 作者: 村上宣寛,九条飄人
- 出版社/メーカー: 三一書房
- 発売日: 2007/06/15
- メディア: 単行本
- 購入: 2人 クリック: 28回
- この商品を含むブログ (19件) を見る
村上宣寛氏の野宿系新刊。大学の教科書に使えそうな心理系の書籍も多数執筆されていますが、野宿系の書籍が最高によいのです。読者を無視しているかのような無骨な文章。なのに、旅とそれをとりまく道具や方法への愛情がにじみ出ています。
アウトドア道具考―バックパッキングの世界などを経て、すべてノジュカーに捧げる一冊となったのではないでしょうか。
私は大学生の頃にアウトドア道具考―バックパッキングの世界など、村上氏の書籍を読んで瀬戸内、屋久島、種子島などを歩いて旅しました。また、自転車でも北海道、阿蘇、四万十、島根〜鳥取〜大阪横断旅行などなど、多くの地を旅しました。本当に良い経験で、いまでも良い思い出です。この本を通じて、野宿の良さを皆さんにわかってもらいたいものです。
この書籍を読んで、また野宿旅への欲望がふつふつと湧いてきました。