c
gdb turns off ASLR « codeblogを見ていてpersonality(2)を使えば良いのか〜と知ったのでめもです。 tl;dr personality(2)でADDR_NO_RANDOMIZEをセットすればoffにできる。 personality(2) aslr以外にも設定可能な項目はいくつか有ります。設定されている内…
libbfdの使い方のめもです。利用してるバージョンはbinutils-devel-2.31.1-13.fc29.x86_64です。 nmもどき アドレスとセクション名、それにdebug情報があればファイル名と行数を表示。連想配列が使いたかったのでヘッダファイルだけで実装されてるuthashとい…
Linuxカーネルのコードを読んでいて?:なんて演算子が使われていて???と思ったのでめも。 gccの拡張機能で3項演算子の拡張としてUsing the GNU Compiler Collection (GCC): Conditionalsなんてのがありました。 以下のようなコードを z = x ? x : y このよ…
c以外は手軽に書けることは間違いないんだけど、ちょっとやってみますかということで。 サーバの処理としてはtcp port 9999で待ち受けて、クライアントからアクセスがあったら"hello, world"を返すだけのもの。 実装方法は完全に同じじゃなくて、例えばcだと…
OpenBSDのlibcにはexplicit_bzero(3)という関数があって、変数を使い終わった後にmemset(3)で0クリアできるようにする関数。 これはコンパイラがmemset()後にその変数が使われないならmemset()自体いらないだろうという最適化によってmemset()自体が消される…
なんていうことを特に調べるつもりはなくて、なんとなくRedisのsrc/を見てたらpqsort.cというのを見つけたのでファイルを開いて見てみたらNetBSD由来のqsortっぽくて、へ~なんて思っていたけどpqsort(3)なんて有ったっけ?なんて思いつつファイルをよく見た…