Trong quá trình V.Hoá game đặc biệt là game Trung Quốc,hình ảnh trong game thường không trực tiếp ở dạng png mà bị nén mã hóa dưới định dạng khác như pak,dat,bin,res,sn hay không đuôi gây cản trở việc V.Hoá 100% cho sản phẩm.
Mình sẽ hướng dẫn anh em giải đoán 1 ảnh bị mã hóa như sau.
Công cụ cần có là Hex Editor hoặc Class Editor hoặc PM đọc mã Hex.
Tiến hành:
Phân tích 1 hình ảnh bị mã hóa thường là PNG.
Cấu trúc của tập tin PNG và công cụ w3 để đọc nó.có thể tham khảo tại
đây1 tập tin PNG gồm các phần sau:
PNG - khởi đầu của các tập tin, IEND cuối của tập tin, IHDR - tập tin tiêu đề, IDAT - dữ liệu và PLTE, tRNS, sRGB,
Vd với tập tin PAK
Hình ảnh sau đây cho thấy PAK lưu trữ, làm nổi bật các nhân vật của một trong những hình ảnh:
Bây giờ, nói ngắn gọn về cấu trúc của các tập tin PNG:
1) Bắt đầu một tập tin PNG, hãy chắc chắn đến 8 byte yêu cầu là: 89 50 4E 47 0D 0A 1A 0A
2) Tiếp theo là phần đầu của tập tin, IHDR, quy định kích thước hình ảnh
3) Tiếp theo, các dữ liệu có thể đi trực tiếp IDAT (hình ảnh)
4) Vào cuối của tập tin được chỉ định IEND (IEND ® B `,), trong byte hex: 49 45 4E 44 AE 42 60 82
Và ở đây có một thời gian khi bạn cần phải nói về việc làm thế nào các nhà phát triển mã hóa hình ảnh.
1) Cách đơn giản nhất chỉ cần đổi tên phần mở rộng thêm *.Png với bất kỳ tập tin khác.
2) Hình ảnh là một kho lưu trữ PAK. Đôi khi trong cùng một kho lưu trữ là một tập tin chỉ mục.
Cắt dán byte đầu và cuối của PAK để được PNG.lưu giữ byte đó lại và tiến hành giải đoán PNG làm ngược lại để có PAK.
Vẽ lại hình ảnh đóng gói trong PAK (nếu có yêu cầu, và kích thước của hình ảnh phải nhỏ hơn hoặc bằng với bản gốc, nếu ít hơn - gắn thêm byte null vào cuối của hình ảnh).
3) kích thước (4 byte) được giao nhiệm vụ đầu trang của ảnh (trong các trò chơi của CWA)
4) Những hình ảnh được đảo ngược, nghĩa là đầu tiên đến, `B ® DNEI ... GNP ‰ (các trò chơi GoF2, FishLabs)
5) Hủy bỏ các hàng từ PNG hình ảnh, IHDR và IEND (kể từ khi họ không thay đổi) và thêm vào các mã trong sự hình thành hình ảnh.
6) xor hoạt động có sẵn (thường là xor FF)
7) Trong hình ảnh của "hỗn hợp vào thùng rác", ví dụ, mỗi 20 ký tự thực hiện một xor hoặc trừ.
8) trừ từ mỗi nhân vật nào khác.
Để giải mã hình ảnh bằng văn bản của decryptor (cần phải biết ngôn ngữ lập trình) để đẩy nhanh quá trình.
Chúc anh em thành công!
By coolboy9x6
Nguồn: MFV