Bài này là một dạng pack tay.
Đầu tiên chúng ta mở file 4k.exe để test thử. Một vài machine sẽ báo lỗi d3d9_43. Giải quyết vấn đề này đơn giản bằng cách download bản DirectX >= 9 là xong.
Tiếp, sau khi open file ta sẽ thấy

App này chỉ dừng khi chúng ta ấn ESC. Không nhập vào gì cả. Vậy là chúng ta sẽ phải tìm hiểu cách nó output.
Ở đây mình sẽ dùng x64dbg để dynamic analys nó.
Note: Ấn vào tab symbol để download tất cả symbol khiến cho việc debug dễ hơn.

Chúng ta thấy một entrypoint ở đây, nhưng hầu như ko có ich gì cả. Ta sẽ tìm lệnh ret đầu tiên để lấy vị trí entry thật.

Ta thấy:

Hình ảnh trên app được tạo ra bởi các meshes và tọa độ của chúng.
Và lặp lại liên tự cho đến khi chúng ta ấn ESC

Chúng ta có 2 cách xử lý ở đây.
- Xử lý meshes – xử lý trong setup_meshes

Rõ ràng ở đây t thấy tận 2 hàm create_meshes, vậy nên 1 hàm là create flare-on logo, 1 còn lại là gì đó(khả năng là flag).
Trace sâu vào create_meshes

Ta thấy function

Nó sẽ tạo ra các meshes với thông số tương ứng, mềm dẻo (hai tham số đầu tiên sẽ quyết định kích thước)
Ta sẽ trace từng lần chương trình gọi đến func này
Lần đầu tiên ta thấy 2 tham số đầu

Lần 2:

Ta thấy kích thước lần 2 khác hoàn toàn lần 1. Vì vậy ta sẽ thấy rằng thông tin của 2 lần gọi này khác nhau. Ta sẽ cố gắng để thằng khác biệt được hiện lên.
Ta sẽ xem giá trị trả về của func này, chúng trả về hai giá trị khác nhau. và được save vào vị trí khác nhau
Ta sẽ swap 2 vị trí này

Address 430050 và ds 430054

Chúng ta có

Xong cách 1.
- Xử lý tọa độ In ra screen
Ta trace sâu và trong func draw_frame ở 0042038A để tìm cách lấy tọa độ in ra

Ta thấy hàm ở trên

Điều vô lý ở đây là tham số z của nó bằng số rất lớn. Điều này suy ra nó đang bị bay ra ngoài màn hình. Ta sẽ fix lại tham số bằng 0 xem sao. Ta được:

Flag: moar_pouetry@flare-on.com
