GithubHelp home page GithubHelp logo

mailboxhack's Introduction

Battle Cats Mailbox Hack

A hack for the mailbox in Battle Cats. It allows you to get any cat, talent orb, or item amount you want without the ban risk of other methods.

It only works on Android and requires you to install a modded apk, but it does not require root.

The main script uses TBCML, a library I've made designed to make modding the game easier and more automated.

Unlike TBCMS, this hack does not require a server to be running, all of the scripting is done on the device using Frida, specifically Frida Gadget.

ko-fi

Credits

  • jamesiotio's CITM for the original hacking method and the format of the presents. It no longer works due to PONOS adding a signature to the server responses as well as other changes.
  • NekoB0x for the original presents json file used for example.json.

Setup

  1. Read the TBCML GitHub page so you can get the library installed (with the scripting dependencies). At the moment you will have to install tbcml from source as the latest release doesn't have all the features needed. See https://github.com/fieryhenry/tbcml#from-source for instructions.

  2. Clone this repository, or just download script.js and script.py manually.

  3. Make sure that the 2 files are in the same directory.

  4. Open command prompt or another terminal and navigate to the directory you downloaded the files to. (You can do this by typing cd <path> where <path> is the path to the directory containing the files.)

  5. Run python script.py to create the modded apk.

  6. You may get Relocation R32 not supported! errors, this is normal and can be ignored (idk how to get rid of them).

  7. If the script fails to pack / sign the apk, then you should change loader.initialize() to loader.initialize(decode_resources=False) near the top of script.py.

  8. Install the modded apk on your device. The script will display the path to the apk file.

  9. The app should be called "Battle Cats Mailbox Hack", it won't be if decode resources is set to false. You can change the name in the script if you want, or just delete that line, it will be near the end of script.py.

  10. Open the game and go to the mailbox. You should see that you have some presents.

Customization

When you run python script.py you can pass in a url to a json file of presents e.g python script.py https://example.com/presents.json. This way you can still setup your own server to host the presents if you wanted to, or just host the json file on GitHub or something.

Alternatively you can pass in a path to a json file e.g python script.py presents.json. There is an example json file in this repository called example.json. It is pretty outdated though, and I can't be bothered to update it. But if you want to update it then please make a pull request. I got the original json file from: NekoB0x

If you use a file path, if you want to modify the presents you will have to run the script again to create a new modded apk and then install it to the device. (If you can figure out how to allow the script to read files from the device's storage then please make a pull request.)

Presents Format

The json file should be an array of objects. Each object should have the following:

  • "title": The title of the present.
  • "items": An array of objects. Each object should have the following:
    • "itemId": The id of the item.
    • "itemCategory": The category of the item. See below for the list of categories.
    • "amount": The amount of the item.
    • "title": The title of the item. Not really used.
  • "presentCode" (optional): The present code of the present. Normally would be used by the server to verify that the present is valid. The hack forces the present to be valid so this is not needed.
  • "body" (optional): The description of the present.
  • "createdAt" (optional): The date the present was created, should be a timestamp.
  • "acceptedAt" (optional): The date the present was accepted, should be a timestamp.

Example

[
    {
        "presentCode": 1,
        "title": "Mailbox Hack",
        "body": "Made by fieryhenry and made possible\nby jamestiotio's original work:\nhttps://github.com/jamestiotio/CITM",
        "createdAt": 1574529411,
        "acceptedAt": 1,
        "items": [
            {"itemId": 22, "itemCategory": 0, "amount": 100, "title": "Catfood"},
            {"itemId": 21, "itemCategory": 0, "amount": 20, "title": "Rare Ticket"},
        ],
    }
]

Item Categories

Any game files mentioned are stored in the game_files directory of the repo.

Categories:

  • 0: Items (See GatyaitemName.csv for the list of items, item id 0 is the first item in the list)
  • 1: Cats (See https://battle-cats.fandom.com/wiki/Cat_Release_Order for the list of cats)
  • 2: Item Packs (See itemPack.tsv for the list of item packs)
  • 3: True Forms (Uses the same ids as cats)
  • 4: Talent Orbs (Not really a way to list these since ids are generated programatically using equipmentlist.json, equipmentgrade.csv, attribute_explonation.tsv, equipment_explonation.tsv)

mailboxhack's People

Contributors

fieryhenry avatar

Stargazers

 avatar Robson F. Ramaldes avatar H3XDaemon avatar  avatar

Watchers

 avatar

Forkers

cintagram

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.