GithubHelp home page GithubHelp logo

battle-cats-game-modder's Introduction

Battle Cats Game Modding Tool


A game modding tool for the game The Battle Cats
Most features should work across all game versions (least likely is libnative patch)

I have a discord server: https://discord.gg/DvmMgvn5ZB, it's the best way report bugs and you can leave your suggestions for new features to be implemented in the tool

If you want to support my work and keep me motivated to continue to work on this project then maybe 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.BCU · GitHub
This resource for unit csvs: https://pastebin.com/JrCTPnUV)
Vi on discord for enemy csvs

Features

Decrypt .pack and .list files found in the apk and /data/data/jp.co.ponos..../files.
Encrypt a folder of files and pack it into encrypted .pack and .list files

Modify the libnative-lib.so file found in the:
APK
/data/data/jp.co.ponos..../files
/data/app/jp.co.ponos..../
To remove the check for the md5 sum for the .pack and .list files - avoids Data Read Error h01

Modify the stats of cat units
Modify stage data
Modify enemy stats

How To Edit Game Data

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

  2. 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

  3. Run the tool - Download exe from releases (You may need to install the .net 6 runtime: https://dotnet.microsoft.com/en-us/download/dotnet/6.0)

  4. Select option to decrypt .pack

  5. Select .pack files that you want

  6. Once completed the files will be in /game_files

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

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

  9. Select the folder of the game files

  10. Once complete the encrypted files will be /encrypted_files

  11. Get your libnative-lib.so file for your system architecture. You can find it in the apk, /data/app/jp.co.ponos.battlecats.../{architecture}/, or in /data/data/jp.co.ponos.battlecats.../

  12. Run the tool and select the option to patch the libnative-lib.so file

  13. Enter the system architecture the file is from

  14. Once done:

    1. Replace the file in the apk for permanent change.(apk must be signed - APK Easy Tool - for most devices to install the apk) (must re-install app or replace apk in /data/app/jp.co.ponos.battlecats.../base.apk if you choose to do this method).
    2. Replace the file in /data/app to work without re-installing for your device.
    3. replace the file in /data/data only if you modifed server files for your device.
      I recommend doing 1 and 2 for local files. And all 3 for server files.
  15. Open the game and see if it works


  16. 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}.

  17. 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.

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

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

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

  21. 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.

  22. Open the game and see if it works.

  23. 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)

  24. In the future I might find a way to edit the libnative-lib.so file to skip that check also.

battle-cats-game-modder's People

Contributors

fieryhenry avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

dukart913

battle-cats-game-modder's Issues

modder refuses to run

The modder downloaded from releases throws an error when ran.
I have to remove those lines Console.WindowWidth = 200;
Console.WindowHeight = 48;
from the source code and recompile to get it to run successfully.
2022-03-22 12_37_43-C__Users_Admin_Downloads_Battle Cats Game Modder exe

patching libnative makes the game crash

Now that I got the modder running, I'm going to report this issue as well (see title)

I tried on EN 11.3 and JP 11.4

EN: The modder says it patched successfully
JP: It only says success on arm64 and throws the 'already patched' error on other architectures
but both versions lead to game crashing

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.