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.
Note: I am no longer actively working on this tool so there may be bugs.
If you know how to program and want to do more powerful things with the game then you should use TBCML instead.
Join the discord server if you want to suggest new features, report bugs or get help on how to use the modder. (Discord is the same one as for save editing as I haven't made a modding specific one yet)
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
-
EasyMoneko for the original keys for decrypting/encrypting: https://www.reddit.com/r/battlecats/comments/41e4l1/is_there_anyone_able_to_access_bc_files_your_help/
-
Battle Cats Ultimate for what some of the numbers mean in various csvs. https://github.com/battlecatsultimate
-
This resource for unit csvs: https://pastebin.com/JrCTPnUV
-
Vi on discord for enemy csvs
How to use
-
Install python (If you haven't already) https://www.python.org/downloads/
-
Enter the command:
py -m pip install -U battle-cats-game-modderinto cmd or another terminal to install the editor. If that doesn't work then usepythoninstead ofpyin the command -
Download the apk you want to edit from somewhere like uptodown or apkmirror
-
Unpack the apk file for the game using Apktool or APKToolGui.
-
You can then find the .pack and .list files in the assets folder of the extracted APK.
-
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
-
-
Then enter the command:
py -m BCGM_Pythonto run the tool. If that doesn't work then usepythoninstead ofpyin the command -
Select option to decrypt .pack files
-
Select .pack files that you want, they will be in the
assetsfolder in the apk for local files, or/data/data/jp.co.ponos.battlecatsen/fileson your device (if rooted) for downloaded server files -
Also decrypt the DownloadLocal pack as you will need it for later
-
Once completed the files will be in a
game_filesfolder in the folder you ran the command from -
You can manually edit the data, or use the option in the tool that you want
-
Once edited, you should place any modified files in the DownloadLocal pack folder instead of the original pack folder. This is because the game does not check if DownloadLocal has been modified, but it does check if the original pack has been modified. The game also prioritises DownloadLocal over the original pack, so if you have a file in both, the game will use the one in DownloadLocal.
-
Open the tool again and select the
encryptoption -
Select the DownloadLocal folder
-
Once complete the encrypted .pack and .list files will be in an
encrypted_filesfolder in the folder you ran the command from -
If you are asked if you want to patch the libnative file, say no as this feature is broken and you do not need to do it if you placed your files in DownloadLocal
-
Then you need to place the encrypted .pack and .list files back into the assets folder of the apk
-
You then need to pack the apk using apktool or apktoolgui
-
You then need to sign the apk using apktool or apktoolgui
-
You then need to install the apk, you may have to uninstall the game first before installing the modified apk for the first time
-
Open the game and see if it works
Install from source
-
Install python https://www.python.org/downloads/
-
Install git https://git-scm.com/downloads
-
Enter the command:
git clone https://codeberg.org/fieryhenry/BCGM-Python.git -
Enter the command:
cd BCGM-Python -
Enter the command:
py -m pip install -e .to install the tool. If that doesn't work then usepythoninstead ofpyin the command -
Enter the command:
py -m BCGM_Pythonto run the tool. If that doesn't work then usepythoninstead ofpyin the command -
If you want to update the tool then enter the command:
git pullin theBCGM-Pythonfolder
Metadata
Release files for battle-cats-game-modder 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| battle_cats_game_modder-1.1.0.tar.gz | 16.6 kB | Without provenance | Details for battle_cats_game_modder-1.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| battle_cats_game_modder-1.1.0-py3-none-any.whl | Python 3 | none | any | Details for battle_cats_game_modder-1.1.0-py3-none-any.whl |
Total release size: 34.7 kB
Release files / battle_cats_game_modder-1.1.0.tar.gz
| Download URL | battle_cats_game_modder-1.1.0.tar.gz |
|---|---|
| Size | 16.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2642bb933c419dfa2715c9095fcc4cd9e3f7548f58fd5db03df5635de73f1020
|
|
BLAKE2b-256 checksum How to use checksums |
eb979f43c2a08a6480fd6465e12364a63645d7fe335c31b347d0d603dd32743f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / battle_cats_game_modder-1.1.0-py3-none-any.whl
| Download URL | battle_cats_game_modder-1.1.0-py3-none-any.whl |
|---|---|
| Size | 18.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0c4e8149f21d3c2078bda22041d7acd2bac8ae14487c268160eb0eb8bf40a0db
|
|
BLAKE2b-256 checksum How to use checksums |
7ab5f84698469739a799c1f1ca6a576fbe87260ceb6d883655984e8b37de7b4c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Security for battle-cats-game-modder 1.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.