Posted on 2025/02/22, 9:03 PM By admin22
バイナリーハックについて最近あまり縁がありませんでしたが、オライリージャパンの’Binary Hacks Rebooted’をリハビリの意味で購入しました。
その中にあった、Record and Replay デバッグツールrrを試してみました。
結果が入力によって変わるプログラムでも、実行をリプレイしてデバッグできます。
最初、dockerでやろうとしましたが、MacではArm、WSL2ではセキュリティが原因ですぐには動作しなかったので、久しぶりにLinux実機を取り出してテストしました。Windowsの方はできる見込みがたちましたので、せっかくなのでDockerfileを下記に。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
FROM ubuntu:20.04 # 必要なパッケージのインストール RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata && \ apt-get install -y pkg-config && \ apt-get install -y capnproto libcapnp-dev zlib1g-dev libzstd-dev python3 python3-dev python3-pip gdb lldb && \ pip install pexpect && \ apt-get install -y sudo curl g++ cmake make git && \ apt-get clean # rr のインストール RUN git clone https://github.com/rr-debugger/rr.git /opt/rr && \ cd /opt/rr && \ cmake . && \ make && \ make install # perf_event_paranoid の設定 #RUN echo 1 | sudo tee /proc/sys/kernel/perf_event_paranoid # ユーザーの作成と権限設定 #RUN sudo useradd -m debugger && \ # sudo echo "debugger ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers #USER debugger #WORKDIR /home/debugger CMD ["/bin/bash"] |
Categories: 未分類