ChatGPTが流行ってるのでradare2でも使えるようにした

そこそこ便利だし、Copilotみたいな感じでバイナリ読む時もアシスタントしてくれると良いかもなって思ったのでやってみた。

r2gpt

ChatGPTの流行には思うところがあるが、まぁ便利に使える部分は使っておこうという気持ちと、新卒研修で溜まったパソカタ欲を少しでも発散したかった気持ちでアニメを見ながら書いた。

APIは使いやすく、適当にやってたらこんな感じで生えた。あとはなんかいい感じに†プロンプトエンジニアリング†していこうかなという気持ちもある。

現状ではr2ghidrでデコンパイルしてから関数の挙動を聞いているので、まぁまぁの精度。2021年のctf4bで出したonly_readとかはシュッと解けたりもする。

[0x000010a0]> .(askGPT main)
This function first declares several variables and initializes them to 0 or NULL. It then reads in 23 bytes of input and checks if the input matches a specific string: "ctf4b{c05t4nt_f0ld1ng}". If the input matches, the function outputs "Correct". If it does not match, the function outputs "Incorrect".

The function also contains a stack canary check to prevent stack overflow attacks.

流行っているものに手を出さなくなったらマズいのではという焦りで適当に触ったが、面白いかもしれない。