BASIC

ファイル BASIC.8xpti84plus.rom が与えられた。

BASIC.8xp の内容をバイナリエディタで見ると、先頭が **TI83F* となっていた。
「ti83f」でググると、以下のページが見つかった。

Files BASIC.8xp and ti84plus.rom were given.

Viewing the contents of BASIC.8xp with a binary editor, the first part was **TI83F*.
I googled "ti83f" and found this page:

keoni29 / ti83f — Bitbucket

このページから、.8xp ファイルをデコードできる以下のツールへのリンクがあった。

From the page, this tool that can decode .8xp files was linked.

keoni29 / dt8xp — Bitbucket

このツールを用いて BASIC.8xp をデコードすると、以下の結果が得られた。

Decoding BASIC.8xp using this tool resulted in this:

detokenized.txt

この結果から、入力された文字列の各文字を Str2L で指定された位置の文字と比較し、 全部一致したら CORRECT と出力するらしいことが読み取れた。
そこで、比較対象の文字を並べて出力する以下のプログラムを作成した。

From this result, I found that it will compare each characters in the input with characters in Str2 specified by L, and that it will print CORRECT if all characters matched.
Then, I created this program to print characters to compare.

solve.pl

このプログラムの出力より、flagが得られた。

I obtained the flag from this program's output.

BUCKEYE{M4TH-CLA55-W4S-B0R1NG}

BuckeyeCTF 2021