The Count

TCPサーバの接続情報が与えられた。
Tera Termで接続してみると、以下の出力がされた。

Information to connect to a TCP server was given.
Connecting via Tera Term, this output was produced:

DEADFACE gatekeeper: Let us see how good your programming skills are. If a = 1, b = 2, c = 3, etc.. Tell me what the sum of this word is: You have 5 seconds to give me an answer. Your word is: save

制限時間が短く、手動では難しそうなので、プログラムを書くことにした。
aからzまでのアルファベットがそれぞれ順に1から26までの数値に対応すると仮定した上で、 「Your word」に使われている文字に対応する数値の合計を送信するプログラムを書き、実行したが、 以下がランダムに数行出力されて接続が切れるばかりだった。

The time limit looked too short to do it manually, so I decided to write some program.
I assumed that the alphabets from a to z correspond to numbers from 1 to 26, respectively, and wrote a program to calculate the sum of numbers corresponding to each characters in "Your word".
However, executing that just resulted in a few random lines from these being printed, and then being disconnected.

1から26の数値に対応するのではなく1から3を繰り返すと仮定したり、 数値の足し算ではなく文字列の結合をしたりを試してみたが、結果は同様であった。

しばらくすると、サーバの最初の出力が以下のように変わった。

I tried repeating numbers from 1 to 3 instead of using numbers from 1 to 26. I also tried to use string concatenation instead of adding numbers.
Unfortunately they didn't change the result.

After a while, what the server firstly prints changed to things like this:

DEADFACE gatekeeper: Let us see how good your programming skills are. If a = 0, b = 1, c = 2, etc.. Tell me what the sum of this word is: You have 5 seconds to give me an answer. Your word is: cakes

aからzのアルファベットがそれぞれ順に0から25の数値に対応すると仮定するように修正した以下のプログラムを実行すると、flagが得られた。

Assuming that the alphabets from a to z correspond to numbers from 0 to 25, I modified my program and executed that.
As a result, I obtained the flag. This is the program:

solve.pl

flag{d1c037808d23acd0dc0e3b897f344571ddce4b294e742b434888b3d9f69d9944}

DEADFACE CTF