2017-01-01から1年間の記事一覧

Heap入門/mallocとfreeの構造,処理,仕組み

Heapとは Heap入門 mallocとは malloc free 処理 仕組み 構造 exploit

英語の技術文献を読んでいて遭遇した難しい英単語/英熟語備忘録

What’s this? 私が英語の技術文献を読んでいる時に遭遇した、その場で意味がわからずに調べた英単語/英熟語の意味をメモしていくページです。 個人的にわからなかったものをまとめていくので、簡単なものも多く含まれていると思われますが、ご了承ください。…

vimrc 紹介

vim

radare2 コマンド一覧

CTF

#実行 r2 -d a.out r2 -d a.out 100 hoge fugafuga #解析 aaa #進数変換/計算 ? [expr] #関数列挙 afl #imports iiq #Exports iEq #symbols isq #sections iSq #reloc irq #strings izq #xref ax [addr] (このアドレスを指すポインタ検索) axt [addr] (addr…

C言語のリファレンスの読み方

C言語は、ポインタ周りを深く理解していないと、リファレンスを読むことすらできません。 今回は、その解説を行っていきたいと思います。 問題のページは、こちら。 この中から int execvp(const char *file, char *const argv[]); について解説して行きたい…

メモリについて

メモリについてのメモ。 メモリは1番地ごとに1byteの空間をもっている。 0x12345678 -> 0xaa 0x12345679 -> 0xaa 0x1234567a -> 0xaa 0x1234567b -> 0xaa 4byte単位で区切った際のひとつひとつを「1語」「1ワード」と言ったりする。 0x12345678 -> 0xaabbccd…

pwn,rop,/bin/sh,shell(),ファイルディスクリプタについて

CTF

・サーバ側でshellを開くbuf += '/bin/sh\x00' ・サーバ側のshellをこちらで開くbuf += '/bin/sh <&4 >&4 2>&4;'shell()

動的リンク、遅延バインドについて

遅延バインドについて@plt一行目 : jmp (.got.pltを参照するアドレス)@plt二行目 : push (.rel.pltの中の書き換えが必要な行数)@plt三行目 : jmp (.pltセクションの先頭).pltセクション一行目 : push (動的リンクの際に必要なパラメータ).pltセクション二行…

ELFのセクションについて

たぶんこんな感じなんだと思う。たぶん。 ELFヘッダ : MagicNumber, bit, エンディアン, CPU, 後続のヘッダへのポインタ プログラムヘッダ : ローダのための情報。つまりセグメントの情報と動的リンク関係が格納。.interp : インタープリタのファイルパスが…