156 lines
8.5 KiB
Org Mode
156 lines
8.5 KiB
Org Mode
* Steins;Zapp D-Mailer
|
||
#+HTML: <p align="center"><img src="https://gitlab.com/secret-vault/steins-zapp/-/raw/master/visual_identity/02_Makise_Kurisu/icon.png" height="150"><p>
|
||
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: <p align="center"><img src="https://gitlab.com/secret-vault/steins-zapp/-/raw/master/visual_identity/screenshots/02.png" height="450"> <img src="https://gitlab.com/secret-vault/steins-zapp/-/raw/master/visual_identity/screenshots/03.png" height="450"> <img src="https://gitlab.com/secret-vault/steins-zapp/-/raw/master/visual_identity/screenshots/05.png" height="450"> <img src="https://gitlab.com/secret-vault/steins-zapp/-/raw/master/visual_identity/screenshots/10.png" height="450"><p>
|
||
[[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/<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
|
||
#+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/
|