Skip to content

n33r9/MSEC_CTF_2022

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MSEC_CTF_2022

RE warm up

Đề bài cho file CTF.exe, thực hiện một vài thao tác kiểm tra đơn giản -> file PE64

Thử chạy file, nhập string bất kỳ và nhận được "Try more!"

Load file vào IDA64, chương trình yêu cầu người dùng nhập input, sau đó đưa input qua 1 vòng lặp, tiến hành biến đổi và cuối cùng so sánh với chuỗi ký tự: "mkO5kb_sc_Dr4D_iYe?"

Đọc đoạn mã hóa lúc đầu, mình đã cảm thấy có gì đó rất giống mã hóa caesar với key =10, nhưng mà không hiểu sao không thử check luôn mà vẫn ngồi code:v. Code xong thì flag ra không có ý nghĩa lắm (Do mình không để ý check điều kiện số âm với unsigned_int8). Tuy nhiên, các ký tự đầu của flag lại ra gần giống caesar, lúc này mình mới dùng tool decode online

Flag: MSEC{caE5ar_is_Th4T_yOu?}

Dưới đây là code sau khi đã sửa:

import string
flag = ''
str_cmp = 'mkO5kb_sc_Dr4D_iYe?'
for ele in str_cmp:
    for i in string.printable:
        if (ord(i)-97) & 0xff > 25:
            if (ord(i)-65) & 0xff > 25:
                v8 = ord(i)
            else:
                v8 = ord(i)-16
                if(ord(i)+10) & 0xff <= 90:
                    v8 = ord(i)+10
        else:
            v8 = ord(i)-16
            if (ord(i)+10) & 0xff <= 122:
                v8 = ord(i)+10
        if chr(v8)==ele:
            flag+= i
            break
print(flag)
# caE5ar_is_Th4T_yOu?

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published