Charles là một công cụ có thể hiểu đơn giản là kiểm soát những gì mình yêu cầu máy chủ Zynga và Zynga trả lại thông tin cho máy đang truy cập
-Ví dụ thế này: khi chúng ta gửi yêu cầu 1 zoning permit thì gửi lên Zynga một yêu cầu: "http://apps.facebook.com/cityville/request.php?action=default&itemName=permits&view=app&ref=&requestType=level_up" ta có thể chặn lại và sửa lại yêu cầu như permits thành res_res_summerapartment_2 thì chúng ta sẽ yêu cầu các NEIGHBOR gửi cho chúng ta một nhà Waterfront Suite thay vì 1 Zoning Permit- tuy nhiên yêu cầu dạng này đã bị Zynga sửa lỗi :'(
-Các bạn có thể download Charles tại địa chỉ Charles
-Charles chạy trên nền Java nên các bạn cần cài đặt JM, có thể lên trang chủ SUN để download
-Khi chạy Charles, nó sẽ có giao diện tương tự ở dưới
-Các bạn bật chương trình Charles lên rồi mở trình duyệt và chơi CityVille (nên làm theo thư tự như vậy)
-Quay lại Charles các bạn thấy như có rất nhiều trang web ta đang truy cập, các bạn chọn như hình dưới
Các bạn chọn http://fb-client-0-citiville-zynga.com, có lúc thì nó là 1 hoặc 2 hoặc v.v.v để biết chính xác thì khi các bạn mở CityVille các bạn sẽ thấy ở dòng status có dòng chữ thế này: "http://fb-client-x-citiville-zynga.com" gì đó thì x ở đây chính là cái mình cần biết (Quá tỉ mỉ)
Chú ý là các bạn chờ cho đủ 9 cái gateway.php thì sẽ chắc chắn 100% thành công (đôi khi mình chờ thấy lâu và làm luôn cũng vẫn thành công)
-Các bạn bấm chuột phải vào gateway.php đầu tiên như hình và chọn breakpoint
-Các bạn vào CityVille và chơi lại, chọn item mình muốn move nó vào lại Inventory và di chuyển nó sang chỗ khác
-Chờ một lúc, khoảng 1-10 giây thì các bạn sẽ thấy của sổ Charles tự bật lên lại, hoặc các bạn có thể quay lại Charles và chờ một lát, nó như thế này:
-Các bạn chọn phía trên cửa sổ bên phải là "Edit request" và bên dưới là "AMF" (Mình thì không chọn AMF mà mình chọn "Text", các bạn nên làm theo hướng dẫn trên) và nó sẽ thế này:
-Các bạn sẽ thấy code của cái item mình di chuyển vừa rồi là "deco_powergrid" và hành động là "move"
-Các bạn nhấp đúp vào chữ move và viết lại là: "sendToInventory" (chính xác cả chữ hoa/thường)
-Bên cửa sổ bên trái, các bạn quay lại Session 1* (có thế là 2 hoặc 3...) và làm lại thao tác chặn breakpoint nhưng bây giờ mình sẽ bỏ chặn (Dễ hiểu ghê)
-Chọn lại Breakpoints
-Bấm nút Excute
-Ghé thăm một hàng xóm nào đó (hoặc muốn lề mề hơn thì refresh lại CityVille) bạn sẽ thấy item đó biến mất, đừng hoảng sợ vì item đó đã vào Inventory, mình có thể tặng cho bạn bè hoặc để dành sau này dùng, như cái item mình làm ví dụ cho các bạn, mình chưa dùng một lần vì cần 160 cash cho một lần unlimited E :-(
Mình muốn POST một số hướng dẫn khác như *** một item mà mình không đủ tiền để mua (CASH) nhưng có một số lý do nên tạm thời các bạn tự tìm hiểu, bằng chính công cụ Charles này