Đã bao giờ bạn tự hỏi tại sao không thể search được các chỉ số trong game TearRing Saga bằng các phần mềm hack game như Art Money hay Cheat Engine, hay tại sao chỉ số như thế này lại ra mã hex như vậy, ...Trong bài viết này mình sẽ giải thích lý do không thể search các giá trị trong game bằng cách thông thường được. Hầu hết các game hiện nay các chỉ số đều được cấu trúc theo đơn vị nhỏ nhất là 1 byte do đó ta có thể dể dàng seach các giá trị chỉ số bằng các phần mềm hack game. Nhưng đối với game TearRing Saga và các game ngày xưa thì các chỉ số được cấu trúc theo đơn vị bit (8 bit = 1 byte) nên ta không thể search các chỉ số theo đơn vị tính bằng byte được. Để search được thì phải chuyển sang kiểu dữ liệu là binary nhưng trong game này thì cũng chỉ search được các chỉ số EXP, HP bằng binary, các chỉ số khác là kiểu dữ liệu liên kết nên ta phải tính toán trước rồi mới search bằng binary được. Bảng 1: Cấu trúc chỉ số Class Chỉ số Class bao gồm 56 bit (7 byte) được xếp theo cấu trúc Bảng 1. Trong đó Unused ta không sử dụng (=0), Action (0 = Đi bộ, 1 = Đi ngựa, 2 = Bay). Các chỉ số STR, SKL, AGI, DEF, MAG, WLV là các chỉ số max, phải trừ 15 để ra chỉ số gốc của Class. Chỉ số gốc có size là n bit thì max sẽ là 2^n -1 (VD: 5 bit thì max là 2^5-1 = 31, 6 bit thì max là 2^6 -1 = 63,...). Bảng 1 là chỉ số của Class Dragon Lord. Sau khi có chỉ số max cùa Class, ta tính toán để được chỉ số gốc. Biến đổi chỉ số gốc về Binary theo cấu trúc trên bảng rồi xếp theo thứ tự, ta sẽ có được 1 dãy Binary 56 bit. Tách thành 7 nhóm mỗi nhóm 8 bit (1 byte) theo thứ tự rồi chuyển từ Binary về Hex là ta được mã Hex của chỉ số. Do game sử dụng kiểu Little Endian nên ta đảo ngược thứ tự mã Hex lại. Kết quả cuối cùng là đoạn Hex code của class Dragon Lord. Nếu ai đã sử dụng TRS Modify để chỉnh game thì sẽ thấy đoạn code này rất quen. Từ cấu trúc này, ta có thể chuyển đổi từ chỉ số sang Hex code hoặc ngược lại rất dể dàng bằng các hàm của Excel . Bảng 2: Cấu trúc chỉ số Character Bảng 3: Cấu trúc Growth Rate Nếu đã biết cách phân tích Bảng 1 thì Bảng 2 với Bảng 3 cách làm cũng tương tự. Nhưng hiểu cấu trúc này để làm gì? Mình sẽ phân tích tiếp ở các bài sau. P/S: Mình viết dựa trên những gì mình biết từ việc tự mày mò đọc dữ liệu game. Mình không phải dân IT nhưng vì đây là game mình thích nên cũng ráng đú theo, tới đâu thì tới. Game này vẫn còn nhiều cái chưa khám phá hết, việc moi được dữ liệu từ game là một niềm vui khó tả , nhưng hiện tại thì kiến thức của mình vẫn còn hạn chế nên chưa thể đi xa được. Mấy bác đi trước có bí kíp gì hay hay thì chia sẽ cho mình với nhé.
Bảng 4: Cấu trúc Skill Bảng 5: Cấu trúc Character Info Bảng 6: Cấu trúc Wepon+Item Phần sau mình sẽ hướng dẫn search = Cheat Engine nhé
Đã bao giờ bạn tự hỏi tại sao không thể search được các chỉ số trong game TearRing Saga bằng các phần mềm hack game như Art Money hay Cheat Engine, hay tại sao chỉ số như thế này lại ra mã hex như vậy, ...Trong bài viết này mình sẽ giải thích lý do không thể search các giá trị trong game bằng cách thông thường được. Hầu hết các game hiện nay các chỉ số đều được cấu trúc theo đơn vị nhỏ nhất là 1 byte do đó ta có thể dể dàng seach các giá trị chỉ số bằng các phần mềm hack game. Nhưng đối với game TearRing Saga và các game ngày xưa thì các chỉ số được cấu trúc theo đơn vị bit (8 bit = 1 byte) nên ta không thể search các chỉ số theo đơn vị tính bằng byte được. Để search được thì phải chuyển sang kiểu dữ liệu là binary nhưng trong game này thì cũng chỉ search được các chỉ số EXP, HP bằng binary, các chỉ số khác là kiểu dữ liệu liên kết nên ta phải tính toán trước rồi mới search bằng binary được. Bảng 1: Cấu trúc chỉ số Class Chỉ số Class bao gồm 56 bit (7 byte) được xếp theo cấu trúc Bảng 1. Trong đó Unused ta không sử dụng (=0), Action (0 = Đi bộ, 1 = Đi ngựa, 2 = Bay). Các chỉ số STR, SKL, AGI, DEF, MAG, WLV là các chỉ số max, phải trừ 15 để ra chỉ số gốc của Class. Chỉ số gốc có size là n bit thì max sẽ là 2^n -1 (VD: 5 bit thì max là 2^5-1 = 31, 6 bit thì max là 2^6 -1 = 63,...). Bảng 1 là chỉ số của Class Dragon Lord. Sau khi có chỉ số max cùa Class, ta tính toán để được chỉ số gốc. Biến đổi chỉ số gốc về Binary theo cấu trúc trên bảng rồi xếp theo thứ tự, ta sẽ có được 1 dãy Binary 56 bit. Tách thành 7 nhóm mỗi nhóm 8 bit (1 byte) theo thứ tự rồi chuyển từ Binary về Hex là ta được mã Hex của chỉ số. Do game sử dụng kiểu Little Endian nên ta đảo ngược thứ tự mã Hex lại. Kết quả cuối cùng là đoạn Hex code của class Dragon Lord. Nếu ai đã sử dụng TRS Modify để chỉnh game thì sẽ thấy đoạn code này rất quen. Từ cấu trúc này, ta có thể chuyển đổi từ chỉ số sang Hex code hoặc ngược lại rất dể dàng bằng các hàm của Excel . Bảng 2: Cấu trúc chỉ số Character Bảng 3: Cấu trúc Growth Rate Nếu đã biết cách phân tích Bảng 1 thì Bảng 2 với Bảng 3 cách làm cũng tương tự. Bảng 4: Cấu trúc Skill Bảng 5: Cấu trúc Character Info Bảng 6: Cấu trúc Wepon+Item Để đây cho dễ nhớ cứ không không nhớ nổi (=^o^=)