Sunday, August 26, 2018

Rootless Pixel Launcher now on the Google Play Store with Pixel Bridge

rootless pixel launcher

When we talk about custom launchers, often people will mention the ones based on or similar to the Google Pixel Launcher. There's Lawnchair, Lean Launcher, Rootless Pixel Launcher, Ruthless and more. Rootless Pixel Launcher is an especially interesting one in that it's based on Android's open source Launcher3 and merged with decompiled Pixel Launcher sources. It's developed by Amir Zaidi, who has been working on the project since the original Google Pixel released. Lean Launcher and an upcoming Lawnchair release actually already use it as a base and add their own features on top of it. In a sense, Rootless Pixel Launcher is simply a stable software base which other developers can take and add to.

There is one downside to the way it does things though: It uses the Pixel Launcher's original package name. This is so it can display the Google Now Panel and the "At a Glance" features without resorting to using any kind of companion application. That's changing with Rootless Pixel Launcher 3.8 so it can be released on the Google Play Store.

Rootless Pixel Launcher 3.8 is now on the Google Play Store

First, the Rootless Pixel Bridge is what allows this launcher to make its way over to the Google Play Store. It uses a similar method to what Nova Companion does, except Amir Zaidi tells me that it is compatible with any launcher. It's completely open source as well so that developers can learn how to implement support for it into their own launcher. The install process is documented above—it really is that simple. All the Rootless Pixel Bridge does is act as a handshake forwarder so when Google makes changes to their API it should still work fine. The developer will just need to make changes to their launcher to accommodate those API changes.

Rootless Pixel Launcher 3.8 is still based on Android Oreo, with a future release possibly planned with the release of Android 9.1. For now, there's no real reason to go through the decompilation and deobfuscation process of Android Pie's Pixel Launcher. There aren't enough new features to justify that process, so instead, we're getting to see the Rootless Pixel Bridge and some other small changes and improvements.

The Google Play Store link is down below. Be aware that you can't import your old layout from previous versions and that you'll have to reinstall. This is because of the signing key to accommodate a Play Store release. Google Pixel users will also have to wait for the Magisk module to release for the Rootless Pixel Bridge. The Bridge acts like the Google Pixel launcher does to the Google App, which will conflict with the real Pixel Launcher on your device.

Rootless Launcher (Free, Google Play) →



from xda-developers https://ift.tt/2MReCSY
via IFTTT

Android Messages’ new Material Theme design with Dark Mode rolls out

Update 8/18/18: It appears that Google made a server-side update last night which reverted the new Material Theme design with the dark theme.

Update 8/26/18: A new version of the app has rolled out which brings back both the Material Theme design and the dark mode!

Google has released the new Material Theme redesign for the Android Messages application in version 3.5.048 to all users. We discovered how to enable it way back in version 3.3 when it was first added as a hidden option, but now it's rolling out to all users. It's not just a completely rejigged UI, but the inclusion of a brand new dark mode as well.

The new UI itself is a complete re-write of the old one, and as such looks entirely different. Not only that, but there never was a dark theme for Android Messages either. This isn't the first Google-made application to be receiving a dark theme, as YouTube also has gotten one recently too. In countries where SMS is used heavily, the redesign of Android Messages will for sure be a welcome addition.

Google is redesigning a number of first-party applications to fit the new Material Design theme. This includes Google Photos, Gmail and more. With this release, it's possible that the floodgates may open to releasing even more material theme redesigned applications. It's an upgrade for sure and looks a whole lot nicer than the old design.

If you're wondering how to get the new update, you can download the latest APK from APKMirror below and install it. If you don't see the new design right away, force stop the application, clear the cache, and check it again. You may need to do this twice. It is definitely active in this version as many users on Reddit are reporting that they have the new redesign following an update from the Google Play Store. If it doesn't work, then you're probably just going to have to wait. It's unlikely to be a staged rollout as we did get it working on a OnePlus 6 not logged into a Google account. You can download the APK below.

Update: Google has reverted the change

It appears that Google has pushed a server-side update which disables the new design and dark theme. While dark mode wasn't mentioned in the changelog, the Material Design 2 redesign was. We'll be keeping an eye out to see if an official statement is released on why the changes were reverted.

Update 2: Android Messages new Material Theme design rolling out again

The redesign appears to be rolling back out again. Here's the APK you'll need.

Android Messages with Material Design 2 and Dark Theme



from xda-developers https://ift.tt/2MW3zEU
via IFTTT

Saturday, August 25, 2018

List of Android Pie (Android 9) ports for smartphones and tablets

Android Pie Android 9

Since Android Pie was announced and its source code made available on AOSP, the developer community on our forums has been hard at work building the latest release for their devices. Although the stable, official Android 9 Pie release is currently only available for the Google Pixel/Pixel XL, Google Pixel 2/Pixel 2 XL, and Essential Phone, we've seen ports of the latest Android version make their way to devices as old as the original Motorola Moto G and OnePlus One. There are so many devices on our forums that it's hard to find the first ports of Android Pie for your device. To that end, I'm putting together a list of Android smartphones and tablets that have received an unofficial Android 9 Pie custom ROM.

Update 8/25/18: The following devices have been added to the list:

Android 9 Pie Features

As a reminder, here are the most important new features of Android 9 Pie that you'll be getting if you update to one of these unofficial releases:

  • Gesture Navigation – removes the recent apps overview button and replaces the original home button with a pill that can slide up to show recent apps or slide right to quickly switch between apps
  • Revamped recent apps – the vertical, stacked card list is replaced with a horizontal card list (interestingly, the launcher is now integrated with the recent apps overview which opens up some exciting possibilities)
  • Revamped user interface – commonly called "Material Design 2," the new Material Theme guidelines have brought a fresh coat of paint throughout the UI
  • Digital Wellbeing – a feature designed to help you use your smartphone less by tracking your usage and wind down at night to prevent distractions (officially only available for the Google Pixel, but can easily be enabled unofficially)
  • App Actions and Slices API – the former API allows apps to show predictive actions while the latter allows apps to show a part ("slice") of their UI inside of another app
  • Adaptive Battery – with App Standby Buckets, Android limits power consumption for the apps that you don't use all that often

Android Pie Ports for Android Smartphones and Tablets

Before we begin this list, we want you  to take note of a few things:

  • Please read the OP of each linked thread as well as the first few posts so you know the current status of each build.
  • This is not a comprehensive list of all Android 9 Pie releases. Because of the sheer number of devices on our forums, it's impossible to be completely up-to-date on the status of Android Pie for each device, so we may be missing some in this post. Search your device's forum to be sure!
  • Although we will be updating this list from time-to-time, there will be a point where the number of unofficial Android 9 Pie ports is too large for us to keep up with. We'll try our best to stay up-to-date, though.
  • We will not be listing custom Android Pie ROMs for any devices that have already officially received Android 9 releases from the OEMs. That includes the following devices:

List of devices with official Android 9 Pie releases

Now, here is our list, categorized by brand. We will list the ROM name in parenthesis, but keep in mind that nearly every release will be basically stock AOSP since custom ROM developers haven't had enough time to bring up their ROM's features.

Asus

Google

Honor

Huawei

LeEco

Lenovo

Motorola

OnePlus

Samsung

Sony

Xiaomi

ZTE

Other Devices

Is your device not on the list but you still want to try Android 9 Pie? You may have a chance! Devices like the Razer Phone, Huawei Mate 9, Exynos Samsung Galaxy S9+, and more can experience Android Pie as they are Project Treble-compatible. You can follow this guide to see if your device supports Project Treble. If it does, then you can flash an AOSP Generic System Image based on the Android 9 Pie release, as described in further detail here.


Please help us populate this list! If there's a device with an Android Pie build not on the list, please post a link to the relevant thread in the comments down below!



from xda-developers https://ift.tt/2o1Lk5O
via IFTTT

Samsung Galaxy Note 9 (Exynos) Kernel Source code now available

Samsung Galaxy Note 9

The Samsung Galaxy Note 9 was released to the public more than two weeks ago. The phone has some subtle improvements over its predecessor, the Samsung Galaxy Note 8. The Galaxy Note 9 has a slightly better screen, slightly better camera, and slightly better battery. To put it in short, it's a slightly better phone. The most notable change is the inclusion of a Bluetooth-enabled S Pen. In typical Samsung Galaxy Note fashion, it's packed full of extra sensors and features you won't find on any other smartphone. But for those of you who love Samsung Galaxy Note phones for their build quality and specifications but not necessarily its software, you may be interested in installing a custom ROM on the smartphone. For that to happen, you need two things: an unlockable bootloader and the kernel source code to make custom recoveries and kernels possible.

The Samsung Galaxy Note 9 has two hardware variants available, one with the Exynos 9810 system-on-chip and another with the Qualcomm Snapdragon 845. We can unlock the bootloader officially on the Exynos variant of the phone. For the Snapdragon one, we have to rely on the third-party tools or exploits like SAMFail, which is not yet available for the Galaxy Note 9.

Even after unlocking the bootloader, you need to have the resources available to mod the phone, like a custom recovery, ROM, kernels, etc. Thankfully, Samsung has released the kernel source code for the Exynos Galaxy Note 9. Developers can now start building TWRP and custom AOSP-based ROMs for the device.

To download the source code, head to the link below, hover over the 'Mobile' section and go into the 'Mobile Phone' category. Then, use the built-in not-so-great search function and look up "N96" (without quotes). There is your kernel source code, named 'SM-N960F_OO_Opensource.zip'. We can't link the direct page because it's broken, so we're putting a link to the Samsung Open Source Release Center.

Samsung Open Source Release Center



from xda-developers https://ift.tt/2PDGbOb
via IFTTT

‘Eva’ curates interesting channels, bots, & stickers in Telegram

Eva

It has been quite impressive watching a small Russian developer team take inspiration from applications like WhatsApp and create something that many believe is the best mobile chat application available today. Telegram started as an application that some would call nothing more than a WhatsApp clone. However, over time the team grew and the Telegram features started to grow, and grow, and grow. Some of these Telegram features have ignited ecosystems of their own which have begun to add a bit of complexity to the platform.

A common example of this in action is the sticker feature that was added to Telegram a long time ago. At first, it was just a set of stickers that were available in the application, but this soon grew into a feature that allowed us the ability to install sticker packs of our own. Now, there are dozens of Telegram sticker websites out there that try to offer you every possible sticker that you could ever want. As you can see, with dozens of websites out there, this can be a daunting task and this is where the Eva application comes into play from XDA Junior Member sfilmak.

Eva is an application that attempts to index all of the stickers that are available for Telegram and offers them to you in one easy to find location. But again, Telegram has expanded again and again and again so stickers aren't the only things that have become complex for the die-hard fan of Telegram.

So with sfilmak's Eva application, you can look forward to these features:

  • all useful things for the Telegram app in one place. You don't need to download each app for different stuff – just find them all in one small app;
  • we regularly updating our database, which already contains hundreds of useful things;
  • you can also add your stickers, channels, and bots – it's free for everyone;
  • dark theme included;
  • nothing extra – only the most useful items, only hardcore!

Be sure to check out Eva in our Android Apps forum



from xda-developers https://ift.tt/2BJ0W8f
via IFTTT

Friday, August 24, 2018

Fortnite Installer could be abused to silently install apps on Galaxy phones

Fortnite Mobile Android Samsung Galaxy

The launch of Fortnite Mobile on Android hasn't been too great, especially since many of the supported devices really struggle to play the game with acceptable frame rates. The game launched as a Samsung Galaxy exclusive for only 3 days. The Fortnite Installer was first available on Samsung Galaxy Apps before Epic Games allowed non-Samsung players to download and install the full game from the Fortnite Installer obtained on Epic's website. Shortly after the Fortnite Installer became available, Epic Games quietly pushed an update to the Installer. Now we know why: They patched a Man-in-the-Disk exploit that made it possible for a malicious app to silently install any app they wanted on Samsung Galaxy smartphones. Because there has been some confusion about how this flaw works, we'll try to clear things up. First, we need to explain the basics of app installation on Android.


App Installation Flow on Android Smartphones

Silent installations from first-party sources

To silently install an APK on Android without prompting the user for permission, you need to have a system-level application with the INSTALL_PACKAGES permission granted. Examples of applications with this permission include the Google Play Store on most Android devices. First-party application stores on devices from Samsung, Huawei, and other device makers may also have the INSTALL_PACKAGES permission granted. If you want to install any app from the Google Play Store, it'll handle the download and automatically install the app for you without further intervention after you press "Install." (The Google Play Store even automatically grants certain runtime permissions such as the one for overlays, whereas apps installed from outside of the Play Store need to ask the user to grant these permissions.)

If you're curious whether an app on your device has the INSTALL_PACKAGES permission, you can find out via an ADB command.

  adb shell  dumpsys package package.name.here | grep "INSTALL_PACKAGES"  

For instance, the Google Play Store's package name is "com.android.vending". Another app with this permission is Shell with the package name com.android.shell. For those of you who use rootless Substratum via the Andromeda plug-in on Android Oreo, the Andromeda script run from your PC keeps the shell process running so Substratum can use it to install packages (the theme overlays) and then use the OverlayManager commands to enable the overlays.

Side-loading apps from third-party sources

If you attempt to download and install an app from outside of a first-party app store, you'll first need to enable unknown installation sources. This lets the Package Manager Service within the Android framework (which has the INSTALL_PACKAGES permission) know that you acknowledge the risks of side-loading apps from third-party sources. On pre-Android Oreo devices, there's a single toggle in Security settings to allow installation from unknown sources. On Android Oreo and later versions, an app calling for the installation of an APK must declare the REQUEST_INSTALL_PACKAGES permission and the user must whitelist that app so it can request app installs via the Package Manager Service. Since REQUEST_INSTALL_PACKAGES is an "appop" permission, that makes it one of the permissions that can be controlled from within Settings' permission manager or via the cmd appops shell command.

Once installation from unknown sources is enabled either globally or specifically for a requesting application, then the user can side-load an app. However, the Package Manager doesn't allow the app to be installed silently. Rather, it'll prompt the user whether they want to install the app and list any sensitive permissions that it requests to be granted on install. If the user accepts, then the app is installed with the requested non-runtime permissions. OEMs can also customize the Package Manager: For instance, the Package Manager in the Chinese version of Huawei's EMUI 5 has a feature to scan the APK to decide if it's safe and control what permissions are granted before installation. I have observed this on the Honor Note 8 running EMUI 5 imported from China, though I'm sure other Chinese Huawei and Honor devices also have this feature in their Package Managers.

In any case, that about sums up the difference between installing an app from an approved, first-party source and third-party source. If you attempt to install an app from the Play Store or equivalent app store with the INSTALL_PACKAGES permission, it'll silently handle the install all on its own without further user intervention after you start the download. But if you download an APK from XDA Labs, APKMirror, or other third-party sources, the standard package installer will handle the install and prompt the user to install that package. So where does the Fortnite Installer come in and why is this all relevant?

A Flaw in Fortnite's Installation Process

Earlier today, Google disclosed a vulnerability they discovered with the first version of the Fortnite Installer. The vulnerability was demonstrated on the Exynos Samsung Galaxy S8+ (dream2lte) but also affected all other Samsung Experience devices including the Samsung Galaxy Note 9 and Samsung Galaxy Tab S4. The vulnerability allows an already-installed malicious application to take advantage of the way the Fortnite Installer tries to install Fortnite for the first time on Samsung Galaxy devices. By using a private API in Samsung Galaxy Apps, the Fortnite Installer bypasses the need to prompt the user via the standard package installer to install Fortnite. That's because Galaxy Apps has the permission it needs to handle the installation silently. There wouldn't be anything wrong with this silent installation process if the app that's being silently installed is the real Fortnite. But because of where the Fortnite Installer stored the downloaded APK file for the Fortnite game, it was easily exploitable.

The AndroidManifest from Samsung Galaxy Apps shows that Galaxy Apps has the permission to install other apps on its own, bypassing the standard package installer.

According to the report on the Issue Tracker, the Fortnite Installer would download the Fortnite Mobile APK to /sdcard/Android/data/com.epicgames.portal/files/downloads/. This is considered "external storage" on Android as /sdcard is a symbolic link to /data/media/CURRENT_USER, and /sdcard was the name used in the early days of Android when app data was stored on physical SD cards. Nowadays, app data is usually stored in app-specific directories in /data/data/, and each app only has access to the files in its own /data/data directory. Thus, if the Fortnite Installer stored the downloaded Fortnite APK to its own /data/data/ directory, it would be impossible for any app without read permissions (ie. without root access) to know what's happening in this directory.

However, since the Fortnite Installer saved the downloaded APK in external storage, it could be monitored and overwritten by any app with external storage read permissions. Normally, apps write to /data/media, the "virtual SD card," when they store files that need to be accessed by the user via MTP or by other apps. For an app to read or write to /data/media, they need to have the READ_EXTERNAL_STORAGE and WRITE_EXTERNAL_STORAGE permissions respectively (both are under the same permission group and are hence granted together). Before Android 4.4 KitKat, most apps requested these permissions upon installation because otherwise, they wouldn't be able to read or write to the files in their package's designated external storage directory in /data/media/…/Android/. With the introduction of FUSE to emulate FAT-on-sdcard style directory permissions in Android 4.4 KitKat, apps no longer need any permissions to access files in their designated directory in external storage. Accessing files in any other directory would still need the external storage permissions, which is what a malicious app can do to hijack the Fortnite installation process.

As shown in the video below, a malicious app with the READ_EXTERNAL_STORAGE permission monitors the Fortnite Installer's download directory in external storage. When it detects that the download is complete and the fingerprint is verified, it replaces the downloaded Fortnite package with its own malicious package thanks to the WRITE_EXTERNAL_STORAGE permission. However, because of the way that Samsung Galaxy Apps verifies the Fortnite APK before installation (…it just checks if the package name is "com.epicgames.fortnite"), it is possible to have Galaxy Apps silently install the malicious package in the background with no user intervention or notification—so long as the malicious package's name was "com.epicgames.fortnite." Even worse, if this malicious package targeted SDK level 22 or lower (Android 5.1 Lollipop and earlier), it would automatically be granted all installations defined in its manifest because runtime permissions are only mandatory for apps targeting SDK level 23 and above (Android 6.0 Marshmallow and later).

But what would happen on non-Samsung devices? Well, because Samsung Galaxy Apps isn't installed on non-Samsung devices, the malicious APK won't be silently installed in the background. Fortnite Installer is a third-party app and hence needs to first prompt the user to enable installation from unknown sources and then send a request to the package installer to install the fake Fortnite APK. It would then depend on the user to tap "Install" when asked if they want to install the app or not. This is problematic regardless of the fact that non-Samsung phones aren't in danger of a malicious app being silently installed in the background. The average user would be none the wiser if a malicious APK crafted with "Fortnite" in its name and the Fortnite app icon is presented to them for installation.

Still, there's a clear distinction between exploiting this flaw on Samsung Galaxy smartphones and non-Samsung smartphones. The former is a Man-in-the-Disk attack that also takes advantage of a hidden system API to silently install any app in the background, with any permissions, and with no need to trick the user into thinking they're installing a fake Fortnite APK. The latter is a standard Man-in-the-Disk attack that can also happen to other apps that save APKs or other important data in external storage directories, as shown by the recent CheckPoint post. It just so happens that, thanks to the hidden Galaxy Apps API, this Man-in-the-Disk attack is more dangerous on Samsung Galaxy devices

Fixing the Flaw

To Epic Games' credit, they responded very quickly to the report on the Google Issue Tracker and rolled out an update to version 2.1.0 as fast as they could. The fix was simple—just save the downloaded Fortnite APK to the Fortnite Installer's internal storage directory in /data/data rather than its external storage directory in /data/media. The Epic Games' engineer requested that the flaw be disclosed after 90 days, though Google declined and made the issue public 7 days after a fix was rolled out. Epic Games' CEO Tim Sweeney was not happy with the quick turnaround time from the initial security report to its disclosure. He offered the following statement to Android Central.

Epic genuinely appreciated Google's effort to perform an in-depth security audit of Fortnite immediately following our release on Android, and share the results with Epic so we could speedily issue an update to fix the flaw they discovered.

However, it was irresponsible of Google to publicly disclose the technical details of the flaw so quickly, while many installations had not yet been updated and were still vulnerable.

An Epic security engineer, at my urging, requested Google delay public disclosure for the typical 90 days to allow time for the update to be more widely installed. Google refused. You can read it all at https://ift.tt/2PBk1Mg

Google's security analysis efforts are appreciated and benefit the Android platform, however a company as powerful as Google should practice more responsible disclosure timing than this, and not endanger users in the course of its counter-PR efforts against Epic's distribution of Fortnite outside of Google Play.

I can't speak for how many existing Samsung Galaxy devices still have the older Fortnite Installer. Maybe Epic Games should tell these users to update their install by sending a message in Fortnite Mobile. Firebase's nifty new In-App Messaging feature could do the trick. In any case, the discovery of this flaw so early after Fortnite's release on Android—when there's still so much controversy about their decision to ditch Google Play—certainly helps the argument that decision was careless. Whether that was Google's intention behind publicizing this issue so quickly, we'll never know.



from xda-developers https://ift.tt/2P23wb2
via IFTTT

We’ve used the Pocophone, but all we have are Pixel 3 XL leaks | #PNWeekly 319

Hey everyone! Hope you're enjoying your Pixel 3 XL phones out there. Now that you've bought one, what do you-wait, hang on. You mean to say that they haven't gone on sale yet? Then why the hell does everyone in the world have one except us!? Gosh, we're so thirsty.

Meanwhile, Huawei's up to its old DSLR tricks again while new renders of one of its future phones surface. Will this year's iPhones hurt next year's? Is a Nokia phone the best one you can get out there? All these questions may or may not be answered, but we'll definitely tell you about a Xiaomi phone you should be watching out for on this episode of the Pocketnow Weekly!

Watch the YouTube video recorded at 1:00pm Eastern on August 23rd or check out the high-quality audio version right here or through AppleGoogle, our RSS and wherever you get your podcasts. Talk back live while you're watching the show on Twitter with #PNWeekly and shoot feedback to the hosts at podcast@pocketnow.com!



from xda-developers https://ift.tt/2ML23bK
via IFTTT