One Bite

Rev
60
465

Whenever I have friends over, I love to brag about things that I can eat in a single bite. Can you give this program a tasty flag that fits the bill?

/problems/2019/one_bite

ダウンロードしたファイルをobjdumpコマンドで逆アセンブルします。
$ objdump -s -D -M intel one_bite >aaa.txt
入力文字列を1文字ずつ0x3cとXORを取っています。その値と文字列比較しています。
  4006fa: 83 f0 3c              xor    eax,0x3c #
(略)
  400723: 48 c7 45 b8 20 08 40 mov    QWORD PTR [rbp-0x48],0x400820 #]_HZGUcHTURWcUQc[SUR[cHSc^YcOU_WA
  40072a: 00 
  40072b: 48 8b 55 b8          mov    rdx,QWORD PTR [rbp-0x48]
  40072f: 48 8d 45 c0          lea    rax,[rbp-0x40]
  400733: 48 89 d6              mov    rsi,rdx
  400736: 48 89 c7              mov    rdi,rax
  400739: e8 52 fe ff ff        call   400590 <strcmp@plt>
Pythonでプログラムを書いて元の文字列を求めます。
s = ']_HZGUcHTURWcUQc[SUR[cHSc^YcOU_WA'
key = 0x3c
flag = ''
for c in s:
flag += chr(ord(c) ^ key)
print(flag)
実行するとフラグになります。
フラグは、
actf{i_think_im_going_to_be_sick}
です。

論理回路講義ノート
工藤 栄亮
コロナ社
2018-08-25