Lời mở đầu
Phần này sẽ giải thích cách để giải các bài Vault-door được viết dưới dạng .java. Để giải được các bài này chỉ cần có kiến thức cơ bản về java language thì mọi thứ sẽ khá là đơn giản.

#Vault-door-1

NOTETrước đây sẽ có 2 bài nữa là
vault-door-0vàvault-door-2. Nhưng vì một lí do nào đó thì chúng bị xóa đi - có vẻ là do quá dễ để được coi là Reverse Engineering.
Bắt đầu với vault-door-1 thì ta có một đoạn in flag (Thứ mình sẽ bỏ qua) và một đoạn check_password. Ta có thể phân tích từ đây

Nhìn vào thì có lẽ ta đã có flag trong đầu rồi nhưng khá vất vả khi chúng bị xáo trộn chứ không được theo như thứ tự ban đầu.
Bạn có thể chọn viết tay - nhưng bài này mình sẽ chọn viết bằng script python.
Sử dụng list của python để nhằm phục vụ cho việc sắp xếp nhanh hơn. Ta sẽ cho các dòng password theo dạng sau:
- flag[0] = ‘a’
- flag[1] = ‘b’
- …
- flag[32] = ‘c’

Sau khi viết xong nó sẽ có dạng như sau:
flag = [None] * 32
flag[0] = 'd'
flag[29] = '9'
flag[4] = 'r'
flag[2] = '5'
flag[23] = 'r'
flag[3] = 'c'
flag[17] = '4'
flag[1] = '3'
flag[7] = 'b'
flag[10] = '_'
flag[5] = '4'
flag[9] = '3'
flag[11] = 't'
flag[15] = 'c'
flag[8] = 'l'
flag[12] = 'H'
flag[20] = 'c'
flag[14] = '_'
flag[6] = 'm'
flag[24] = '5'
flag[18] = 'r'
flag[13] = '3'
flag[19] = '4'
flag[21] = 'T'
flag[16] = 'H'
flag[27] = '5'
flag[30] = '2'
flag[25] = '_'
flag[22] = '3'
flag[28] = '0'
flag[26] = '7'
flag[31] = 'e';
print("picoCTF{" + ''.join(flag[i] for i in range(32)) + "}")'Vậy là giải quyết được phần sắp xếp và viết tất cả trong một dòng code duy nhất ^_o.
Flag: picoCTF{d35cr4mbl3_tH3_cH4r4cT3r5_75092e}