This is the Beatstar script created by ExternalAddress4401. This mod enables things like all song unlocking, custom song support, and many other useful features.
- Download the newest APK from the Discord: https://discord.com/channels/951981656301006878/952172874293207040
- Copy it onto your phone
- Open the APK with your file explorer to install it
Notes:
- You must delete the original Beatstar if you have it installed
- If you don't want to delete the original Beatstar download Beatclone instead
- APKTool: https://apktool.org/
- NodeJS: https://nodejs.org/en
- Objection: https://www.npmjs.com/package/objection (
npm install -g objection
) - Uber APK Patcher: https://github.com/patrickfav/uber-apk-signer
- Download a Beatstar APK or pull the APK from your device. https://beatstar.en.uptodown.com/android is a good source and save it as
beatstar.apk
- Unpack the APK with APKTool using the
--only-main-classes
flag withapktool d beatstar.apk --only-main-classes
- Open the newly created
beatstar
folder and openAndroidManifest.xml
- Edit
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
to be these 3 lines
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
- Search for and delete
android:networkSecurityConfig="@xml/network_security_config"
- Close the manifest and delete
res/xml/network_security_config
- Open
res/values/public.xml
and delete<public type="xml" name="network_security_config" id="0x7f150004" />
- Rebuild the APK with
apktool b beatstar
(beatstar is the name of the folder since my APK was named beatstar.apk) - Take the built APK out of
beatstar/dist
and put it somewhere safe
- Clone or download this repository
- Install the dependencies with
npm install
- Run
node build.js -agent
which will create afile.js
- Place
file.js
in the same folder as yourbeatstar.apk
- Create a new file in that same folder called
config.json
with the following
{
"interaction": {
"type": "script",
"path": "libfrida-gadget.script.so"
}
}
- Copy the
debug.keystore
file from the repository to the same location asbeatstar.apk
- With a terminal in the same location as
beatstar.apk
,file.js
,config.json
anddebug.keystore
runobjection patchapk -s beatstar.apk -l script.js -c config.json -a arm64-v8a
(or if you're building for ARM replacearm64-v8a
witharmeabi-v7a
) - Once built, run
java -jar uber-apk-signer-1.3.0 -a beatstar.apk --allowResign --ksDebug debug.keystore
You will now have a beatstar-aligned-debugSigned.apk
file which can be installed on your device.
- Remember, since this script requires full file access to your device if you run an APK from a stranger and blindly give it all file access they can steal every file from your device. Be careful.
- If you do not use the provided key store you'll end up with a different
androidId
which means all of your scores will be "lost" (you won't see any of them as if you're a new player).
agent
- contains the script injected into the APK to load the script from the server
device
- contains the script that will be downloaded over the network and saved to the device
functions
- split up utility functions with a single purpose
hacks
- anything that interacts with gameplay in some way
lib
- utility functions mostly for creating a base custom chart