Rating:

# *CTF 2019 `She [Misc]` writeup

## 問題
![Challenge](Challenge.png)

## 解法
リンク[[1.]](https://drive.google.com/drive/folders/13Fm9iqFPr6TZeSTy8FPkVfrdsvydoXC_?usp=sharing) [[2.]](https://share.weiyun.com/5nE8Nxt)からzipファイルがダウンロードできる.

中身は"RPGツクール"で作られているらしいゲームで,NPCの話をまとめると,「強くなってから左下の鳥さんを倒せ」ということらしい.とりあえず行ってみる.強い.強いのでチートを使うしかない.

[RPGツクールXP セーブデータ改変ツール Professional](https://www.vector.co.jp/soft/win95/game/se494646.html)
というものがあるようなのでインストールして使ってみる.
各パラメータもわかりやすかったので,とりあえず触ってよさそうなステータスをすべてマックスにして異世界転生するも,一切攻撃が通らない.
レベルマックス筋力マックスの攻撃が通らないならスキルしかないなと思って選択すると,レベルMAXなのにスキルが0個だった.筋肉が過ぎる.

### NPCの話をよく読む
ここは序盤の街.NPCも大切なことを教えてくれる.
NPCは単に「強くなれ」ではなく「できるだけ早くレベルを上げろ」と言っていた.暗に「経験値テーブルをいじれ」と言っているのである.

データツリーの`Game_Actor`内に`exp_list`といういかにも経験値テーブルらしいものがあるので,とりあえず数値をすべて1にする.この面倒な作業が本ゲームにおける実質的なレベル上げ作業となる.
(追記: 経験値テーブルの合計以上の経験値を与えた状態でレベルを上げるので問題なかったので,実はこの面倒な作業は必要ない.)

再度異世界転生して修練場で訓練士を1人倒すと,晴れてレベルマックス.スキル枠も6つとなったので再挑戦する.スキルも通らない.

しかし,少しだけ敵の行動に変化があった.
こちらが回復で時間稼ぎをしていると,"pwn"という謎の技を繰り出した後に勝手に毒状態になり,結構なダメージを食らっているのである.それを眺めているとほぼワンパンの攻撃が来てゲームオーバーとなった.

skillリストを見に行くと,先ほどの"pwn"に加えて"misc"というスキル,さらに敵のスキルやcureなどの習得済みのスキルの上位版が登録してある.
勝ち方が分かってきた.

### 硬い敵は毒殺する
子供のころからいろんなRPGで散々学んできたことであるが,
固定ダメージは硬い敵にはとても有効となる.
要は毒状態の敵が死ぬまで耐えきればいい.
硬い敵は総じて火力が低いものであるが,今回の敵は火力も高い.
つまりこちらも相応の耐久力を持つ必要がある.

何度か戦闘を回してみると,耐久のステータス値をMAXにしておけばHPが満タンで死ぬことはなさそうなことが分かった.
そこで,パーティーメンバーに自分自身を複製して1ターンに合計4回分の回復ができるようにする.

あとは読み通りで,待っていれば勝手に鳥は倒れた.

![Imgur](https://i.imgur.com/aSjZorq.png)
`戦闘後の画像`

### ドラキュラと遊ぶ
鳥を倒すと扉があいたので奥に進むと,牢屋らしき場所に入れる.
コウモリの話を聞いてから,3つの大部屋に1体ずついるドラキュラにつかまらないように檻を開けていく.
6つ目を開けたところで画面端に新しい扉が現れた.
そこをくぐって階段を上ると,魔法の鏡と話せる.

![Imgur](https://i.imgur.com/ZOoVCJ1.png)

というわけで戻って確認すると,見つけた順番が"371269",左から順番に"213697"だったので,それぞれMD5で暗号化してフォーマットに入れる.
変換にはオンラインツールの[MD5ハッシュ計算ツール](http://phpspot.net/php/pg%EF%BC%AD%EF%BC%A4%EF%BC%95%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E8%A8%88%E7%AE%97%E3%83%84%E3%83%BC%E3%83%AB.html)を利用した.

結果としては,flagは"213697"をMD5で暗号化して大文字のフォーマットいれたものになる.

<details><summary>flag</summary><div>
*CTF{d6f3fdffbcb462607878af65d059f274}
</div></details>

## 反省
明日役に立たないタイプの好きな問題だが,本当に役に立たなそうなのでなんでwriteupを書いたのかもよくわからない.
この問題で再確認できるのは硬い敵への戦法くらいだろう.

ちなみに"misc"は自分にしか打てず,打つと死ぬ自殺技.
確殺っぽいので,miscを敵に打てるようにできればもっとかっこよかったかもしれない.

楽しい問題だった.

## tool
+ [RPGツクールXP セーブデータ改変ツール Professional](https://www.vector.co.jp/soft/win95/game/se494646.html)
+ [MD5ハッシュ計算ツール](http://phpspot.net/php/pg%EF%BC%AD%EF%BC%A4%EF%BC%95%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E8%A8%88%E7%AE%97%E3%83%84%E3%83%BC%E3%83%AB.html)

Original writeup (https://github.com/wani-hackase/wani-writeup/tree/master/2019/04-xctf/mis-she).