10年ほど後のBinary Hacks
https://twitter.com/nalsh/status/869086098177146881
を見て、今ならどういうネタが書かれるかなぁとざっくり考えてみます。
perf
@nlashさんに指摘されていた通り、perfは重要だと思うんですが、書かれていたperf_event_openはptraceなんか目じゃないくらい使いこなしがムズいと思うので、素直にperfそのまま使えって感が強い気がします
ptrace
PTRACE_SYSCALL以外はあまり変わってないと思うんですが、PTRACE_SYSCALLはPTRACE_O_TRACESECCOMPでやるとずいぶん速くなるのでオトク
asan/tsan
valgrindのbinary translationでのinstrumentationてのはカッコいいけど、普通に考えるとコンパイラに手を入れる方が常識的ですよね……という
ELF
特に変わりが無い気がする
DWARF
よく知らないけど割と変わってて、-gsplit-dwarfとか-gzあたりは知っててもいい気がします
セキュリティまわり
mitigationは気休めなんで、ちゃんと2レイヤ以上セキュリティ機能使いましょう的な
angrとかqiraとか
CTF/セキュリティ系の人が作ったツールは色々面白そうだけどあまり知らない
glibcのrandomization
そういえば気がついたらプロセス内の関数ポインタ全部ランダマイズされるようになってたけど、たぶんここ10年な気がします
inotify
便利だと思う。特にinotifywaitコマンドが……fanotifyが何が違うかは忘れました
madvise
元々書いてなかった気がするとふと思い出しました
コンテナ
コンテナベースの仮想化とかは色々ありすぎて。cloneのオプションとかすごく増えた気がするけど、今見るとそうでもないか
ARMの命令
スマホの台頭を考えるとARMについてもなんか。thumbとか。
まとめ
なんか結構あるなということと、最近知識がアップデートされてないから知らないだけで面白いことが起きていることがまだまだありそうだなぁということを思いました