* Steins;Zapp D-Mailer #+HTML:

Steins;Zapp D-Mailer, Steins;Zapp, or just S;Z, are a /Steins;Gate/ inspired patches for WhatsApp made in [[https://t.me/soulamods][SoulaMods]] /WhatsApp Go/ (~com.soula2~). Join our [[https://matrix.to/#/#steins-zapp:matrix.thisisjoes.site][Matrix space]] to receive S;Z updates, suggestion polls and pré-releases! 😁 ** Screenshots #+HTML:

[[https://gitlab.com/secret-vault/steins-zapp/-/tree/master/visual_identity/screenshots][Click here for more S;Z screenshots]] ** Download To download the entire Steins;Zapp APK pack, go to [[https://gitlab.com/secret-vault/steins-zapp/-/tree/master/steins-zapp/][ ~steins-zapp/~ ]] and download [[https://gitlab.com/secret-vault/steins-zapp/-/raw/master/steins-zapp/steins-zapp.zip][ ~steins-zapp.zip~ (or simply click here)]] or download individual APK's below at [[steins-zapp/ content]]. #+BEGIN_QUOTE Important: do *NOT* download Steins;Zapp from *ANY* unofficial sources to prevent damages (the official ones are [[https://gitlab.com/secret-vault/steins-zapp][GitLab]], [[https://github.com/secret-vault/steins-zapp][GitHub]] and [[https://matrix.to/#/#steins-zapp:matrix.thisisjoes.site][Matrix space]]). #+END_QUOTE *** ~steins-zapp/~ content - [[https://gitlab.com/secret-vault/steins-zapp/-/tree/master/steins-zapp][ ~steins-zapp/~ - Builds output]] - [[https://gitlab.com/secret-vault/steins-zapp/-/raw/master/steins-zapp/CHECKSUM][ ~CHECKSUM~ - SHA256 checksum of all ~*.apk~ files]] - [[https://gitlab.com/secret-vault/steins-zapp/-/raw/master/steins-zapp/com.steinszapp0.apk][ ~com.steinszapp0.apk~ - 0 Steins;Zapp (build #1)]] - [[https://gitlab.com/secret-vault/steins-zapp/-/raw/master/steins-zapp/com.steinszapp1.apk][ ~com.steinszapp1.apk~ - β Steins;Zapp (build #2)]] - [[https://gitlab.com/secret-vault/steins-zapp/-/raw/master/steins-zapp/com.steinszapp2.apk][ ~com.steinszapp2.apk~ - α Steins;Zapp (build #3)]] - [[https://gitlab.com/secret-vault/steins-zapp/-/raw/master/steins-zapp/com.steinszapp3.apk][ ~com.steinszapp3.apk~ - γ Steins;Zapp (build #4)]] - [[https://gitlab.com/secret-vault/steins-zapp/-/raw/master/steins-zapp/com.steinszapp4.apk][ ~com.steinszapp4.apk~ - δ Steins;Zapp (build #5)]] - [[https://gitlab.com/secret-vault/steins-zapp/-/raw/master/steins-zapp/steins-zapp.zip][ ~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 output - ~patches/~ - ~com.soula2~ patched files - ~steins-zapp/~ - Steins;Zapp builds output - ~visual_identity/~ - The entire S;Z visual identity (icons, wallpapers, project files). Collect and enjoy them 😉 - ~builder.sh~ - Script to generate Steins;Zapp builds - ~CHANGELOG~ - Changes made in the actual Steins;Zapp release - ~dev_builder.sh~ - Script to help at development - ~dev_patches.org~ - Guide to find the files to patch - ~LICENSE~ - MIT License - ~README.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 1. Open a terminal instance and enter on it on repo root folder (this one, that contains ~builder.sh~) 2. Check if ~builder.sh~ has execution permission (run ~ls -l~). If hasn't, ~chmod +x builder.sh~ 3. Run builder, with ~./builder.sh~ #+BEGIN_QUOTE The entire process can take more than 5 minutes. Make sure repo is up to date, to prevent errors #+END_QUOTE 4. If everything is OK, you're done! *** Manual build 1. If exists, delete ~source/~ directory 2. Run APKTool (it should be located at ~dependencies/~) to decompile WhatsApp Go. Run #+BEGIN_SRC sh java -jar ./dependencies/apktool_2.6.1.jar -q d ./dependencies/com.soula2_v0.22.6L.apk -o ./source #+END_SRC 3. Delete everything inside ~source/assets/~, after that, delete WhatsApp bloats. Run #+BEGIN_SRC sh rm -r ./source/assets/* ./dependencies/value_list.sh source #+END_SRC 4. Copy and *replace* everything inside ~patches/~ into ~source/~. To automate this process, run #+BEGIN_SRC sh cp -rf ./patches/* ./source/ #+END_SRC 5. Copy all light and dark theme files, to their respective directories. Run #+BEGIN_SRC sh ./dependencies/light_theme.sh source ./dependencies/dark_theme.sh source #+END_SRC 6. Delete everything inside ~steins-zapp/~. To automate this process, run #+BEGIN_SRC sh rm -rf ./steins-zapp/* #+END_SRC 7. Create a copy of ~source/~ directory called ~build/~. To automate this process, run #+BEGIN_SRC sh cp -r ./source ./build #+END_SRC 8. Copy last modified files. To automate this process, run #+BEGIN_SRC sh declare -A symbols symbols[0]="0" symbols[1]="β" symbols[2]="α" symbols[3]="γ" symbols[4]="δ" divergence=VALUE ./dependencies/general.sh build ${divergence} #+END_SRC #+BEGIN_QUOTE Change ~VALUE~ to any number greater or equal to 0 and less or equal to 4. #+END_QUOTE 9. Change properly the package name to ~steinszapp${divergence}~. To automate this process, run #+BEGIN_SRC sh for 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 #+END_SRC 10. Change ~wa_go_name~ and ~wa_go_version~ values in ~build/values-v1/strings.xml~. Run #+BEGIN_SRC sh release=NAME sed -i "s/Soula2<\/string>/${symbols[${divergence}]} Steins;Zapp ${release}<\/string>/g" ./build/res/values-v1/strings.xml > /dev/null sed -i "s/v0.22.6L<\/string>/${release}<\/string>/g" ./build/res/values-v1/strings.xml > /dev/null #+END_SRC #+BEGIN_QUOTE Change ~NAME~ to a name you want. #+END_QUOTE 11. Build, align and sign the APK. Run #+BEGIN_SRC sh 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 #+END_SRC 12. If everything gone correctly, your build is complete. To delete temp files, run #+BEGIN_SRC sh rm -rf ./steins-zapp/com.steinszapp${divergence}.apk.idsig ./build.apk ./build > /dev/null #+END_SRC #+BEGIN_QUOTE 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). #+END_QUOTE *** 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 into ~patches/~ - 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: - [[https://sidneypepo.gitlab.io][Sidney PEPO (aka sysb1n)]] - [[https://www.youtube.com/channel/UCVoF2uXL9w19fbPa8Ks7pVg][Ellen Manga]] - [[https://github.com/wender-404][José Wender (aka Dreifus)]] - [[https://matrix.to/#/#steins-zapp:matrix.thisisjoes.site][S;Z community members❣️]] - [[https://t.me/soulamods][SoulaMods Team (WhatsApp Go devs ) 💗]] #+BEGIN_QUOTE Made in [[https://matrix.to/#/#secret-vault:matrix.thisisjoes.site][FG Lab (aka Secret Vault)]] #+END_QUOTE /~El Psy Kongroo/