8.5 KiB
Steins;Zapp D-Mailer
Steins;Zapp D-Mailer, Steins;Zapp, or just S;Z, are a Steins;Gate inspired patches for WhatsApp made in SoulaMods WhatsApp Go (com.soula2
).
Join our Matrix space to receive S;Z updates, suggestion polls and pré-releases! 😁
Screenshots
Download
To download the entire Steins;Zapp APK pack, go to steins-zapp/
and download steins-zapp.zip
(or simply click here) or download individual APK's below at /secret-vault/steins-zapp/src/branch/master/steins-zapp/%20content.
Important: do NOT download Steins;Zapp from ANY unofficial sources to prevent damages (the official ones are GitLab, GitHub and Matrix space).
steins-zapp/
content
-
-
CHECKSUM
- SHA256 checksum of all*.apk
files -
com.steinszapp0.apk
- 0 Steins;Zapp (build #1) -
com.steinszapp1.apk
- β Steins;Zapp (build #2) -
com.steinszapp2.apk
- α Steins;Zapp (build #3) -
com.steinszapp3.apk
- γ Steins;Zapp (build #4) -
com.steinszapp4.apk
- δ Steins;Zapp (build #5) -
steins-zapp.zip
- All files above, but compressed/zipped
-
Technical info
Repo content
dependencies/
- Steins;Zapp dependencies (softwares, scripts, images, etc.)dev_builds/
- Development builds outputpatches/
-com.soula2
patched filessteins-zapp/
- Steins;Zapp builds outputvisual_identity/
- The entire S;Z visual identity (icons, wallpapers, project files). Collect and enjoy them 😉builder.sh
- Script to generate Steins;Zapp buildsCHANGELOG
- Changes made in the actual Steins;Zapp releasedev_builder.sh
- Script to help at developmentdev_patches.org
- Guide to find the files to patchLICENSE
- MIT LicenseREADME.org
- Readme file with all important information about this project
Build guide
Software dependencies
- Any terminal emulator with any shell
- Java (developed with
openjdk 17.0.3
) sed
(should come by default with most *NIX os'es: BSD, Linux, Mac, etc.)zip
Autobuild
- Open a terminal instance and enter on it on repo root folder (this one, that contains
builder.sh
) - Check if
builder.sh
has execution permission (runls -l
). If hasn't,chmod +x builder.sh
-
Run builder, with
./builder.sh
The entire process can take more than 5 minutes. Make sure repo is up to date, to prevent errors
- If everything is OK, you're done!
Manual build
- If exists, delete
source/
directory -
Run APKTool (it should be located at
dependencies/
) to decompile WhatsApp Go. Runjava -jar ./dependencies/apktool_2.6.1.jar -q d ./dependencies/com.soula2_v0.22.6L.apk -o ./source
-
Delete everything inside
source/assets/
, after that, delete WhatsApp bloats. Runrm -r ./source/assets/* ./dependencies/value_list.sh source
-
Copy and replace everything inside
patches/
intosource/
. To automate this process, runcp -rf ./patches/* ./source/
-
Copy all light and dark theme files, to their respective directories. Run
./dependencies/light_theme.sh source ./dependencies/dark_theme.sh source
-
Delete everything inside
steins-zapp/
. To automate this process, runrm -rf ./steins-zapp/*
-
Create a copy of
source/
directory calledbuild/
. To automate this process, runcp -r ./source ./build
-
Copy last modified files. To automate this process, run
declare -A symbols symbols[0]="0" symbols[1]="β" symbols[2]="α" symbols[3]="γ" symbols[4]="δ" divergence=VALUE ./dependencies/general.sh build ${divergence}
Change
VALUE
to any number greater or equal to 0 and less or equal to 4. -
Change properly the package name to
steinszapp${divergence}
. To automate this process, runfor apk_paths in $(grep -s -r -o "com\.soula2" ./build | cut -d ":" -f 1 | uniq); do sed -i "s/com\.soula2/com\.steinszapp${divergence}/g" ${apk_paths} > /dev/null; done for smali_paths in $(grep -s -r -o "Lcom\/soula2" ./build | cut -d ":" -f 1 | uniq); do sed -i "s/Lcom\/soula2/Lcom\/steinszapp${divergence}/g" ${smali_paths} > /dev/null; done
-
Change
wa_go_name
andwa_go_version
values inbuild/values-v1/strings.xml
. Runrelease=NAME sed -i "s/<string name=\"wa_go_name\">Soula2<\/string>/<string name=\"wa_go_name\">${symbols[${divergence}]} Steins;Zapp ${release}<\/string>/g" ./build/res/values-v1/strings.xml > /dev/null sed -i "s/<string name=\"wa_go_version\">v0.22.6L<\/string>/<string name=\"wa_go_version\">${release}<\/string>/g" ./build/res/values-v1/strings.xml > /dev/null
Change
NAME
to a name you want. -
Build, align and sign the APK. Run
java -jar ./dependencies/apktool_2.6.1.jar -q b ./build -o build.apk ./dependencies/zipalign -p -f -v 4 build.apk ./steins-zapp/com.steinszapp${divergence}.apk > /dev/null java -jar ./dependencies/apksigner.jar sign --ks ./dependencies/key.keystore --ks-key-alias steins-zapp --ks-pass pass:elpsykongroo ./steins-zapp/com.steinszapp${divergence}.apk
-
If everything gone correctly, your build is complete. To delete temp files, run
rm -rf ./steins-zapp/com.steinszapp${divergence}.apk.idsig ./build.apk ./build > /dev/null
Repeat steps 7 - 12 to build up to 5 Steins;Zapp's (you can build more, but you must have a basic shell scripting acknowledgment to change some variables and values with no errors).
Development tips
- Check
dev_patches.org
to understand how S;Z patches are made - Backup files and instruction-sets BEFORE modifying them
- Test patches using
dev_builder.sh
before copy modified files intopatches/
- Document the changes adding comments in the patches (search for
Steins;Zapp
in.smali
and.xml
files to do it like them)
Credits
This project wouldn't be possible without the help and collaboration of:
- Sidney PEPO (aka sysb1n)
- Ellen Manga
- José Wender (aka Dreifus)
- S;Z community members❣️
- SoulaMods Team (WhatsApp Go devs ) 💗
Made in FG Lab (aka Secret Vault)
~El Psy Kongroo