Saturday, August 25, 2018

‘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

VPN Hotspot lets you share your VPN connection over a hotspot

VPN Hotspot

There are a lot of people who worry about the privacy of their online activity these days. Companies are releasing entire web browsers that focus solely on blocking the countless number of trackers that companies have embedded into their websites. Then we have internet providers who try to snoop in on what you're doing, there are hackers who scan through entire publish WiFi networks, and so much more.

This is a big reason why the VPN business is getting so popular these days and getting one for everyone in a house, or all of your friends, can get quite expensive. Thankfully, XDA Senior Member Mygod Studio has released a free application called VPN Hotspot which lets you share your current VPN connection to people near you by using a hotspot/system tethering or repeater (root required).

The goal of Mygod Studio was to design a VPN Hotspot to do only minimal changes to your system. This results in there being almost no chance you will brick your device while also limiting the risk of breaking your Internet using this app (under normal conditions). However, anything is possible when tinkering with these types of things so the developer cannot guarantee that nothing bad will happen. For those curious about what is under the hood of VPN Hotspot, be sure to check out the GitHub project here, but here are a number of reasons why VPN Hotspot can be quite the useful application.

  • Connecting things that don't support VPN like Chromecasts behind corporate firewalls
  • Setting up gapps behind corporate firewalls
  • Connecting to your mobile hotspot but you're not bothered to set up VPN on your device
  • Bypassing tethering limits. (you might need more of a real VPN than an ad-blocker to fool a smarter cellular provider)

VPN Hotspot (Free, XDA Labs) →



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

Nova is an open-source video player for phones, tablets, and Android TV

Nova

Finding the perfect media player on the platform you like to enjoy watching or listening to content on can be a pain in the butt. I remember this being such a hassle on the desktop PC until VLC came around, and now most of the people in the know either use it or MPC-HC. Then people began watching more content on their smartphones, and again, it led to a huge search for the go-to application to use. For a long time, this ended up being an application called MX Player, which has been downloaded by over 500,000 million users. As people have begun to move away from MX Player, a new open-source video player has emerged and it is being called Nova.

So you may wonder if MX Player had such a strong following then why are so many people looking for alternatives? We see this from time to time though. An application gets so big that some feel it becomes bloated with features, and some feel the updates aren't pushed out fast enough, or a recent user update has tarnished the experience. However, in the case of Android's most popular media player, it was actually when MX Player was all of a sudden acquired by a media giant in India. This started to worry people because once a popular application gets acquired, the parent company almost always ruins what made it so great.

Toward the middle of last year, there was a popular media player for Android called Archos Video Player. They decided to release the source code for the application that they were currently charging $5 a pop for. So this is where Nova comes into play. Nova is an open source video player for smartphones, tablets, and Android TV that is actually based on the source code of Archos Video Player. However, like many projects based on open source code, the team behind Nova began working to add changes.

Compared to Archos, the developers behind Nova have given a list of the following changes they have made to the code:

  • Add support for Android P avoiding application crash at startup;
  • Add a "list episodes" button on tv show episode view to quickly get to tv show view on AndroidTV leanback version;
  • Add notification channels for Oreo;
  • Fix subtitle delay not applied on play resume when negative;
  • Fix floating player crash on Android version Oreo and above;
  • Fix loss of activity background and private mode background;
  • Prevent from playing a file when detecting a problem: issue a toast instead.

You can read more about this release in the Google+ post down below, but you should be aware that the GitHub page for the Nova project can be found right here.


Via: Software Courville



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

Android Pie-based HydrogenOS Beta 2 for the OnePlus 6 brings September security patches

android p oneplus 6 oxygenos 5.1.11

HydrogenOS is a Chinese ROM by OnePlus that runs on almost all of their devices. The main difference between HydrogenOS and OxygenOS is that HydrogenOS doesn't come with Google services, such as the Play Store and others. But, it has a history of receiving updates earlier than OxygenOS. Just now, it received Android Pie-based 2nd beta for OnePlus 6, which brings September security patches.

User harshitguliani posted on OnePlus forums about the update. He attached the screenshot where we can see the full changelog of the build.

As you can see, the update contains a bunch of bug fixes, along with the September security patches. The first beta version was already more stable than the Android P Developer Preview builds, so the second beta should be better as it's more optimized. It also contains OnePlus' proprietary features and tweaks.

If you're already running HydrogenOS Beta 1, then you should have already received the OTA update. If you're running OxygenOS or any other custom ROM and want to try Google-less Android Pie-based HydrogenOS Beta 2, then follow the link below to download the zip file and flash it via TWRP.


Download Android Pie-based HydrogenOS Beta 2 for the OnePlus 6 [Warning: Large File Download]
Via: OnePlus Forums



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

Asus ZenFone 5Z update adds Lift to Face Unlock, RAW capture, & EIS/OIS auto switch

ASUS ZenFone 5Z

The Asus ZenFone 5Z is one of the many cheap Qualcomm Snapdragon 845-powered smartphones available on the market today. It's being hailed as a OnePlus 6 competitor, not just in price, but in performance as well. The company is supporting it well enough so far, and an update has come out which offers a huge number of camera improvements. These include RAW capture support, EIS/OIS switching, and panorama mode. On top of that, there are some new features as well such as a lift to face unlock. You can check out the full changelog below.

Asus ZenFone 5Z update adds a number of brand new features

12 New Functionalities

  • Lift to Face unlock
    • No need to press the power button to wake and face unlock
  • Gesture Controls incorporated

10 New Camera Functionalities

  • Live Filters enabled in the camera
  • Enable RAW file support
  • Enable Panorama feature
  • Support Auto anti-flicker feature (Phone will auto-detect electricity frequency based on lighting condition and switch the frequency setting between 50 Hz and 60 Hz to prevent flickering)
  • Add on/off button for EIS
  • Enable flash in Pro mode
  • Support EIS feature in FHD@60FPS & 18:9@30FPS
  • Support EIS/OIS auto switch feature during video recording (The Camera will switch to either OIS or EIS to take super smooth videos depending on conditions)
  • Support overheat detection in video recording mode (Mainly useful while recording)
  • Support 3 Dimensional Noise Reduction feature also in PRO mode

4 Camera Improvements

  • Camera Improvements
  • HDR Functionality improvements
  • Improve Manual White Balance function in PRO mode
  • Selfie Camera improvements

Boost audio quality in video to 192kbps bitrate

The huge amount of features added to the camera alone will certainly make it a contender in that regard against the likes of the new Xiaomi Poco F1 and the OnePlus 6. While the Asus ZenFone 5Z cuts a number of corners to achieve its Rs. 29,999 price tag, it's certainly no slouch either. Camera and HDR improvements are always welcome, and people generally don't complain about the addition of new features either. Lift to face unlock has been a common request on both the OnePlus 6 and the Asus ZenFone 5Z, so it's great to see developers listening to their users.

All of that is great, but Asus has also added a number of options for camera enthusiasts as well. You can switch between Optical Image Stabilisation and Electronic Image Stabilisation, for instance. RAW capture has also been enabled, along with some improvements to the camera's Pro mode. Finally, an increase in audio bitrate is great. While the video quality is important, audio fidelity often goes ignored when talking about recording video on your smartphone.

The update is out via a staged rollout, so you may not get it immediately. Let us know in the comments when you get it and what you think of it!



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