Miss me?

Hôm nay tôi sẽ hướng dẫn các bạn cheat một ‘game offline’ đơn giản trên android tên là “Clicker Heroes”. Mục tiêu của post này nhằm hướng dẫn một số mindset cơ bản về cheat hoặc đơn giản là nâng cao khả năng sử dụng bash shell. Xin lỗi nếu bài post gây cho bạn khó chịu vì sử dụng xen lẫn Anh/Việt.

— Chuẩn bị —

1. Android phone: Cài đặt “Clicker Heroes” thông qua playstore
2. Linux OS: Tôi dùng CentOS để decode.

Trong con CentOS, cài đặt các tool sau:

    • xxd: hex content
    • jq: json format
    • vimdiff: color diff
    • python2.7 + git: set up ‘binwalk’
    • base64: decode
    • openssl: decompress

— Chơi game —

Cùng nhìn giao diện game một chút nào:

 

Game này nhằm giải trí đơn giản, mục tiêu chính là phá cái màn hình cảm ứng của bạn bằng cách “tap” liên tục để thông nát mông thằng creep ở giữa màn hình, đại loại thế. Vậy tại sao lại sử dụng game này để cheat ??

-> Nào cùng nhìn vào phần Settings của game (hình bên phải phía trên)… à há, có “export” và “import” để lưu nội dung (hay snapshoot) của game nếu bạn muốn chuyển sang điện thoại mới. Vấn đề nằm ở chỗ này.

– Cùng nhìn qua một phần nội dung của phần “export” trên:

“7a990d405d2c6fb93aa8fbb0ec1a3b23eNrtm0tzGzcSgP8Lz6kU5yWKvknUy1nLYkg62crFBc5AJFYgMAFmKDMu/fftxmMwM5Jopmonp/XBRQFooAF0f2gQze+jJyk2H4vRh9Hop5GWNdfLkooK/h5DQanYjvAlFruSXFFSMSlWbEd1RXbl6EOUZWfx”

Tập hợp chỉ gồm các ký tự [0-9], [a-z], [A-Z] và [+/]. Không lạ gì với Base64 nữa phải không nào ?

– Cùng decode xem thử ta có gì, phần nội dung export tôi gọi là “clickerheroes.export”

– Có vẻ sau khi decode base64, phần nội dung thu được ta không nhận dạng được gì. Lúc này, cần sự trợ giúp của binwalk:

– Có vẻ nhận dạng được đang nén bởi Zlib, vậy thì thử giải nén xem có gì ?

– WTF không giải nén được. Tới đây ta biết nó được nén theo Zlib nhờ binwalk, nhưng không thể giải nén được. Nào cùng nhìn vào cái Index DECIMAL/HEXADECIMAL trong output của binwalk ở trên, Index số 24 (hay vị trí thứ 25) mới nhận dạng được Zlib. Vậy dùng hexdump hoặc xxd để xem, “byte index 24” có gì.

Tại byte index 24: 78 -> Nếu bạn tìm google, thì sẽ thấy đây là Zlib header.

– Lúc này, chúng ta chỉ nên lấy data từ byte index 24 trở đi để giải nén (lưu ý, index 24 tương đương với byte số 25)

– Sau giải nén ta sẽ thu được nội dung file như sau:

– Vậy là đã có cấu hình game, giờ thì chỉnh các thông số như rubies hay gold theo mong muốn (tôi đặt gold=100M, rubies=100k).

– Rồi đảo nghịch quá trình trên như sau:

– Lấy nội dung file “clickerheroes.import”, import trong game và ola !. Nếu đặt “debug”=true trong json config và import, sẽ có thêm 1 cửa sổ console trong phần setting. Lúc này bạn có thêm các tùy chỉnh như “add gold” ngay trong game :v

 

Hướng dẫn này dựa trên liveoverflow mà tôi thấy khá hay và dễ hiểu, nếu quan tâm bạn có thể tìm nhiều hơn bằng gg.

LEAVE A REPLY

Please enter your comment!
Please enter your name here