Challenge: CrackOs (Reversing)
Đầu tiên, tôi sẽ tiến hành kiểm tra sơ về file crackos.exe:

Tiếp theo tôi sẽ dùng IDA để tiến hành phân tích file này và chúng ta sẽ xem nó ở hàm main và tiến hành tìm các ký tự ở strings windows

Trong chall này tôi sẽ đưa ra ý tưởng từ strings windows đó là đi tìm serial key, có 2 hướng để tìm: 1 bạn hãy xem toàn bộ trên Graph Overview và hãy để ý thật kỹ các hàm cmp xuất các ký tự hoặc dễ hơn là decomplie trên ida, ở đây tôi sẽ dùng cách 2 nhé 🙂
Tiến hành Decomplie ở hàm main.


Tôi sẽ bắt đầu bằng việc tìm độ dài của flag:
if ( strlen(&Dst) <= 0x18 )
salida();
Điều đó cho thấy độ dài ký tự phải trên 24 nếu không nó sẽ báo lỗi và thoát chương trình :(, sau đó tôi sẽ tiếp tục tìm ký tự đầu và ký tự cuối thông qua các biến, bạn hãy quan sát hàm dưới đây:
if ( Dst != v25 )
salida();
Nó có liên quan tới hàm kiểm tra strlen trên, như vậy tôi có thể biết được ký tự đầu tiên bắt đầu bằng giá trị ở biến v25 , tiếp tục kiểm tra xem giá trị của nó là bao nhiêu:
if ( v25 != v36 )
salida();
if ( v36 != 78 )
salida();
Như vậy chúng ta biết được ký tự đầu có giá trị là 78, chuyển sang ký tự nó là ‘N’, đến đây bạn có thể tiếp tục tìm hết từ đoạn Dst –> v39 và biết được chính xác độ dài ký tự bằng 25. Chuyển hết sang dạng ký tự ta sẽ tìm được serial key, ở đây tôi viết code để chuyển từ Dec sang text luôn 🙂
Các bạn có thể tải file ở đây: https://drive.google.com/file/d/1bhV9GhDkxYxf2BpZBQCAS_4Tb4K96iXt/view

- OK !!!, tôi đã tìm ra được serial key: Nzey7-drFLN-ctfgH5-puNF6Y
Cho chạy trên cmd, ta sẽ tìm thấy flag 🙂

Như vậy kết thúc việc giải chall crackos ở đây, nếu có thắc mắc hãy liên hệ mình qua Facebook: https://www.facebook.com/Th3Sea001, thanks for watching