# PicoCTF 2023 ## Ready Gladiator 0 Bài này yêu cầu chơi game CoreWar sao cho hoàn toàn thua. Vậy sẽ sửa lại warrior của mình thành như này: ``` ;redcode ;name Imp Ex ;assert 11 mov 0, 10 end ``` ``` picoCTF{h3r0_t0_z3r0_4m1r1gh7_e476d4cf} ``` ## Ready Gladiator 1 Bài này cũng là CoreWar nhưng cần thắng ít nhất 1 game. Đây là warrior của mình: ``` ;redcode ;name Imp Ex ;assert 1 ADD #4, 3 ; execution begins here MOV 2, @2 JMP -2 DAT #0, #0 end ``` ``` picoCTF{1mp_1n_7h3_cr055h41r5_ec57a42e} ``` ## Reverse Đề bài cho 1 file ELF, load vào ida thì thấy flag ![](https://i.imgur.com/8YCwdXM.png) ``` picoCTF{3lf_r3v3r5ing_succe55ful_c83965de} ``` ## Safe Opener 2 Là 1 file java, dùng jadx để decompile, mở file decompile: ![](https://i.imgur.com/OpvXlVR.png) ``` picoCTF{SAf3_0p3n3rr_y0u_solv3d_it_7db9fb8c} ``` ## timer File apk, cũng dùng jadx, vào `com->excample.timer->BuildConfig`: ![](https://i.imgur.com/vvCvAcL.png) ``` picoCTF{t1m3r_r3v3rs3d_succ355fully_17496} ``` ## Virtual Machine 0 Bài này là 1 file `.dae`, dùng Blender, đề bài cho số lần quay của bánh đỏ và tính số lần quay của bánh xanh: ![](https://i.imgur.com/okwd1ng.png) Bánh đỏ có 40 răng, xanh có 8 răng, ở giữa cũng có 8 răng, đỏ quay 1 vòng xanh sẽ quay 5 vòng, đề bài cho đỏ quay `39722847074734820757600524178581224432297292490103995897672826024691504153` nhân 5 đổi sang ascii ta được flag: ``` picoCTF{g34r5_0f_m0r3_05e5104d} ``` ## No way out Bài cho một game được code bằng C#, nhét file `Assembly-CSharp.dll` vào trong dnSpy, tìm hàm `PlayerController`, rồi sửa hàm xử lý jump, bỏ hết điều kiện và cho độ cao khi nhảy lên `30f`: Trước: ![](https://i.imgur.com/n3XSW6n.png) Sau: ![](https://i.imgur.com/66KolD5.png) Vào game và nhảy đến lá cờ thôi: ![](https://i.imgur.com/1jXYM48.jpg) ``` picoCTF{WELCOME_TO_UNITY!!} ```