Skip to main content

A battle cats tool for modifying, encrypting, and decrypting game files

Project description

Battle Cats Game Modding Tool

A python game modding tool for the mobile game The Battle Cats that can decrypt, encrypt, and modify some game files.

It is a pretty much direct port from my C# game modding tool with a few bug fixes.

Join the discord server if you want to suggest new features, report bugs or get help on how to use the modder.

PyPi: https://pypi.org/project/battle-cats-game-modder/

If you want to support me then consider gifting me some ko-fi here: https://ko-fi.com/fieryhenry

Thanks to:

How to use:

I recommed putting adb in your Path system variable. To do that do this:

  1. If you are using an emulator: Go to your emulator's install directory, if using LDPlayer it will most likely be in C:/LDPlayer/LDPlayer4.0. Then find adb in that folder (other emulators might have it in the bin directory)

  2. If you aren't using an emulator Download the Android SDK Platform Tools ZIP file for Windows, and unzip it.

  3. Copy the path to the directory that you are in

  4. Then open the start menu and search: edit the system environment variables and press enter.

  5. Then click on the Environment Variables button.

  6. Then in the System variables box find the variable named Path, then click on the edit button.

  7. Then click New and paste the path into it.

  8. Click Ok then Ok again then Ok again.

  9. Relaunch powershell and maybe restart your whole pc, and try the command again. If this method is too dificult, just use a root file explorer instead and manually get the files that you want. The paths that you will need are: /data/data/jp.co.ponos.battlecatsen/files and

    /data/app/jp.co.ponos.battlecatsen-1


How to edit game data

  1. Install python (If you haven't already) https://www.python.org/downloads/

  2. Enter the command: python -m pip install -U battle-cats-game-modder into cmd or another terminal to install the editor. If that doesn't work then use py instead of python in the command

  3. Unpack the apk file for the game using apktool/APK Easy Tool

  4. Get the .pack and .list files that contain the files you want to edit:

    • Most stats are in DataLocal

    • Most text is in resLocal

    • Sprites are in various Server files

  5. Then enter the command: python -m BCGM_Python to run the tool. If that doesn't work then use py instead of python in the command

  6. Select option to decrypt .pack files

  7. Select .pack files that you want, they will be in /assets for local files in the extracted apk, or /data/data/jp.co.ponos.battlecatsen/files for downloaded server files

  8. Once completed the files will be in /game_files in your current working directory

  9. You can manually edit the data, or use the option in the tool that you want

  10. Once edited, open the tool and select the encrypt option

  11. Select the folder of the game files

  12. Once complete the encrypted files will be /encrypted_files in your current working directory

  13. Get your libnative-lib.so file for your system architecture. You can find it in:

    • /data/app/jp.co.ponos.battlecatsen-1/

    • /data/data/jp.co.ponos.battlecatsen/lib/

  14. Run the tool and select the option to Set md5 hashes in libnative-lib.so file

  15. Select your encrypted files in /encrypted_files in your current working directory

  16. Once done you can either:

    1. Say yes to push your modified libnative-lib.so file to the game

    2. Replace the libnative file in the apk for a permanent change.

      • The apk must be signed - APK Easy Tool- for most devices to install the apk

      • Then you must re-install app or replace the apk in /data/app/jp.co.ponos.battlecats.../base.apk

    3. Manually replace the libnative file in /data/app

    4. Replace the libnative file in /data/data/jp.co.ponos.battlecatsen/lib only if you modifed server files for your device.

    I recommend doing 1 and 2 for local files. And all 3 for server files.

  17. You now need to put your encrypted files either into:

    1. The apk if you modified local files

      • The apk must be signed - APK Easy Tool- for most devices to install the apk

      • Then you must re-install app or replace the apk in /data/app/jp.co.ponos.battlecats.../base.apk

    2. /data/data/jp.co.ponos.battlecatsen/files if you modified server files

  18. Open the game and see if it works


  19. If you modifed server files, you will need to find the associated download.tsv file for your .pack and .list files in the apk in /assets/{language}

  20. Open the file in notepad, you will see the name of the file, then a tab, then the file size in bytes, then a tab, then the md5 hash of that file.

  21. You need to modify that md5 hash so that the game doesn't re-download the server data

  22. Go to here: https://emn178.github.io/online-tools/md5_checksum.html and drag and drop the file in

  23. Copy the hash and replace the one in the tsv with that one.

  24. Replace the apk in /data/app/jp.co.ponos.battlecats.../base.apk with your apk, use apktool/APK Easy Tool to sign the app and pack it into an apk again.

  25. Open the game and see if it works.

  26. If it re-downloads game data maybe also try to replace the file size in bytes for the .pack file. Right click->properties->Size (not Size on disk)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

battle-cats-game-modder-1.0.3.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

battle_cats_game_modder-1.0.3-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file battle-cats-game-modder-1.0.3.tar.gz.

File metadata

  • Download URL: battle-cats-game-modder-1.0.3.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.4

File hashes

Hashes for battle-cats-game-modder-1.0.3.tar.gz
Algorithm Hash digest
SHA256 577397c999b63dc16b20eeaf2700db49ab51801ff68d8c3c30bd7eab31bd7e98
MD5 c1572ca00328ceea6ca997e5de6d4c5a
BLAKE2b-256 7c2f38f390bef937df7e5c650db52e5505d924d6d4d39c47992b7074a682b962

See more details on using hashes here.

File details

Details for the file battle_cats_game_modder-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for battle_cats_game_modder-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 316f6d1fedf09d8b4ed80e29d93139ddbc7edc2c6571d6267ace7a93ebb147e4
MD5 c6b2830a55221fa94deb18609bd023b7
BLAKE2b-256 6a1824dacea678be907481db958599664475cca82b3e351c217d78b5b21822af

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page