Comments (10)
Dear @fusionneur,
thank you for your request, which is not the first of this kind.
They are quite some conditions to meet to implement this. I am sure
you didn't consider all of them, If yes, I will do it as you please.
- What is the Up-to-Date version of busybox?
- What are the present versions of busybox in the script?
- What tool in detail are you missing in the present busybox version? and why?
- Does your code run in Linux/Mac/Windows?
- Why exactly should Magisk be downloaded locally and then pushed to the avd?
- Why exactly should busybox be downloaded locally and then pushed to the avd?
- If you would move your code to be executed within the avd, does it also run with Android 7?
- Or would you actually need busybox to get busybox?
from rootavd.
Hi and thank you for reply. I try to answer some of the questions. But before, I just want to mention that I just discovered the project yesterday, so I didn't really have time to look too deep into the code. I was more familiar with shakalaka's implementation which seems to not be updated anymore and had quite a lot of issues. Thank you a lot for this great tool !
What is the Up-to-Date version of busybox?
I suppose these binaries should be actually used https://www.busybox.net/downloads/binaries/
What are the present versions of busybox in the script?
If you refer to my snippet, they are taken from busybox-ndk magisk module (https://github.com/Magisk-Modules-Repo/busybox-ndk). But as I previously said, maybe the original binaries should be used.
If you refer to rootAVD's busybox version, I didn't look so deep into it yet and it seems quite obfuscated.
What tool in detail are you missing in the present busybox version? and why?
None, I believe. I tried rootAVD's yesterday with success on an android v 13 (API 33)
Does your code run in Linux/Mac/Windows?
curl and wget is nowadays on all major OSs. my snippet should be easily adapted in .bat form for windows
Why exactly should Magisk be downloaded locally and then pushed to the avd?
for eg. to preserve a copy that could be reused on other avd's, if the version already matches the latest.
Why exactly should busybox be downloaded locally and then pushed to the avd?
One reason is to prevent circular dependency, like you further specified - requiring busybox inside avd to download itself. Another reason and most important, and actually the reason for opening this issue, is to prevent obfuscating and adding unnecessary complexity in the code.
Also from security perspective, one could easily validate it's authenticity, being downloaded from original source without the possibility of being tampered (even magisk's internal busybox seems to be a different version than the original.. why?). Imo, It just feels more natural to have it already downloaded and just push it to AVD, than having to dump an embedded binary into a huge script every time it updates which makes it difficult to maintain. Also, same as previous question, you could reuse the already downloaded for rooting other AVD's.
If you would move your code to be executed within the avd, does it also run with Android 7?
Or would you actually need busybox to get busybox?
The snippet I wrote is supposed to run on host, and to be executed before the actual patching, rather than on the AVD.
from rootavd.
What tool in detail are you missing in the present busybox version? and why?
None, I believe. I tried rootAVD's yesterday with success on an android v 13 (API 33)
Thanks for your reply. So there is actually no practical reason nor a real benefit to change this.
from rootavd.
real benefit is having the code easily audited and trustable
from rootavd.
Dont use it if you dont trust it.
Easily audited for whom?
from rootavd.
by community.. ? isn't this the point of being open source? if not, then just upload one single obfuscated binary instead of the code
from rootavd.
It is just a script! If github is showing it not correctly, not my fault. Just dont use it, or fork it and rewrite it in your own style.
from rootavd.
i am not talking about how github doesn't show the script (that's because it is too long which is a consequence of having the busybox binary embedded in the script)
i am talking about this big chunk of binary inserted at the end of the script, that looks awful:
from rootavd.
Both are the same. The "chunk" is the start of one of the busybox binarys.
from rootavd.
my point is, code should contain code, not binaries. it's up to you what you do with this information
from rootavd.
Related Issues (20)
- Update for Magisk 26.1 for Shamiko-v0.7.3-174-release.zip HOT 1
- Root AVD with playstore installed HOT 1
- Magisk won't install/root on AVD API 34 (Android 14) HOT 8
- New Install google_apis location HOT 13
- android 10 HOT 22
- Images not found (Android Emulator via Visual Studio 2022) HOT 6
- Error: file C:\Users\pathtoramdisk.img not found HOT 6
- Problem installing with Pixel_3a_XL_API_25 and android 7 HOT 10
- Rooted but Magisk not available HOT 17
- Problem with fakeboot HOT 14
- how to install Magisk 26.2 HOT 9
- mac m1 run rootAVD error
- Wget stopped working HOT 1
- please add the missing else keyword between ignoring echo and actual push HOT 1
- The script doesn't check if it has permission to write. HOT 1
- Can we dump L3 winewive HOT 2
- Process stucks at message - [!] Checking available Magisk Versions HOT 2
- file "ramdisk.img" not found. HOT 1
- rooting process doesn't start HOT 5
- Zygisk is not working HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rootavd.