Szarny.io

There should be one-- and preferably only one --obvious way to do it.

Binary

Base64 Encoder + Decoder をPythonで実装する

はじめに よくマルチメディアデータのエンコーディングに使われており,目にすることが多いBase64.いまいち仕組みがよく分かっていなかったので,イチから実装してみました. 仕組み Base64変換の手順を以下に挙げる。 元データを6ビットずつに分割。(6ビ…

バッファオーバーフローを実験する(deadbeefとeip奪取)

はじめに バッファオーバーフローでdeadbeef 用いるプログラムと実行結果 バッファオーバーフローの実践 バッファオーバーフローでプログラムカウンタ(eip)の奪取 用いるプログラム main関数の先頭アドレスの調査 スタックフレームにpushされたeipの調査 eip…

簡単なプログラムをgdb-pedaで解析する

使用するプログラム gdb-prac.c 実行結果 gdb-pedaで逆アセンブル 下準備 fgetsのcall strcmpのcallとtest命令 ジャンプの後 leaveとretで終了 おわりに CTFのBinary系問題が全然解けないので,基礎を見直すつもりで書きます(;^ω^) (ので,おそらくどこかし…

straceとltraceでトレース

はじめに ltraceの実例 straceの実例 参考書籍 はじめに strace [対象コマンド] 対象コマンドを実行しながら,システムコールを詳細にトレースし出力する. ltrace [対象コマンド] 対象コマンドを実行しながら,ライブラリ関数を詳細にトレースし出力する. …