Related
I would like to begin an initiative to port the Android Dalvik JVM to Bada. This would open up access to Android applications on the Bada platform and even allow for the creation of hybrid applications.
If you are interested in the project please put forward your advice and offer your assistance.
I am personally quite busy with other side projects but would love to create a bit of momentum and get this off the ground.
Hope this finds you all well.
Comment away
sabianadmin said:
I would like to begin an initiative to port the Android Dalvik JVM to Bada. This would open up access to Android applications on the Bada platform and even allow for the creation of hybrid applications.
If you are interested in the project please put forward your advice and offer your assistance.
I am personally quite busy with other side projects but would love to create a bit of momentum and get this off the ground.
Hope this finds you all well.
Comment away
Click to expand...
Click to collapse
Grt.......i am tester basically and i dont have any knowledge on programming...plz let me know if i could help you in anyway....
I think this could create a lot more work than intended because:
Bada would have to somehow support Intents/Activities
Same can be said about the UI (this could open up a can of worms) trying to match up Android UI with Bada UI aspects such as lists, menus etc
How can a dalvikvm based app be executed - we're talking about multilayers - am not sure if Bada can launch an app in this way
Dalvikvm machine under Android, is the main engine, under Bada, the C++ Runtime executes the binary, we're talking about a binary launcher launching a dalvikvm, in turn to launch a dalvikvm bytecode, that kind of process could consume far too much memory.....
Its too early to say yet at this stage on the bada SDK if it has the necessay support in place to enable this project to get off the ground
Just my 2cents
Good points. We need to establish how exactly android launches applications using Dalvik.
Does anyone know which libraries and dependencies Dalvik relies on in android?
We could create a wrapper which allows dalvik to be launched as a standard Bada app and then run a given application. Thoughts?
I did try port python 2.6 to bada last year and failed miserably due to the limited api's in place, unfortunately for bada, the majority of the API's are not there because the underlying architecture is nucleusRTOS which has a hacked up newlib and also a crappy compiler by codesourcery.
so does that mean that bada platform is not good?
I would not jump to that conclusion either...
Bada SDK has a lot of "growing up" to do... give it a chance
Who knows.... maybe bada 2.0 might have linux in place, instead of nucleusRTOS, for full head on linux sdk compatibility, multitasking.... who knows... just watch this space and wait and see....
Lets not focus on the kernel space for a second, at a user space level what BSD libraries are there?
i really thinkt hat one of the fastest ways to get a new OS on all waves mobiles is to collect some money and put it as a bounty for the releaser
i mean, it's already a LOT of work to port a new OS on a mobile phone, it's even harder if it's free D:
http://www.engadget.com/2011/02/08/myriad-alien-dalvik-runs-android-apps-on-any-phone-starting/
This company proved my point. Nice working being interested in something that is clearly worth being interested in guys.... *Facepalm*
@sabianadmin : really it would be great if it could happen to bada. Your idea was great to port dalvik on bada. Are you working on it?? just curious !!
Maybe this http://www.engadget.com/2011/02/08/myriad-alien-dalvik-runs-android-apps-on-any-phone-starting/ will be ported to Bada, too...
Yep been working on it for a couple of days. talking to a few people and getting and trying to figure out how to make a self contained dalvik wrapper (Myriad use Qt, we could do the same if someone ports Qt to Bada :-/ ). it really shouldn't be *that* hard to do.
@anghelyi i posted that link like 2 posts ago?!
It'd be pretty sweet if you could get in touch with Myriad and find out about their Alien Dalvik
Damn If you want to Port android to the Samsung wave go to the androidport site
We gonna port android 2.2 to the samsung wave (and we finally got an working ARM7 tool)
Just if you want this go to us
Just wait for that we been finished and you'll can do anything you want
wavedroid said:
Damn If you want to Port android to the Samsung wave go to the androidport site
We gonna port android 2.2 to the samsung wave (and we finally got an working ARM7 tool)
Just if you want this go to us
Just wait for that we been finished and you'll can do anything you want
Click to expand...
Click to collapse
sabianadmin started this topic with the intention of discussing about the possibility of porting Dalvik VM to bada and not the whole android. That topic has been discussed and closed elsewhere.
wavedroid said:
Damn If you want to Port android to the Samsung wave go to the androidport site
We gonna port android 2.2 to the samsung wave (and we finally got an working ARM7 tool)
Just if you want this go to us
Just wait for that we been finished and you'll can do anything you want
Click to expand...
Click to collapse
Once again proving your sheer stupidity. I am talking about running the Dalvik JVM to run android applications. Did you even read what we have been talking about here? This has nothing to do with porting the Android platform to the Wave.
Go troll on your own forums buddy.
I dont' know, but it seems that porting Myriad it would be more easy, interesting and powerful for run android apps, than porting android OS.
When they would release the source code?
The only problem is that Myriad uses Qt and so far we have not ported Qt to bada... Anyone want to give it a go? (yeah i know about the bada-lighthouse project)
Myriad
I'm new to this forum and just found this discussion via Google while looking for some related details on Dalvik.
Isn't the Turbo Dalvik from Myriad closed source, seems like a commercial product aimed at companies?
Hello there to all the souls of the xda forums.
im new to wp7. never used one before like 3 days ago. i like it, great device my surround is. but im not here to tell you about how good it is. we all know its good.
im here to ask if theres any real hacking going on with this thing yet. im looking for at least some kind of command line.
from there i could use tools such as aircrack, nmap, metasploit, SET, etc.
ive had an iphone for about 3 years, booting iOS and Android. i am used to hacking from that, but at the same time i know there a bigger user base for those devices, so theres more devs for it. i just wanted to know if anyone has already started on such a project before i dedicate alot of my time to developing this for you all.
BTW i am not interested in pirating apps, cracking apps
With enough effort, command-line interface *might* be possible - the OS technically supports such things - but the underlying core is Windows CE. Even less so than NT, CE really isn't meant for a CLI; apps are written with the intent of being run on a graphical interface. Also, having no POSIX compatibility and only partial Win32 compatibility, a lot of apps that you're used to from the desktop (or from POSIX-based phone OSs like iOS and Android) aren't going to be available.
That said, if you want to get started in the WP7 hacking space, there's certainly plenty to do. One project that I have on the back burner until I get some more urgent stuff out of the way is a SSH client. There are a number of things that are required here. First of all, we have homebrew Socket support, but the official SDK lacks it so you'd need to use a native Homebrew DLL. Second, there's no official command line interface, so you'd need to write one. The second point is all sorts of fun, since what you're really writing is a terminal emulator.
Other interesting projects include getting a unified cross-platform approach to writing to the filesystem, or even reading from all of it (instead of the relatively small portions currently accessible) or figuring out how to make third-party apps run in the background.
thanks man. I think I'll work on getting a full file browser for the phone. That should happen , i think, before anything else. As far as a terminal emu, it sounds like its going to be more of a chalange for me. Again, I'm used to more Linux and UNIX systems than I am windows. I had to reinstall windows 7 onto a partition just so I could sync the phone with the Zune software Microsoft insisted I use.
So is anyone currently working on the file browser? Has there been any progress with it? If so, who should I contact so I can help?
sea_bass said:
thanks man. I think I'll work on getting a full file browser for the phone. That should happen , i think, before anything else. As far as a terminal emu, it sounds like its going to be more of a chalange for me. Again, I'm used to more Linux and UNIX systems than I am windows. I had to reinstall windows 7 onto a partition just so I could sync the phone with the Zune software Microsoft insisted I use.
So is anyone currently working on the file browser? Has there been any progress with it? If so, who should I contact so I can help?
Click to expand...
Click to collapse
TouchXplorer. Do a bit of searching. A lot of homebrew has already been in the works.
thesecondsfade said:
TouchXplorer. Do a bit of searching. A lot of homebrew has already been in the works.
Click to expand...
Click to collapse
Thanks. Just found that page
hello,
since i got a galaxy tab 3 i am wondering, if it is possible to run native linux on it.
i searched the web but couldnt found someone, who did it.
my question is, if it could be done and what steps are required to do so.
i appreciate any help
right ?
ineb2k said:
hello,
since i got a galaxy tab 3 i am wondering, if it is possible to run native linux on it.
i searched the web but couldnt found someone, who did it.
my question is, if it could be done and what steps are required to do so.
i appreciate any help
Click to expand...
Click to collapse
i would say it has to be possible, trying to find an answer that's useful, insightful, and adventurous nature is the hang-up.
i think it's completely possible to tinker with the kernel and get it to talk to i guess the word is process? that acts grub-ish
in nature and do like a pc to boot a nested system like dyne-bolic or run sort of a rip linux, partition magic, livecd
kind of thing but there doesn't seem to be any interest. i don't think these devices are just cheesey gadgets
for all the things you can do with them, and i don't think android should be the lock and key.
i'm thinking that all of the user storage could be kicked to the extSdCard, the android / could be resized a little bigger to allow
it to expand as it will, then get rid of the fuse emulation thing, then take the balance of that internal storage and set it up
like a bootable usb [going back to the grub idea] i know drivers/firmware on an arm setup are difficult, i don't doubt the devs
but on a tab with an x86 processor where if i'm correct most of the armishness of android is emulated and otg is good to go
i can't see how it can't be done, of course the ui would blow without a mouse or keyboard but that should be workable as well
oh yeah and drivers are wrap-able right?
anyway
I know this question will come with some confused comments and answers... so Ill ask the question and qualify my question with some examples why I am asking and of what I am not asking.
Question: What is the likelihood of getting/shoehorning Full x86 Windows 10 (or 8.1 until 10 releases) onto this phone?
Qualifying statements:
1. I am not asking about Windows Phone OS at all. Everyone knows Microsoft screwed the pooch during their shift from Windows Mobile 6.5 to Windows Phone 7 then again from Windows Phone 7 to Windows Phone 8. That is why so many of us jumped ship from Microsoft's Phone offerings over to Android in 2010. This is 5 years later and Microsoft might be able to get some market share back, but only if they pull their head out of their a$$....
2. (Example of irrelevant answer... Why do you want full Windows when there is Win RT or WinPho???lol!!!!LMFAO!!!! TrolllFACE!!!)
There are plenty of usage cases to justify full x86 Windows on a mobile device. Microsoft and Intel are pushing on the tablet market but for some reason they have not begun to crack the phone market with Full WinTel.... Simply put, If someone is willing to pick up a Windows 8.1 x86 tablet with 1GB or 2GB of RAM for $200 or $300 bucks then they should be ok picking up a similar device with 4GB of RAM and the ability to make calls.
3. (Another example of irrelevant answer...But Android!!!! It rulz!!!)
First off I am an avid android user. We started with My wife and I getting the EVO 4G in 2010, then EVO 3D in 2011 (I know...), then Note 2 in 2012, and My wife switching out the Note 2 for the Huawei Ascend Mate 2 last year. Im holding on to my Note 2 for the final stretch with its 9300 mAh Zero Lemon battery. All phones we've gotten have been rooted and customized by me. I use Bluestacks and/or Andy OS on all of my Windows PCs and have owned several Android Tablets. In short I prefer Android over Windows phone and iOS and whatever else is out there... Now in saying that, I feel a full Windows device in a phone with sufficient processor and RAM would be able to run Windows as its main OS and Android as an emulator to satisfy my Android needs.
Very well put, I'm also interested in this.
Sent from my MT2L03 using Tapatalk
Also interested in this!
I think this needs Microsoft's direct support. IMHO these are some blockades the community will be met with:
1. Since Android uses a boot.img as stage2, some work have to be done for the boot image to be able to chainload Windows. Vanilla installation goes out of the equation.
2. Figuring out how to chainload a proprietary OS properly is, well, hard.
3. It seems like the device uses some special Intel modem and wireless chipset. Porting won't be easy (Look at Intel PRO...)
4. Although 5.5in is GIGANTIC for a phone, maybe explorer or metro won't be able to fit in it?
5. Onboard storage is lackluster to host a full desktop Windows.
6. Windows doesn't even have a dialer.
But generally, this is a great idea! Being able to run x86 apps on a phone, oh the feels!
I'd be very interested if it would run full x86 or x64 Windows! However as stated, I doubt that will happen.
Even then it would be a bit limited and the main issue I would imagine to be space. The screen is quite small for a 1080p window to display on. I'd want to probably run a 720p res for larger buttons and such, might fit a bit better.
Perhaps if you could have it all run off a memory card, but then it would be rather slow to boot and cache stuff?
Here check out this small presentation. Something could be possible with the virtualization extensions that intel processor has.
This totally depends on :
- how well Asus releases the source code.
- Bootloader unlockable or not, i.e. ways to work around the secure boot.
I tried similar things on Lenovo K900 which is running Z2580. Lenovo's open source release was just horrible since even building the kernel was difficult due to lack of info.
I was able to eventually built the kernel with KVM enabled, but was having trouble signing the kernel for the bootloader.
Just force loading the kvm.ko was not successful either since the stock kernel had some feature missing required by KVM.
I would be interested to work on this phone again if we can form a group.
kazuken said:
Here check out this small presentation. Something could be possible with the virtualization extensions that intel processor has.
Click to expand...
Click to collapse
chinabull said:
This totally depends on :
- how well Asus releases the source code.
- Bootloader unlockable or not, i.e. ways to work around the secure boot.
I tried similar things on Lenovo K900 which is running Z2580. Lenovo's open source release was just horrible since even building the kernel was difficult due to lack of info.
I was able to eventually built the kernel with KVM enabled, but was having trouble signing the kernel for the bootloader.
Just force loading the kvm.ko was not successful either since the stock kernel had some feature missing required by KVM.
I would be interested to work on this phone again if we can form a group.
Click to expand...
Click to collapse
sure we can start a group on slack.com
some other things that also come to my mind:
wine for x86
docker for x86
debian chroot
wine already has some ARM support
This would likely be much easier... Notice the 'high end' system reqs?
http://www.ubuntu.com/tablet/operators-and-oems
I think the biggest problem for Windows would be wrestling with the PowerVR-based gpu.. Those stupid things are usually a roadblock in just about every interesting project..
kazuken said:
sure we can start a group on slack.com
some other things that also come to my mind:
wine for x86
docker for x86
debian chroot
wine already has some ARM support
Click to expand...
Click to collapse
Sorry for ressurecting this old thread but you would definitely be able to run Linux X86 on chroot. Then through wine you'd be able to run a lot of windows apps. Only issue is that performance would be low *unless* you'd output the GUI to android's framebuffer (FB0) which would require a kernel supporting this (outputting to framebuffer) which in turn would need Asus releasing the kernel sources so that to bake FB support.
So yeah it's all doable even with relatively good performance and by outputting the image (through MHL or chromecast) into the big screen would give us a X86 PC on the go. In fact I'd prefer it from running windows X86 natively because then you'd be losing calls and notifications... Imagine your *phone* running all your PC's software (well almost all as wine often has issues). You can buy one of those 128gb micro sds and your "phone" would have plenty of space for your (PC) data...
Stevethegreat said:
Sorry for ressurecting this old thread but you would definitely be able to run Linux X86 on chroot. Then through wine you'd be able to run a lot of windows apps. Only issue is that performance would be low *unless* you'd output the GUI to android's framebuffer (FB0) which would require a kernel supporting this (outputting to framebuffer) which in turn would need Asus releasing the kernel sources so that to bake FB support.
So yeah it's all doable even with relatively good performance and by outputting the image (through MHL or chromecast) into the big screen would give us a X86 PC on the go. In fact I'd prefer it from running windows X86 natively because then you'd be losing calls and notifications... Imagine your *phone* running all your PC's software (well almost all as wine often has issues). You can buy one of those 128gb micro sds and your "phone" would have plenty of space for your (PC) data...
Click to expand...
Click to collapse
I tried it out. you can get GNUroot and GNUroot wheezy x86 on play store. I was able to get fluxbox with tightvncserver running (though no apps, but was able to get an image in vnc) i am now going to try lxde and then see if nomachine 4.0 will work. wine should be able to run photoshop cs2.
kazuken said:
I tried it out. you can get GNUroot and GNUroot wheezy x86 on play store. I was able to get fluxbox with tightvncserver running (though no apps, but was able to get an image in vnc) i am now going to try lxde and then see if nomachine 4.0 will work. wine should be able to run photoshop cs2.
Click to expand...
Click to collapse
Problem with running your gui on a VNC server is that it is slow. It's (far) easier to setup though.
On my android machines I prefer to (basically) output an X Server window on the (machine's) frame buffer. You get real time performance (almost the same as if you had installed the OS natively), plus you get sound which is useful if one wants to run sound and video editing software (or plainly listen to music ). It's (quite) harder to setup but it has all been streamlined lately by a play store app named linuxdeploy (IIRC it has added X86 distros support lately).
Yeah... Don't use vnc, use xserver-xsdl . It's in the app store. Best Android X server. In your chroot, export DISPLAY=:0 after starting it up.
Sent from my ASUS_Z00AD using XDA Free mobile app
ycavan said:
Yeah... Don't use vnc, use xserver-xsdl . It's in the app store. Best Android X server. In your chroot, export DISPLAY=:0 after starting it up.
Sent from my ASUS_Z00AD using XDA Free mobile app
Click to expand...
Click to collapse
That's a great solution too! Hadn't thought to recommend it. It's easy to setup too.
Still outputting directly to framebuffer instead of an xserver app is quite faster (even than that!). But I'd expect the Xserver-XSDL performance to be quite good too.
OMG, this is SO interesting. I have been looking forward to put windows desktop in my phone since ages. Virtualization never let you go any further than Winxp. But now, this is another story. I am thinking of getting one of my own to help with the testing
Keep it up guys!
I ran photoshop cs2, via xserver xsdl, takes a while to load but eventually does, but its very hard to drag windows via xserver xsdl. i tried with vnc and was able to open a picture taken from the zenfone's camera and adjust levels. its alot easier to use a physical mouse and keyboard. but here are some screenshots of it running all on the android. it took brute force to create the x with the paintbrush and to drag a window. I ran it at 720p, also at 1080p. photoshop loads a lot quicker using xserver xsdl vs vnc.
You can change mouse settings when you start up xserver-xsdl. By default it's set up like the screen is a laptop touch pad.
The other thing you might want to try is a different Windows manager. I prefer fvwm2 since it's very light.
Sent from my ASUS_Z00AD using XDA Free mobile app
*irrelevant reply alert*
This takes me back to running Linux on the Windows-based XDA Exec. Those were the days.
Anyway, this is a great idea and you're finding some interesting workarounds, but I think you should be looking to get Windows to run natively. Sure, it doesn't have a dialler, but I'm sure someone can hook something up - especially if the interface is anything like the old Voice Modems from when we could only get our internets at 56kbps. (You kids don't know you're born! In my day, etc)
Meanwhile, in the Enterprise world where we try to reduce the costs of people having a whole processor each that they carry around with them, we're looking at using PCoIP to deliver a PC experience on a tablet. Sure, it's a little laggy (we're talking milliseconds on WiFi, though) but you get a lot of processing power, and if you're using Amazon you'll get NVidia rendering too. That's more for workstation graphics - CAD etc, rather than gaming. But then, if you're looking at installing Windows on a Phone, you're probably not going to be trying to play GTA5 on it.
Again, this reply is irrelevant because I realise you probably don't want to shell out $20-$40 per month on a virtual machine with a full Office suite. Plus, it's less fun to play with and not quite as much of an achievement to have set up something that works out of the box.
Native Linux 64 bit maybe, you get a much better OS, customizable, better resources management, open source, faster and waste less battery plus you can create your own mobile friendly interface just like Ubuntu Touch. Someone said it might be possible to port dialer, modem and other driver's concept since android is linux based. Microsoft is a handicapped development private code and as linux creator affirmed, its therefore a crappy OS lol There is steam on linux and it can run OpenGL games faster with the same hw due to uncluttered OS.
The hardest part will be GPU acceleration.
aziz07 said:
Native Linux 64 bit maybe, you get a much better OS, customizable, better resources management, open source, faster and waste less battery plus you can create your own mobile friendly interface just like Ubuntu Touch. Someone said it might be possible to port dialer, modem and other driver's concept since android is linux based. Microsoft is a handicapped development private code and as linux creator affirmed, its therefore a crappy OS lol There is steam on linux and it can run OpenGL games faster with the same hw due to uncluttered OS.
The hardest part will be GPU acceleration.
Click to expand...
Click to collapse
The .Net Framework is already Open Source. It's likely Windows 10 will go Open Source at some point. It's said to be the "last version of Windows" - probably similarly to the way MacOS X hasn't been replaced with MacOS XI. (There will still be a market for desktops when we have 128bit CPUs, and they won't just stick with the same 64bit kernel.)
Need some feedback from the community. What the title says. I can download Hulu on Windows 11/10 (desktop computer with unlocked processor and root permissions of the OS) and watch everything through my account but with Android P6P rooted, it's a PAIN IN THE ASS to watch hulu through the app.
I just don't understand the logic here. Can someone explain the difference?
rester555 said:
Need some feedback from the community. What the title says. I can download Hulu on Windows 11/10 (desktop computer with unlocked processor and root permissions of the OS) and watch everything through my account but with Android P6P rooted, it's a PAIN IN THE ASS to watch hulu through the app.
I just don't understand the logic here. Can someone explain the difference?
Click to expand...
Click to collapse
They are different things. I am not an expert but I know that android is linux based and windows isn't. There are different techniques used to display things, get root access, use the internet/apps etc. Also, the processor comes unlocked and it is meant to be that way unlike the phone which comes locked.
stelmilt said:
They are different things. I am not an expert but I know that android is linux based and windows isn't. There are different techniques used to display things, get root access, use the internet/apps etc. Also, the processor comes unlocked and it is meant to be that way unlike the phone which comes locked.
Click to expand...
Click to collapse
Fair point, my computer comes with an unlocked processor, but the phone comes with an unlockable bootloader, but that's a pretty weak argument with over the top restrictions from these vendors. It seems like they all have a vision in the future and that's everything behind a server wall in the future I bet and you are just a dumb terminal with a data pipe.
I guess another side point is how do you check which level of widevine you have? If memory serves me, on A13 if you don't have the proper level apps don't show movies like Hulu. Has this been solved for A13 on P6P?
Further review of doing identity check, I am getting an HDCP disconnected error when using hulu. Seems like the Hulu apk is looking for HDCP connect status.
Yep, Windows is a very different animal. Even with UAC (User Account Control) that has existed since Windows Vista, the main account of a Windows PC is still an Admin and effectively has root control. You can store Word documents in the Windows\System32\Drivers subfolder if you want. This kind of thing happens by accident all the time. It's pretty crazy, really.
I think even "Standard" (non-Admin) Windows accounts have far greater permissions than they would for some aspects they would on a Linux-based device. I think Standard users can still store things in the wrong places, but probably not as many wrong places, and they can't access other users' folders.
In the end, streaming services operating on a Windows PC have to operate without as strict conditions because the computer is already "rooted" as it comes from the manufacturer.
rester555 said:
Need some feedback from the community. What the title says. I can download Hulu on Windows 11/10 (desktop computer with unlocked processor and root permissions of the OS) and watch everything through my account but with Android P6P rooted, it's a PAIN IN THE ASS to watch hulu through the app.
I just don't understand the logic here. Can someone explain the difference?
Click to expand...
Click to collapse
There is ZERO difference, except EXPECTATION.
Because the software vendor CANNOT expect any desktop/laptop to not provide elevated privileges on demand, but STUPID FRIKKIN GOOBLE built it with these fundamental restrictions in as expectation.
I have hulu bought, but I can't watch it, so I ended up getting a modded apk
tl;dr; because android and Linux are open source
Whenever the app is starting either in windows or android, the only thing it can reach out it's an operating system. The app has almost no privileges over the OS while the OS has ALL over the app. Since the app wants to work with its own data that shouldn't be leaked, the app somehow must ensure it can trust the highly privileged OS before it brings the data into it. How an app can ensure? Well, with certain assumptions it can.
Windows is a proprietary OS with proprietary drivers. All drivers and critical binaries in the OS are passing Microsoft's signing to ensure they aren't modified and their developers are known. OS and drivers are all binaries which makes them hard to be modified or at least such modification would require abnormal resources like expertise, time, money, and knowledge. Windows passes different certifications, security audits, and under permanent attention from security researches. Such things as audits are trying to ensure the OS applies all available security measures and is using available hardware to protect the system and apps from intrusion/modification, thus enterprises trust it. Considering the all above, you, as an app developer, can easily assume: I can trust Windows as its binaries can be hardly modified as it leverages hardware to secure everything, so whenever our app will ask the OS to provide a hardware protected storage for the data, the app will get it.
The all above applies to the stock Android as well, and apps trust such systems. The only difference here is that app developers know that Android and Linux kernel are open source and anyone can modify them and flash into the phone. Now, how an app can ensure it runs on the OS that can be trusted? The app can do that by checking whether the OS is rooted or not. If it's rooted, the OS is certainly somehow modified. The app's devs are assuming that highly privileged modified OS can fake/emulate secure storage and steal the app's data from the less privileged app.
If you wish here is an analogy: Windows is a Ritz Hotel and Android is AirBnB. While they are serving the same purpose: host you as a guest, they are different, and you'll deal with them differently as a guest. Ritz has reputation, a license to run a business, and no one can fake a Ritz hotel. When you stop in a Ritz hotel, you can 100% be sure you can trust it and there are no hidden cameras in rooms as well as you can expect a decent service. Absolutely different story with AirBnB. In AirBnB everyone can be a host, and this brings a problem with a trust to a random person. Once you stop in Airbnb apartments, you highly likely will try to find a hidden camera to understand whether you can trust the host or not.
PS: as per my knowledge, some banking apps aren't running on rooted phones due to same reasons
burned-donut said:
tl;dr; because android and Linux are open source
Whenever the app is starting either in windows or android, the only thing it can reach out it's an operating system. The app has almost no privileges over the OS while the OS has ALL over the app. Since the app wants to work with its own data that shouldn't be leaked, the app somehow must ensure it can trust the highly privileged OS before it brings the data into it. How an app can ensure? Well, with certain assumptions it can.
Windows is a proprietary OS with proprietary drivers. All drivers and critical binaries in the OS are passing Microsoft's signing to ensure they aren't modified and their developers are known. OS and drivers are all binaries which makes them hard to be modified or at least such modification would require abnormal resources like expertise, time, money, and knowledge. Windows passes different certifications, security audits, and under permanent attention from security researches. Such things as audits are trying to ensure the OS applies all available security measures and is using available hardware to protect the system and apps from intrusion/modification, thus enterprises trust it. Considering the all above, you, as an app developer, can easily assume: I can trust Windows as its binaries can be hardly modified as it leverages hardware to secure everything, so whenever our app will ask the OS to provide a hardware protected storage for the data, the app will get it.
The all above applies to the stock Android as well, and apps trust such systems. The only difference here is that app developers know that Android and Linux kernel are open source and anyone can modify them and flash into the phone. Now, how an app can ensure it runs on the OS that can be trusted? The app can do that by checking whether the OS is rooted or not. If it's rooted, the OS is certainly somehow modified. The app's devs are assuming that highly privileged modified OS can fake/emulate secure storage and steal the app's data from the less privileged app.
If you wish here is an analogy: Windows is a Ritz Hotel and Android is AirBnB. While they are serving the same purpose: host you as a guest, they are different, and you'll deal with them differently as a guest. Ritz has reputation, a license to run a business, and no one can fake a Ritz hotel. When you stop in a Ritz hotel, you can 100% be sure you can trust it and there are no hidden cameras in rooms as well as you can expect a decent service. Absolutely different story with AirBnB. In AirBnB everyone can be a host, and this brings a problem with a trust to a random person. Once you stop in Airbnb apartments, you highly likely will try to find a hidden camera to understand whether you can trust the host or not.
PS: as per my knowledge, some banking apps aren't running on rooted phones due to same reasons
Click to expand...
Click to collapse
That is all hogwash. They harass owners of mobile devices *because they can*, which is exclusively connected to expectation and not security.
As for your example of a custom compiled kernel, THAT IS NOT ROOT. That's just a custom compiled kernel.
96carboard said:
As for your example of a custom compiled kernel, THAT IS NOT ROOT. That's just a custom compiled kernel.
Click to expand...
Click to collapse
It’s not a “just”. Kernel is the most privileged part of the whole system and “just custom compiled” for app developers means “it’s no longer a kernel signed by the manufacturers we trust as they have contracts with vendors supplying a DRM subsystem and this unknown kernel has endless power over the system and who knows how it was altered”. Thus “just custom compiled android” with “just root functionality” is the same thing from the app’s perspective. Google for “android verified boot” and you’ll learn why “just custom compiled kernel” breaks the chain of trust.
PS: in past I was a developer of a linux multimedia devices that had supported the same thing to play drm media. Without proper drm support which requires a verified boot no one will allow you to join the US media market and import your devices. If Hulu app would allow to play a licensed content on devices without drm+verified boot — the Hulu immediately would be kicked out from the market by other players.
burned-donut said:
tl;dr; because android and Linux are open source
Whenever the app is starting either in windows or android, the only thing it can reach out it's an operating system. The app has almost no privileges over the OS while the OS has ALL over the app. Since the app wants to work with its own data that shouldn't be leaked, the app somehow must ensure it can trust the highly privileged OS before it brings the data into it. How an app can ensure? Well, with certain assumptions it can.
Windows is a proprietary OS with proprietary drivers. All drivers and critical binaries in the OS are passing Microsoft's signing to ensure they aren't modified and their developers are known. OS and drivers are all binaries which makes them hard to be modified or at least such modification would require abnormal resources like expertise, time, money, and knowledge. Windows passes different certifications, security audits, and under permanent attention from security researches. Such things as audits are trying to ensure the OS applies all available security measures and is using available hardware to protect the system and apps from intrusion/modification, thus enterprises trust it. Considering the all above, you, as an app developer, can easily assume: I can trust Windows as its binaries can be hardly modified as it leverages hardware to secure everything, so whenever our app will ask the OS to provide a hardware protected storage for the data, the app will get it.
The all above applies to the stock Android as well, and apps trust such systems. The only difference here is that app developers know that Android and Linux kernel are open source and anyone can modify them and flash into the phone. Now, how an app can ensure it runs on the OS that can be trusted? The app can do that by checking whether the OS is rooted or not. If it's rooted, the OS is certainly somehow modified. The app's devs are assuming that highly privileged modified OS can fake/emulate secure storage and steal the app's data from the less privileged app.
If you wish here is an analogy: Windows is a Ritz Hotel and Android is AirBnB. While they are serving the same purpose: host you as a guest, they are different, and you'll deal with them differently as a guest. Ritz has reputation, a license to run a business, and no one can fake a Ritz hotel. When you stop in a Ritz hotel, you can 100% be sure you can trust it and there are no hidden cameras in rooms as well as you can expect a decent service. Absolutely different story with AirBnB. In AirBnB everyone can be a host, and this brings a problem with a trust to a random person. Once you stop in Airbnb apartments, you highly likely will try to find a hidden camera to understand whether you can trust the host or not.
PS: as per my knowledge, some banking apps aren't running on rooted phones due to same reasons
Click to expand...
Click to collapse
A custom kernel is not the same thing as root. In classic Linux and UNIX, root is a user account that can do pretty much anything (even delete the entire OS if you know what flags to pass to rm, I will not go into what they are). Root is present on a lot of Linux distros until disabled, and all variants of BSD.
Next time do your research before acting like you know what you're talking about, there will always be someone who actually knows that will take you down a peg.
dragynbane222 said:
A custom kernel is not the same thing as root.
Click to expand...
Click to collapse
You didn't read my comment carefully. I did say:
burned-donut said:
Now, how an app can ensure it runs on the OS that can be trusted? The app can do that by checking whether the OS is rooted or not. If it's rooted, the OS is certainly somehow modified.
Click to expand...
Click to collapse
The app doesn't care about the rooting itself, it has only concerns about whether it can trust the whole system or not. If the system is rooted → it came from an unverified source → it's likely somehow modified because it's open source → no trust. The rooting is only a red flag because none of stock Androids have it. Nowadays, there could be other options to check whether the chain of trust is broken or not, so apps could decline to work even if there is no rooting at all but custom kernel had broken the chain.
dragynbane222 said:
root is a user account that can do pretty much anything even delete the entire OS
Click to expand...
Click to collapse
That's no longer true. The Linux kernel (and Android particularly) has the SELinux subsystem that can be tuned up to prevent a root user from doing that. Kernel has absolute privileges, and kernel can manage what's allowed to the root user. Next time, do your research before acting like you know what you're talking about.
burned-donut said:
It’s not a “just”. Kernel is the most privileged part of the whole system and “just custom compiled” for app developers means “it’s no longer a kernel signed by the manufacturers we trust as they have contracts with vendors supplying a DRM subsystem and this unknown kernel has endless power over the system and who knows how it was altered”. Thus “just custom compiled android” with “just root functionality” is the same thing from the app’s perspective. Google for “android verified boot” and you’ll learn why “just custom compiled kernel” breaks the chain of trust.
PS: in past I was a developer of a linux multimedia devices that had supported the same thing to play drm media. Without proper drm support which requires a verified boot no one will allow you to join the US media market and import your devices. If Hulu app would allow to play a licensed content on devices without drm+verified boot — the Hulu immediately would be kicked out from the market by other players.
Click to expand...
Click to collapse
What are you on about? That has nothing to do with this discussion.
burned-donut said:
it's likely somehow modified because it's open source
Click to expand...
Click to collapse
Being open source has NOTHING AT ALL to do with whether or not it is modified.
96carboard said:
Being open source has NOTHING AT ALL to do with whether or not it is modified.
Click to expand...
Click to collapse
Sorry, no wish to continue a discussion after such confident but fallacy statement. Good luck.