I. Giới thiệu
ArtMoney là phần mềm dùng để thay đổi các giá trị trong 1 chương trình bất kì nào đó. Thường thì ArtMoney được sử dụng rộng rãi trong thế giới games offline. Ví dụ như game phép thuật thì thay đổi money, level, exp, mana... Game chiến tranh thì thay đổi số lượng súng đạn, số lượng thuốc trị thương, v.v..
- Nguyên tắc làm việc của ArtMoney: Thay đổi giá trị của bộ nhớ máy tính, từ đó dẫn đến thay đổi giá trị trong game.
- Yêu cầu về giá trị trong trò chơi: Giá trị cần dò phải luôn thay đổi theo sự điều khiển của người chơi. Ví dụ trong game chiến tranh, bạn có cây AKSU-150 viên đạn. Bạn bắn 1 phát, còn lại 149 viên, bắn phát nữa, còn lại 148 viên .v.v... như vậy, số viên đạn là luôn thay đổi theo sự điều khiển của người chơi.
II. Tải ArtMoney, cài đặt và plugins tiếng Việt
Bạn download ArtMoney tại
http://www.artmoney.ru/ (bản mới là ArtMoney SE Version 7.22) và tiến hành cài đặt bình thường như cài đặt bao chương trình khác.
Sau khi cài đặt xong, nếu bạn không quen sử dụng ngôn ngữ English thì bạn có thể download thêm phần plugin tiếng Việt để Việt hoá nó (bạn có thể liên hệ với tôi qua email nếu không tìm được phần plugin tiếng Việt này).
Sau khi cài đặt xong, bạn chạy file ArtMoney.exe, đầu tiên ArtMoney bắt bạn đăng kí bản quyền. Nếu có số seri@l thì quá tốt, còn không thì bản dùng thử cũng xịn không kém. Bạn hãy đánh dấu kiểm vào ô "I Agree", xong ấn OK.
Plugin tiếng Việt:
Bạn chép file vietnamese.lng vào thư mục plugin của ArtMoney, sau đó trở về giao diện (hình 1) của Artmoney, trên thanh menu bạn chọn Search>Options, chọn thẻ General. Trong phần Interface language, bạn chọn là vietnamese.
III. Sửa bộ nhớ
1. Chọn chương trình
Bạn bấm vào thanh select process, chọn chương trình cần sửa giá trị. Ở hình 3, tôi đang chơi game Line'98 nên tôi chọn chương trình cần sửa là Line'98.
2. Tìm kiếm giá trị
a. Nguyên tắc:
Bấm vào nút Search
.(hoặc chọn trên menu serach>search cũng được). Bạn sẽ được 1 hộp thoại search như hình 4 sau:
- Search: Lựa chọn các loại kiểu dò, nếu không biết chính xác thì bạn chọn là Exact value.
- Value: Điền giá trị cần dò vào ô text box này.
- Type: Kiểu và loại giá trị cần dò. Bạn có thể chọn Integer (standard) vì nó bao gồm tất cả các loại giá trị 1 byte, 2 byte, 3 byte, 4 byte, 8 byte, kiểu số nguyên âm và nguyên dương.
- Address range: địa chỉ dò trong bộ nhớ, nên chọn là ALL để cho nó dò tất cả các giá trị. Dĩ nhiên bạn có thể chọn là custom nếu bạn dự đóan được giá trị bạn cần dò nằm trong khoảng địa chỉ nào.
b. Thực tế:
Trong trò chơi Line'98 tôi chọn new game, scores hiện tại của tôi là 0, tôi cần sửa giá trị này trở thành thật cao để "loè" bọn bạn. Tôi bấm vào nút Search, xong trong box search tôi chọn như sau:
- Search: Exact value
- Value: 0 (vì scores của tôi là 0, nếu scores của tôi là 100 thì tôi sẽ điền vào ô value là 100)
- Type: Custom (tôi biết rằng scores đựơc lưu vào biến integer, 2 byte nên tôi bấm vào dấu 3 chấm (...) và đánh dấu vào ô kiểm Integer 2 bytes).
- Address range: ALL.
Xong bấm OK. Chương trình ArtMoney sẽ dò và ghi nhớ lần lượt tất cả các địa chỉ trong bộ nhớ có giá trị là 0. Trong hình bên dưới tôi có được tất cả là 309178 vị trí (address) mang giá trị 0.
Thế thì, làm sao để biết được Address nào trong 309.178 là address mang giá trị Scores của game line'98 ? Bạn đừng lo mất công, hãy làm tiếp bước lọc giá trị.
3. Lọc giá trị:
Không phải ngẫu nhiên mà trong phần giới thiệu (phần I) trên, tôi có đặt ra yêu cầu là giá trị cần dò phải luôn thay đổi theo sự điều khiển của người chơi. Bây giờ, bạn hãy theo dõi tiếp để biết vì sao có yêu cầu đó nhé.
Trong 309.178 địa chỉ mang giá trị 0 trên, tất sẽ có (duy nhất) 1 địa chỉ của Score. Ta phải đi tìm địa chỉ này. Nhưng "tìm em như thể tìm chim", biết địa chỉ nào là của Score? Tôi mới trở lại game Line'98, chơi thêm chút xíu để kiếm thêm vài điểm nữa (thêm 5 điểm), Score tôi hiện tại là 5, đúng không?
Vậy thì, trong 309.178 địa chỉ bộ nhớ mang giá trị 0 lúc nãy, tất nhiên sẽ có 1 hoặc nhiều địa chỉ tăng giá trị lên 5 (điểm). Tôi có nói kèm theo là "1 hoặc nhiều" bởi vì sẽ có ít nhất là 1 địa chỉ tăng lên 5 - đây chính là địa chỉ của Scores trong bộ nhớ, những địa chỉ còn lại tăng lên là do ngẫu nhiên hoặc do giá trị phát sinh trong lúc chạy chương trình game Line'98.
Bây giờ, bạn hãy ấn vào nút Filter để tiến hành lọc giá trị. Hiện tại, Score của tôi là 5, vì vậy trong box filter hiển thị lên, tôi nhập vào ô Value với giá trị là 5.
Xong bấm OK để ArtMoney tiến hành lọc giá trị. Như hình 7 bên dưới, ArtMoney lọc lấy được 5 địa chỉ mang giá trị 5 trong số 309.178 địa chỉ mang giá trị 0 mà ta đã làm ở phần dò giá trị.
Trong 5 địa chỉ vừa được lọc xong này, tất nhiên sẽ chỉ có 1 địa chỉ mang giá trị của Score. Bạn hãy lập lại bước lọc này vài lần nữa (chơi game --> lọc xong chơi game --> lọc .v.v..) cho đến khi ArtMoney tìm được duy nhất 1 địa chỉ hoặc kết quả là không thay đổi sau 1 số lần lọc. Nghĩa là, ArtMoney tìm được 1 hoặc nhiều địa chỉ mang giá trị cần dò, và số lượng địa chỉ này không thay đổi sau khi lọc thì dừng lại.
Sau khi lọc xong thì bạn hãy tiến hành thay đổi giá trị trong bộ nhớ máy tính để cheat game.
Tóm lại, bước lọc giá trị, bạn làm như sau:
- Chơi game thêm chút xíu để thay đổi giá trị cần dò.
- Lọc giá trị
- Lập lại 2 bước trên cho đến khi kết quả không thay đổi nữa.
4. Thay đổi giá trị trong bộ nhớ máy tính
Thay đổi giá trị bộ nhớ máy tính sẽ làm thay đổi giá trị các biến (tức là các phần tử trong game), đối với trò chơi Line'98 trên, tôi muốn Score của tôi từ giá trị 0 ban đầu trở thành 65.000 cho tụi bạn "loé mắt" chơi. (Nhưng tại sao phải là 65000 chứ không phải hơn, là 650.000 hay 6.500.000 ? Trả lời, bởi vì biến mang giá trị Score trong game Line'98 là integer 2 bytes, giá trị cao nhất của nó là xấp xỉ 65000).
Sau khi tôi lập lại các lần lọc, cuối cùng tôi được 1 địa chỉ duy nhất mang giá trị Sceres của game Line'98. Tôi muốn thay đổi giá trị này trở thành 65.000 như đã nói.
Tôi vào menu Result của ArtMoney, chọn tab "Add" để add giá trị được chọn ở cửa sổ bên tay trái qua bên tay phải.
Trong menu Result này, "Add" tương ứng với nút mũi tên màu đỏ, "Add all" tương ứng nút mũi tên màu xanh nằm ở giữa giao diện của ArtMoney. Tôi thì đã biết công dụng của nó, nhưng còn bạn, nếu chưa biết thì hãy tự tìm hiểu công dụng của 2 nút mũi tên này nhé.
Nhìn qua cửa sổ bên tay phải, tôi thấy cột Value mang giá trị Scores, tôi sẽ sửa giá trị ngay cột này để cho nó trở thành 65000. Rất đơn giản, bấm chuột vào ô này, nhập giá trị cần thay đổi vào.
Xong, trở lại game Line'98, "cho nổ" 1 lần nữa là tôi đã thể thấy ngay sự thay đổi của nó. Vậy là hoàn tất phần chỉnh sửa bộ nhớ.
Lưu ý: Một cách khác để chỉnh sửa giá trị bộ nhớ, bạn chuột phải vào vị trí address cần chỉnh sửa, xong chọn tab "Memory Editor" hay ấn phím tắt là CTRL + M. Bạn sẽ được như hình 11 sau:
5. Hoàn tất phần chỉnh sửa bộ nhớ
Sau khi chỉnh sửa xong, bạn trở lại game sẽ thấy ngay sự thay đổi của nó. Nếu không, bạn chơi thêm chút xíu, bạn sẽ thấy sự thay đổi. Kết quả thay đổi bộ nhớ của tôi như sau: