THCon 2k22 Writeup

この大会は2022/4/17 4:00(JST)~2022/4/18 4:00(JST)に開催されました。
今回もチームで参戦。結果は50点で99チーム中96位でした。
自分で解けた問題をWriteupとして書いておきます。

Nobody's late (intro)

Discordに入り、#-rulesチャネルのルールに:thumbsup:でリアクションすると、たくさんのチャネルが現れる。#-helloチャネルのメッセージにフラグが書いてあった。

THCon22{ono-were-late-:(}

Android discovery (reverse)

Bytecode Viewerでデコンパイルする。

public class MainActivity extends AppCompatActivity {
   TextView TV_score;
   Button button;
   int score = 0;

   private void showAlertDialog() {
      Builder var1 = new Builder(this);
      var1.setTitle("Success!").setMessage("The flag is THCon22{MY_f1rst_@ndr01d_r3v3rs3}");
      var1.create().show();
   }

   private void updateScore() {
      int var1 = this.score + 1;
      this.score = var1;
      this.TV_score.setText(String.valueOf(var1));
      if (this.score > 1000000) {
         this.showAlertDialog();
      }

   }

   // $FF: synthetic method
   public void lambda$onCreate$0$party_thcon_y2022_discovery_MainActivity/* $FF was: lambda$onCreate$0$party-thcon-y2022-discovery-MainActivity*/(View var1) {
      this.updateScore();
   }

   protected void onCreate(Bundle var1) {
      super.onCreate(var1);
      this.setContentView(2131427356);
      this.TV_score = (TextView)this.findViewById(2131230736);
      Button var2 = (Button)this.findViewById(2131230821);
      this.button = var2;
      var2.setOnClickListener(new ExternalSyntheticLambda0(this));
      this.updateScore();
   }
}

メッセージにフラグが含まれていた。

THCon22{MY_f1rst_@ndr01d_r3v3rs3}