---
# System prepended metadata

title: '                **KCSC REV Cra'

---

                      **KCSC REV Crackme Write-up**
1.**Cũng như chall kia thì ban đầu vào web ta sẽ thây được như này**![](https://hackmd.io/_uploads/S1thm-zya.png)
**Tải file crackme.py về đi rồi tính gì tính**
2.**Open file crackme.py lên sẽ thấy một chương trình Py như sau:** 
```
secret_flag = "ardLRyTJNc8{VJE3O8M"

alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz{}_"

def decode_secret(secret):

    rotate_const = 41

    decoded = ""

    for c in secret:
        index = alphabet.find(c)
        original_index = (index + rotate_const) % len(alphabet)
        decoded = decoded + alphabet[original_index]

    print(decoded)


def choose_greatest():

    value_1 = input("What's your first number? ")
    value_2 = input("What's your second number? ")
    if not (value_1.isnumeric() and value_2.isnumeric()):
        print("Invalid input")
    else:
        greatest_value = value_1
        if value_1 > value_2:
            greatest_value = value_1
        elif value_1 < value_2:
            greatest_value = value_2
        print("The number with largest positive magnitude is " + str(greatest_value))
        exit()

choose_greatest()


```

**Sau đó để in ra flag em sẽ chỉnh sửa một chút(có tham khảo một tí của gpt =)) )**
```
**Trước khi thực hiện chỉnh sửa, alphabet được định nghĩa như sau:
alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz{}"
```

Sau đó, chuỗi `secret_flag` được giải mã sử dụng hàm `decode_secret`. Quá trình giải mã này sử dụng một hằng số `rotate_const` là 41 để dịch chuyển các ký tự trong chuỗi `secret_flag`.

Sau khi thực hiện chỉnh sửa, ký tự "_" đã được thêm vào alphabet, và alphabet trở thành:

```
alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz{}_"
```

Kết quả giải mã của chuỗi `secret_flag` sẽ khác sau khi thực hiện chỉnh sửa. Kết quả giải mã được in ra:

```
Decoded flag: FLAG{EASY_ENCRYPTION}
            ---HẾT---