Related
Hello all,
I am a newbie to Android just like I am a newbie to that forum. I'd just like to share something I did recently, it might be interesting to some of you.
To start with, I am not at all a mobile guy. My hobbies are related to big and noisy machines, password security and GPU cracking.
I have an old HTC Wildfire though and I recently had to analyze an Android application (LastPass) so that I can perform offline GPU password recovery against its local database. Which in turn made my life more interesting
Until that point I never bothered to play with my phone as I only used it for calls, messaging and occasional browsing. My job is related to embedded development (mostly infotainment systems) so that at least I have some knowledge about that stuff...not exactly Android though, more like linux-based systems.
So while playing with LastPass, I quickly get accustomed to adb then it turned out LastPass stores its database on /data/data which apparently I had no access too. Reading some stuff about rooting my phone lead me to the impression it is going to be a problematic thing to do (disabling S-ON, updating bootloader, flashing other images and I have no experience with this). Well, I quickly found out there is a local exploit for Android <2.3 which had a funny starcraft name, so I tried it. To my surprise it worked and I was able to acquire the needed data.
Then after some time I decided to look at that /data filesystem again and I was surprised to find out quite a lot of stuff (contacts, messages, browsing history, all in sqlite3 databases). But I was really like struck when I discovered cache.wifi and cache.cell. I couldn't believe my eyes, then I googled it and it turned out this is all old news. But basically it's quite nice way to know where the phone owner was located some time ago. Then of course, Android limits that to last 200 wifi access points and last 50 GSM BTS'es.
Then suddenly I remembered the fact that this data is kept on NAND memory with a filesystem (yaffs2) that does software wear-leveling. Which means, we are likely to have several versions of the logical block split over several physical blocks.
So out of curiousity, I quickly coded some quick'n'dirty scripts to nanddump the device, then some ugly C code to carve the dump, looking for geocache data. Using the data recovered that way, we create a simple HTML file with some javascript to display all the GPS poistions over google maps. The end result was fun, I was able to remember where I was say one year ago (and my memory is bad).
The PoC code is attached. It's rather ugly and coarse, but it works (for me ). It runs on linux only (sorry). Feel free to experiment with it.
Regards,
Milen
Hi. I'm a long time technical person and have some experience with rooting various kinds of devices. I've jail-broken iPhones, run custom firmwares on my routers (OpenWRT, Tomato and the likes) and have finally gotten an Android device for testing (an RCA 7 Voyager RCT6773W22 on 4.4.2 Kitkat) and was able to root it successfully with Kingo.
What I cannot quite figure out after doing quite a lot of searching is how to set things up a proper Linux/UNIX CLI environment. Things like OpenSSL/OpenSSH, coreutils, inetutils/, bash, perl, being able to set the root password (why is there no passwd command?), etc., etc.
I was able to do this on jail-broken iPhones just fine where I would end up with a normal looking unix/Linux like filesystem and utilities and could even manage packages via apt/dpkg which was real nice.
And so I thought this wouldn't be an issue on a system like Android once rooted. Most of what I was able to find seems to use busybox/dropbear, which I've used on routers before and was fine but seems a little light weight here.
I thought I had found the solution through a package manager called BotBrew that I came across, but couldn't get it or the Basil version of it to work (I just get Update Failed no matter what.) And I also noticed it seems to put everything in /data/botbrew and not just under /. Admittedly I'm not very familiar with the file-system of Android so maybe that's normal and I'm just missing something in that regard.
Thanks for any advise.
So I came into possession of a commercial grade advertising kiosk (Nintendo Amiibo Display) that runs an Android OS 4.1.1. The device is setup to auto load the "AmiiboFrameWork.apk" package installed. The model of the system is DucoTech D185-ACA-720. I can access basic Android settings menus through a special key combination. Mainly system information, network setup, and volume controls. There is a menu that says App Install and gives the option of installing APKs from SD card or USB with a file structure of USB:\APKFiles\ or SD Card:\ApkFiles\. However no matter how I layout my file structure or name my APKs following that structure nothing appears in this menu to install. However There is a media tab for photos with a similar structure and photos I put on the card do show up. What I'm trying to figure out is how either install APKs, or access the base android system so I can customize the system to run custom apps I plan on making for it. However I want to retain the original AmiiboFrameWork APK or the whole OS so I can restore the system later if I want.
Now what I have tried is plugging it into my PC via the USB-OTG port while on, putting APKs in various file structures and naming conventions, booting it with my PC connected via OTG port, tried to trick my way into other menus through keyboard and settings menu tricks (similar to how people use to bypass lock screen security through menus).
Results:
1. OTG to PC while on: Device shows up as 2 USB 2.0 Flash drives in device manager. The drives appear in my computer but aren't accessible. ADB doesn't see it as an android device.
2. APKs on usb: Nothing shows up in the menu regardless of my naming convention or file structure.
3. Boot device while attached to PC via OTG port: My computer detects it as an NES Classic (previously installed the driver to mod my classic). This leads me to think its an Allwinner device or similar since that is what the driver was made for I believe? ADB still doesn't see it. This might be my best bet to get in.
4. Menus: Options are very limited and I wasn't able to access anything valuable aside from Install APK, Transfer Media, and Set startup APK.
5. Tapping build number: Tapping the build number in settings any number of times doesn't activate the developer mode options. The prompt doesn't even appear for it.
If anyone can assist in trying to gain access to this system, or even figure out the file structure so I can just install my own APKs like I want that would be great. Any ideas on where to look, what to try, and so on is greatly appreciated.
Here are some photos of the main board just in case
Any new updates to this? I made the mistake of uninstalling the Amiibo Framework APK so now all I can do is see the settings menu with no ability to install any APKS. Copying media files over does work though.
hedburnr said:
Any new updates to this? I made the mistake of uninstalling the Amiibo Framework APK so now all I can do is see the settings menu with no ability to install any APKS. Copying media files over does work though.
Click to expand...
Click to collapse
IDK what to say man other than what in God's name made u think framework.res needed to be pulled. It's gone man barring the original firmware and itself install method
hedburnr said:
Any new updates to this? I made the mistake of uninstalling the Amiibo Framework APK so now all I can do is see the settings menu with no ability to install any APKS. Copying media files over does work though.
Click to expand...
Click to collapse
I work with Ducos! In fact there's an Amiibo kiosk a few feet from me here in our offices
mojoswagger1980 said:
IDK what to say man other than what in God's name made u think framework.res needed to be pulled. It's gone man barring the original firmware and itself install method
Click to expand...
Click to collapse
AmiiboFramework doesn't have anything to do with the "framework.res", Nintendo just called the app the "AmiiboFramework"
They only install APKs with a specific package name in a specific folder on your USB device / SD Card (com.general.mediaplayer.player). Unfortunately Nintendo used a different folder than us, and I don't recall what it was. You can go into a "normal" Android screen using a special procedure if the AmiiboFramework app is installed, but it should work without it too:
- Wait for the Loading screen to appear
- Begin to press the CSR and Setup buttons together, quickly alternating between them. Repeat until the CSR appears
- After the CSR appears, leaving the screen open for an extended period of time will cause the Amiibo Display Framework to re-appear
- If Alt+Tab is used, be sure to return to the CSR before returning to any other app, or the CSR will reboot the player
Alt+Tab refers to using a USB keyboard, after you have the CSR up you can exit with it.
They're really not great hardware for general usage.
selaliadobor said:
I work with Ducos! In fact there's an Amiibo kiosk a few feet from me here in our offices
AmiiboFramework doesn't have anything to do with the "framework.res", Nintendo just called the app the "AmiiboFramework"
They only install APKs with a specific package name in a specific folder on your USB device / SD Card (com.general.mediaplayer.player). Unfortunately Nintendo used a different folder than us, and I don't recall what it was. You can go into a "normal" Android screen using a special procedure if the AmiiboFramework app is installed, but it should work without it too:
- Wait for the Loading screen to appear
- Begin to press the CSR and Setup buttons together, quickly alternating between them. Repeat until the CSR appears
- After the CSR appears, leaving the screen open for an extended period of time will cause the Amiibo Display Framework to re-appear
- If Alt+Tab is used, be sure to return to the CSR before returning to any other app, or the CSR will reboot the player
Alt+Tab refers to using a USB keyboard, after you have the CSR up you can exit with it.
They're really not great hardware for general usage.
Click to expand...
Click to collapse
Ohh, I tried to call and they wouldn't answer any of my questions lol. Is it possible to get any documentation on it? I'm sure Nintendo did their own setup, but having original documentation is a good step forward for what we have now. I'd love to setup my own configuration on it even if the hardware is meh.
Enmity said:
Ohh, I tried to call and they wouldn't answer any of my questions lol. Is it possible to get any documentation on it? I'm sure Nintendo did their own setup, but having original documentation is a good step forward for what we have now. I'd love to setup my own configuration on it even if the hardware is meh.
Click to expand...
Click to collapse
There isn't much more documentation than what I mentioned unfortunately. The people who you'd get in a call definitely don't know anything about them (I don't think Nintendo made the AmiiboFramework app in-house either). If you want to repurpose it, you can try getting into the CSR and going into the normal Android Launcher. Try connecting over ADB and force-stopping any process with the letters "csr" in it's name
---------- Post added at 11:44 AM ---------- Previous post was at 11:40 AM ----------
Enmity said:
Ohh, I tried to call and they wouldn't answer any of my questions lol. Is it possible to get any documentation on it? I'm sure Nintendo did their own setup, but having original documentation is a good step forward for what we have now. I'd love to setup my own configuration on it even if the hardware is meh.
Click to expand...
Click to collapse
There isn't much more documentation than what I mentioned unfortunately. The people who you'd get in a call definitely don't know anything about them (I don't think Nintendo made the AmiiboFramework app in-house either). If you want to repurpose it, you can try getting into the CSR and going into the normal Android Launcher. Try connecting over ADB and force-stopping any process with the letters "csr" in it's name
To connect to ADB use a USB mini cable on the "USB OTG" port and ClockworkMod's Universal ADB Driver
I have a few devices similar to this. They are duco DT156-AS4-1080. I was wanting to repurpose them as video players. The devices are wiped of content and load into a main menu. There is an option to exit to administrator, though it asks for a password. I dumped the partitions and tried to look through the binaries, but am unable to come up with anything. I can get into superSU and then exit to playstore, but then some type of watchdog kicks me back to the duco menu. Any help appreciated.
er0ck said:
I have a few devices similar to this. They are duco DT156-AS4-1080. I was wanting to repurpose them as video players. The devices are wiped of content and load into a main menu. There is an option to exit to administrator, though it asks for a password. I dumped the partitions and tried to look through the binaries, but am unable to come up with anything. I can get into superSU and then exit to playstore, but then some type of watchdog kicks me back to the duco menu. Any help appreciated.
Click to expand...
Click to collapse
Just uninstall com.general.mediaplayer.* (anything that starts with that package name) and you should have a normal device
I DID IT! Working tablet
So the story is yesterday I found an Amiibo display at my apartment dumpster where people put stuff they don't want that still works, I nabbed it with the intention of salvaging the "monitor." Judging by the hammer-marks on the acrylic enclosure, and pry marks on the metal cage that held the power supplies for the led strips and the tablet I assume somebody took it home, got frustrated by the locks and screws after some prying, and just busted in the acrylic window to get to the floor model Amiibos.
I cracked it open, and after some fun with a butane torch to melt the acrylic around the screws open (damn security hex) was surprised to find that the "monitor" had a usb dongle plugged into it. I plugged it into my station and found it was a 2.4/5 GHZ wifi dongle.
All code here is from Windows power shell since I don't like to dual boot my main gaming rig. Usually I just use the Bash on Ubuntu on Windows developer option for stuff like this, but I didn't know if the fact I was using Windows usb drivers to connect to this would cause problems and I wanted one fewer step to troubleshoot if I had issues. Forgive me penguin for I have sinned.
I found the item number on the back of it and after some googling found it was an android device. Score!
I plugged the tablet in and it went into an Amiibo advertisement kiosk mode.
After about 8 hours I now have a limited (but functional!) giant Android tablet.
To any future adventurers I am making a guide to get you up and running quickly.
I followed selaliadobor's instructions:
To connect to ADB use a USB mini cable on the "USB OTG" port and ClockworkMod's Universal ADB Driver
Click to expand...
Click to collapse
As well as pressing CSR and Setup to get into the settings screen. This was interesting, but ultimately didn't do much. However using
Code:
./adb shell logcat >> log.txt
and waiting for it to reboot from the csr menu led me to find (with some help from my engineer father) that /system/app/CSR_A003_20160304_BT.apk was the culprit of the restarts.
This was solved with
Code:
./adb shell rm /system/app/CSR_A003_20160304_BT.apk
From there I was stuck. But then I discovered: THE CSR SETTINGS MENU IS NOT THE REAL ANDROID SETTINGS MENU. To get to the real android settings menu use this:
Code:
./adb shell am start -a android.settings.SETTINGS
This allows you to do a factory reset!
However when it reboots the default launcher is stripped of important features like back/home/running apps, keyboard, a launcher etc. I sideloaded the following apps:
Chrome Browser
Microsoft Arrow Launcher (I originally used Nova but it was too much a ram hog to be useful)
Multiling Keyboard (I originally used Swiftkey, but it too was taking up too much ram)
WebTube (stripped down youTube frontend)
Soft Keys (so I had a home and back button, the running apps button still doesn't work :'( )
First post so no links ;(
imgur .com/dGAOmoM
This is what it looks like after boot. I may also have an affinity for Amiibos.
imgur .com/uQ8u7js
Classic.
Quick note: This device doesn't support google play services, so no hulu, official youtube, netflix unfortunately. Try as I might I haven't found a solution.
i bought a box of these units a while back from the carboot and wanted to use them in our coffee shop were opening, i too didnt have much luck with them then i saw this thread, i know abit about computers but never messed with android, we basically wanted to use them for what they are used for now for displaying changing menus and advertising etc, i downloaded the clockworkmods adb, now how to enter the "./adb shell logcat >> log.txt" etc, presumably i just connect the otg port to the pc (win10) run the clockworkmod program then i use commandpromt? i did try it but i couldnt get it to work, do i have to put the android device into a mode like csr? any help would be appreciated?
N/A
Additional help needed
i got to the settings menu but it is only temporary i am wanting it to be like a regular tablet where can i get a rom to do that? to flash it so it will function like a galaxy tab 3 or so, as i would love to use my DT101-ASA-800 like a normal tablet with a keyboard and mouse. any help would be welcomed. as the factory reset doesn't let it work any different it keeps going straight to CSR settings.
so stuck... my head hurts
so i can not get my Model DT185-ACA-720 to connect to my pc..... ok it connects and a K: and F: drive appear but I cant access them. I managed to get .apk files to show up and transfer to the 12gb storage on the tablet but i cant access the storage on the tablet... im so lost... I downloaded the universal driver and ADB but both changed nothing... If anyone has any advice or updates im all ears since I basically destroyed the Kiosk to get this tablet free
jaybanc said:
i bought a box of these units a while back from the carboot and wanted to use them in our coffee shop were opening, i too didnt have much luck with them then i saw this thread, i know abit about computers but never messed with android, we basically wanted to use them for what they are used for now for displaying changing menus and advertising etc, i downloaded the clockworkmods adb, now how to enter the "./adb shell logcat >> log.txt" etc, presumably i just connect the otg port to the pc (win10) run the clockworkmod program then i use commandpromt? i did try it but i couldnt get it to work, do i have to put the android device into a mode like csr? any help would be appreciated?
Click to expand...
Click to collapse
Same issue here with the DT133-AC4-900 that I managed to pull out of a trashed google nest display from where I work. I managed to get the device to always load to the DUCO app by uninstalling the mediaplayer throught the DUCO app. However that is as far as I can get as the device will not communicate with ADB at all. Not sure if it's a win10 thing or if it's the device itself.
TheArcticGentoo said:
I DID IT! Working tablet
So the story is yesterday I found an Amiibo display at my apartment dumpster where people put stuff they don't want that still works, I nabbed it with the intention of salvaging the "monitor." Judging by the hammer-marks on the acrylic enclosure, and pry marks on the metal cage that held the power supplies for the led strips and the tablet I assume somebody took it home, got frustrated by the locks and screws after some prying, and just busted in the acrylic window to get to the floor model Amiibos.
I cracked it open, and after some fun with a butane torch to melt the acrylic around the screws open (damn security hex) was surprised to find that the "monitor" had a usb dongle plugged into it. I plugged it into my station and found it was a 2.4/5 GHZ wifi dongle.
All code here is from Windows power shell since I don't like to dual boot my main gaming rig. Usually I just use the Bash on Ubuntu on Windows developer option for stuff like this, but I didn't know if the fact I was using Windows usb drivers to connect to this would cause problems and I wanted one fewer step to troubleshoot if I had issues. Forgive me penguin for I have sinned.
I found the item number on the back of it and after some googling found it was an android device. Score!
I plugged the tablet in and it went into an Amiibo advertisement kiosk mode.
After about 8 hours I now have a limited (but functional!) giant Android tablet.
To any future adventurers I am making a guide to get you up and running quickly.
I followed selaliadobor's instructions:
As well as pressing CSR and Setup to get into the settings screen. This was interesting, but ultimately didn't do much. However using
Code:
./adb shell logcat >> log.txt
and waiting for it to reboot from the csr menu led me to find (with some help from my engineer father) that /system/app/CSR_A003_20160304_BT.apk was the culprit of the restarts.
This was solved with
Code:
./adb shell rm /system/app/CSR_A003_20160304_BT.apk
From there I was stuck. But then I discovered: THE CSR SETTINGS MENU IS NOT THE REAL ANDROID SETTINGS MENU. To get to the real android settings menu use this:
Code:
./adb shell am start -a android.settings.SETTINGS
This allows you to do a factory reset!
However when it reboots the default launcher is stripped of important features like back/home/running apps, keyboard, a launcher etc. I sideloaded the following apps:
Chrome Browser
Microsoft Arrow Launcher (I originally used Nova but it was too much a ram hog to be useful)
Multiling Keyboard (I originally used Swiftkey, but it too was taking up too much ram)
WebTube (stripped down youTube frontend)
Soft Keys (so I had a home and back button, the running apps button still doesn't work :'( )
First post so no links ;(
imgur .com/dGAOmoM
This is what it looks like after boot. I may also have an affinity for Amiibos.
imgur .com/uQ8u7js
Classic.
Quick note: This device doesn't support google play services, so no hulu, official youtube, netflix unfortunately. Try as I might I haven't found a solution.
Click to expand...
Click to collapse
This worked, but I couldn't get ADB to work in Windows, I had to go grab my laptop running Deepin Linux and set up ADB on that, but no USB drivers are needed in Linux, so once I set up ADB, it just worked. So I'm hoping that might be the solution for others who are having trouble, just use Linux, it just works. ADB works on the CSR level, so no need for security key. Got CPU-Z on there for any curious about the hardware specs, my model is a DT101-ASA-800
Sorry if this is in the wrong location, if it is please let me know where to move it.
So the story goes I found an Amiibo Kiosk at my apartment dumpster. It was originally designed to run a single app meant to be interacted with by customers and a settings app meant to be accessed by a technician and nothing more. Using adb I managed to get into the /actual/ android settings menu instead of the custom "CSR" one that you can access by pushing some buttons on the back and perform a factory reset. If you need more information I documented everything I did here: https://forum.xda-developers.com/android/help/commercial-grade-android-tablet-issues-t3594279 the post is at the very bottom.
It's a giant 18.5 inch 720p commercial tablet from DUCO meant to be mounted in customer-service kiosks: (product page) http://www.ducotech.com/product/18-5-android-based-720p-hi-def-lcd-media-player/
I sideloaded arrow launcher, aosp keyboard, google chrome, and a stripped-down youtube front-end so it can be used as an actual tablet. Unfortunately Google Play services in not supported on this device (although I could probably spoof it as an officially supported device to make it work, but I want to fix my biggest problem first.)
My problem is that after a pretty consistent amount of time it unceremoniously black-screens with a pop from the speakers, then starts back up. I logcatted it and it shows nothing but wlan polls and ram cleanup before it shuts down, however I'll include it anyway since I'm sure that'll be the first thing anybody asks for.
My best guess is that there is some kernel watchdog resetting it since it's not being tickled by DUCO's CSR app that is normally installed when the system is sitting on a salesfloor.
Is there any way to check for this and/or disable it?
Additional info:
Running Android 4.1.1
Sun4i architecture
I attempted to install Busybox, but the tablet resets itself before Busybox can finish installation.
Logcat is here since the logcat.txt is a few kb too big to upload.
How did you get PowerShell to accept the line code. It errors everytime I type the codes you are recommending
Picked up a Moto G8 Power off Ebay and I havent touched an Android since I flashed a HTC Desire with Cyanogen Mod years ago.
Product/Variant: sofair XT2041-3 64GB PVT
?BootLoader? BL:MBM-3.0-sofiar-reteu-0f8934adaf8-210928
BaseBand: M6125_43.45.03.48R Sofia_rowdsds_cust
Recovery mode shows: RPES31.Q4U-47-35-9/54bc43
oem_locked
Spent all of today going around in circles.
Google Locked = it wants a pin to verify. Ebay ad stated it was google locked house clearance and not stolen. Nothing shows up in CheckAmend.com
On an offline PC
Android Studio installed - strangely ADB nowhere to be found.
ADB installed separately.
Got Magisk apk
Got from lolinet mirrors
XT2041-3_SOFIAR_RETEU_11_RPES31.Q4U-47-35-9_subsidy-DEFAULT_regulatory-DEFAULT_CFC.xml
blankflash_sofiar_RPE31.Q4U-47-35
From Motorola
Motorola_Mobile_Drivers_64bit
Rescue_and_Smart_Assistant_v6.3.2.12_setup - This will not install and I find this error in the Windows eventlog
MDM Declared Configuration: Function (checkNewInstanceData) operation (Read isNewInstanceData) failed with (The parameter is incorrect.)
Motorola support cant help until monday, but it might be a ASLR or some other MS security thing.
TWRP is missing the Motorola G8 on their website, G7 and G9 and others exist, so this is not an option.
Followed some of those youtube videos showing how to bypass the FRP, which appear to use a variety of tricks to either disable the Google Play Service or use an app to launch another app, a bit like getting the 2nd dial tone by calling a business freephone number, and hacking their phone system to get an onward outbound dial tone in the 80's.. Showing my age!
Before I put the device online using wifi and no sim for mobile data, I could get access to the Androids settings, where I could list apps, set permissions and other things so I'd tried to disable the play store, but these tricks wouldnt work. Put it online and it appears Android has been updated so those previous tricks for getting all the apps listed and makiing changes to their permission etc is no longer there. One of them was using the emergency phone, getting to the contact detail and then choosing a pic to gain access to other apps and that also stopped working and has disappeared which is why I say I think its been updated in all but version number!
I can access a fat32 sd card in recovery mode, but the apk files I put on it dont show, just the folders Android created on blank Fat32 partitions.
USB and ADB dont detect this device so I cant use the Wireshark USB to watch what is going over the USB connection.
AFAIK Android DeveloperMode/Debugging Mode is disabled.
I havent touched an android since the HTC Desires appeared and then I ported it Cyanogen Mod, but I subsequently learnt the UK Police had access to my phone even back then!
Not taking it apart to get access to the JTAG (just yet), I bought a few broke Pixel4A to see what I could learn about them when they arrive as well.
I see in fastboot, the mention of a "console [NULL]:null" is this the fastboot.exe alongside adb.exe in android tools, or something else?
So is there any other way or suggestion to get root for this device?
I fancied looking at LineageOS, or maybe some other OS like an unofficial port of GrapheneOS. I've found the device tree info put up by someone on here which would suggest its possible to port from Android 10Q to an Android11 distro/os, but my first hurdle is my stumbling block, I cant get the USB to work and have not found any other way to get beyond this stage to poke around with the OS and phone.
So any pointers, suggestions, advice, will be much appreciated!
TIA
Edit. It looks like Android/Google/Motorola have done a good job at locking down this OS and phone.
Edit2
Saw this thread here about making sure the Motorola drivers are installed properly.
[HELP] I seem to have bricked my Moto G Power and not it's stuck on bootloader.
This is what it looks like, and if I try to boot into recovery or system it just says "no operating OS found." Windows won't recognize it when trying to connect via USB. Any way to fix this? Help would be greatly appreciated.
forum.xda-developers.com
On Win10x64 I've been into c:\windows\system32\DriverStore\FileRepository, sorted the subfolders by todays date/time and can see a number of subfolders like
motoandroid.inf_amd64_dd80f24dcfb3dc931
motoandroid2.inf_...
motodrv.inf_....
motousbnet.inf....
and when inspecting one of the .inf files in notepad I can see there appears to be a service linked to the driver, but when I check the services, there isnt any services installed.
So I'm starting to think maybe Motorola's installation software doesnt work on windows with the default windows security settings, like exploit protection running.
More investigations...
Edit4
In the Control Panel (yes its still there in Win10), Device Manager, Other Devices are a couple of entries which the latest attempt to install the Motorola USB x64 msi installer created.
These are:
Mot Composite ADB Interface
Motorola ADB Interface
In c:\Windows\system32\drivers are a couple of 0KB wdf files (Windows Driver Foundation) files:
Msft_Kernel_WinUSB_01009.Wdf
MSft_Kernel_motoandroid_01009.wdf
Msft_User_WpdFs_01_11_00.wdf
So when looking at the c:\windows\system32\DriverStore\FileRepository I think the driver that needs to be installed can be found in the subfolder:
motoandroid.inf_amd64_dd80f24dcfb3dc931
However opening the motoandroid.inf file inside I can see lines like
DriverVer=03/25/2013, 1.3.0.0
As this folder was created about 30mins+ earlier, am I correct to believe the actual motorola driver was created back in 25th March 2013 and is version 1.3?
I know its possible to edit inf files to make drivers W2k and XP drivers work on later versions of windows, but the motorola website has the version number 6.4 but is this 6.4 the version number of the installation program?
Anyway scrolling further down the motoandroid.inf I can see towards the bottom instructions to install a service
"Mot ADB Interface Installation Driver" and it needs to find the actual driver in %root%\System32\Drivers\motoandroid.sys
Various paramaters, like a transfer size 4096bytes, a debug level of 2 and plenty of guids which will be found in the registry.
Anyway uninstalling the software as now removed these subfolders from the DriverStore\FileRepository, so a reboot and another attempt to see where its failing.
I just hope it doesnt need an internet connection, as this offline pc is a dev machine.
Onwards and upwards....
Edit 5
So the Windows 10 setting which prevents the Lenevo Rescue and Smart assist from installing is the Windows App and Browser Control > Exploit Protection > Force randomisation for images (Mandatory ASLR) when its on.
You can have every other windows setting on, like ransomware protection, normal ASLR, DEP etc etc and LMSA installs fine, right now its downloading an image to flash from FastBoot, but its not got the Developer mode/USB debug enable in android to make this possible.
Now lets see if I can get the Motorola USB drivers to work with ADB...
Got to say these forums are excellent cheap intelligence gathering tools for manufacturers and software companies to harden their products.
So tried lots and lots of these types of YouTube videos which are exploiting an SE Linux "vulnerabilities/design flaw" by getting access to enough of the system in order to disable/force stop certain apps in order to get past FRP block.
Some of these are less than a month old with less than 100 views, but I also suspect some of them of doing a bit of camera editing. I guess its a way of bunking up the number of views for a youtube account, before it gets rebranded, if thats even possible!?!
Now I managed to get the Lenovo Rescue and Smart Assist program to work, once I realised it will not install when Windows Exploit protection/Mandatory ASLR is enabled (which is a give away as to what the installer is doing on my system as well), and the give away information which suggests it might be worth downloading wireshark and installing the USB "packet" sniffer is the fact that when LMSA is running and you plug your usb cable into the Motorola phone, the phone displays the battery power as a xx% inside a swirling circle of sorts.
So there is some sort of USB communication taking place?
The other thing that gives it away is when you type in your IMEI number into the LMSA Rescue section, its detecting the version of firmware and wants to download the latest version.
LMSA did this to me last night as it downloaded
SOFIAR_RETEU_RPES31.Q4U_47_35_12_subsidy_DEFAULT__regulatory_DEFAULT_CFC.XML.zip
which I guess I can search for on this computer, or at least search for files on my windows hard drive created within a certain date/time frame, as the filename might be scrambled/obfuscated in some temp folder.
So is it just Firmware level communication, or is there some sort of Android communication taking place as well?
If its just firmware, then what could be elucidated/deduced from attacking the firmware? Perhaps its time to get the Wireshark USB sniffer out after all.
As I can also put an SD card into the phone (the start of a potential side channel attack) and the phone will load the SD card, I could explore different routes like some "malware" embedded using a picture to attach to the Emergency Contact details, maybe some PHP embedded in the pictures EXIF data or something that could trigger some other secondary app/process in Android into action.
It might pay for me to lookup the Google Android source if its open source, and look at the Android project source which is open source for any vulnerabilities. Anything mentioned in Github could give away clues
Configure on-device developer options | Android Studio | Android Developers
Learn how to configure system behaviors that help you profile and debug your app performance.
developer.android.com
So are there any issues listed here which doesn't just affect Android 13, but maybe earlier versions as well?
Google Issue Tracker
issuetracker.google.com
So lots of less obvious or not publicly mentioned intelligent sources of potential attack vectors in plain sight.
Seeing if I can alter the cpu clock speed and quantum could also help to introduce some instability, Linux has a wider range of cpu schedulers than windows, but this route tends to hang systems and I have to get enough access to this phone in order to change the route.
The recovery msg logs seen when selecting different bootloader options give away info, I think this is DMesg output of sorts. I'm not a linux programmer, just a boring old windows programmer.
I could explore what else could be loaded from the SD card, using the Bootloader menu options. I was surprised the APK packages dont appear in SD card in the "Recovery Mode > Apply updates from SD card" option. Maybe its not expecting a APK file extension? Mybe its expecting a different file of sorts like a .bin file or .img file. Is this where BlankFlash comes into play?
I have to admit, buying a second hand phone like this with FRB enabled off Ebay from a guy purporting to be in Salisbury home of Noivchok, is also a great way of spreading the latest and greatest malware to unsuspecting hackers and also to phish those who could potentially get around the FRB restriction with the minimum of effort. The UK civil service have their own internal postal system so has something been posted internally down the M5 motorway from Cheltenham, for some intelligence gathering or a cheap way of outsourcing some device cracking?
Oh well the silence is deafening.
So Motorola Support Centre have been in touch and stated:
I am really sorry to say that the kill switch feature, which is known as "Google Lock" is not bypassable by anyone other than the repair center.
So they are stating the Android Factory Reset Protection (FRP) can be bypassed which is another way of saying it can be undone, so the next challenge is finding out where on the device this flag or flags resides.
Is it something like the RaspberryPi One Time Programmable (OTP) switch's that may not be One Time Programmable but like the dip switches seen on the motherboards of early 8086/286/386/etc personal computers, or something else like a file on the main storage device with the rest of android.
I think the first thing to do is get Wireshark and the USB sniffer to see what information is being sent over the USB cable.
And as its possible to get the device online via wifi, it's probably a good idea to see what information is being sent over wifi, so using wireshark on a raspberrypi masquerading as an access point might be useful as well.
So the first thing to do is have a look at the Android documents
Android
Android has 74 repositories available. Follow their code on GitHub.
github.com
https://developer.android.com/reference/android/app/admin/FactoryResetProtectionPolicy
The factory reset protection policy determines which accounts can unlock a device that has gone through untrusted factory reset.
So it looks like Android are also stating the Factory Reset Protection can be undone. It seems a that a single user setup and a corporate setup exist, where a corporate account could be used to remotely wipe a device and then reenable the device, I guess if the user hands it back to the company.
https://developer.android.com/about/versions/marshmallow/android-6.0-changes API 23
EXTRA_PROVISIONING_RESET_PROTECTION_PARAMETERS is removed so NFC bump provisioning cannot programmatically unlock a factory reset protected device.
You can now use the EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE extra to pass data to the device owner app during NFC provisioning of the managed device.
Interestingly, NFC can be used to unlock FRP in earlier versions of Android. and its possible to use NFC to potentially configure and more other devices using NFC. As NFC is just a low power and thus low range frequency in the RFID range of frequencies alot of other things could be possible. NFC to me is just like any other form of communication method, beit a usb cable, telephone wire, wifi, ultrasonic sounds, or Infrared.
Radio-frequency identification - Wikipedia
en.wikipedia.org
NFCIP-1 and NFCIP-2
Near-field communication - Wikipedia
en.wikipedia.org
As NFC can communicate a request and response, and Android is using NFC to configure devices, using NFC may be a novel attack vector for peoples android devices, without them knowing about it unless they capture on a personal webcam everyone and every NFC device they come in to close contact with. Maybe using payment terminals could become a new attack vector at your favorite local retail outlet?
Well if Covid doesnt make people socially distanced, then maybe an NFC attack vector might if it works beyond the claimed 4cm operating range! Unfortunately this phone does not come with NFC, but others do.
I've got to find the source code....
Android (operating system) - Wikipedia
en.wikipedia.org
Most versions of Android are proprietary. The core components are taken from the Android Open Source Project (AOSP), which is free and open-source software (FOSS) primarily licensed under the Apache License.
Search results for "factory reset protection" | Android Open Source Project
source.android.com
The default implementation of Test Harness Mode uses the same storage mechanism as Factory Reset Protection to store the ADB keys temporarily in a persistent partition.
So it looks like I need to gain access to this "persistent partition" and try to find this ADB for starters.
Seems a bit sneeky of Google and Android here. https://source.android.com/docs/security/bulletin/2016-02-01
At the bottom of the Android webpage is a link to Factory Images of the Google Nexus and Pixel phones which jumps you to Google web page. No indication what so ever I'm leaving Android and going to Google!
Flashing devices | Android Open Source Project
source.android.com
To enable OEM unlocking on the device:
In Settings, tap About phone, then tap Build number seven times.
When you see the message You are now a developer!, tap the back button.
In Settings, tap System, then tap Developer options and enable OEM unlocking and USB debugging. (If OEM unlocking is disabled, connect to the internet so the device can check in at least once. If it remains disabled, your device might be SIM locked by your carrier and the bootloader can't be unlocked.)
Reboot into the bootloader and use fastboot to unlock it.
For newer devices (2015 and higher):
fastboot flashing unlock
For older devices (2014 and lower):
fastboot oem unlock
Tip: if you're seeing `adb devices` output before reboot but fastboot or the flash script are misbehaving, it might be issues with your USB cable. Try a different port and/or switching connectors. If you are using a USB C port on your computer try a USB A port instead.
Confirm the unlock onscreen.
Well the instructions I've seen only talk about the gaining access to settings and the doing 7 taps on the Build Number. Lets see if the rest of the instructions work.
Onwards and upwards....
Well sent the phone back the Ebay seller claiming to be a house clearance business wouldnt provide any paperwork to back up his claims of how he came to be in possession of the phone. So as I planned to do some computer forensics on it, like retrieve the files wiped by a Factory Reset, and the perverse interpretation of the law in this UK, I wasnt prepared to go any further with the phone. So its been sent back. The banks have already shown how untouchable they are, other big businesses are also in the same position and finding illegal stuff on a phone is not a risk I'm not prepared to take without paperwork.