thanks to the supererogatory efforts of alecxs my backup phone is now adware-free. he went above and beyond to help me in the comments.
to eliminate vendor-installed adware without rooting phone you need SP Flash Tool, which is available (at least) for Windows and Linux; and an unofficial TWRP image available from https://romprovider.com/2018/12/blu-dash-x2-root-twrp/. you'll also need the scatter file, obtainable from any firmware file for your model phone. I got mine by googling BLU D110L Firmware Download
, finding not my version 21 but both v12 and v22. I extracted both firmwares and the scatter file was the same in each, named MT6580_Android_scatter.txt.
power down the phone, fire up SP Flash (flash_tool.sh
) and point it to your scatter file. then select recovery
in the Download
section (misnamed, IMO, because you're really uploading to the phone from the computer), and double-click in the Location column in the recovery
row, and select the TWRP image. it should look like this:

click the Download button, and it will just wait there until you briefly pulse the power button (about 0.5 second). then in about a second, you will see the progress bar zoom across the screen, and hopefully you will get a popup indicating a successful write.

after done flashing, disconnect the cable, as it won't (at least mine didn't) power up with it in. holding the volume UP button, hold the power button about 10 seconds and release it. after you see the phone starting, you can then release volume up. it should be booted into TWRP. you will need to slide the bar right to allow writing the system image; but the language can be confusing, and if you wait too long, a big padlock icon will appear, at which point you need to slide twice, once to unlock the app, and a 2nd time to allow writing to /system.
then connect the cable, adb shell
and you should have a root prompt! however, /system won't be mounted, but you can do it simply: mount /system
. from there I navigated to the folder where the evil app resided, and appended .evil
to both the .apk and .odex files:
~ # find /system/priv-app/ -name '*Preinstall*.apk'
/system/priv-app/PreinstallProvider-oem_BLU_us2/PreinstallProvider-oem_BLU_us2.apk
/system/priv-app/PreinstallProvider-utm_source-utm_campaign-oem_BLU_us/PreinstallProvider-utm_source-utm_campaign-oem_BLU_us.apk
~ # cd /system/priv-app/PreinstallProvider-oem_BLU_us2/
/system/priv-app/PreinstallProvider-oem_BLU_us2 # ls
PreinstallProvider-oem_BLU_us2.apk
oat
/system/priv-app/PreinstallProvider-oem_BLU_us2 # mv PreinstallProvider-oem_BLU_
us2.apk PreinstallProvider-oem_BLU_us2.apk.evil
/system/priv-app/PreinstallProvider-oem_BLU_us2 # find oat
oat
oat/arm
oat/arm/PreinstallProvider-oem_BLU_us2.odex
/system/priv-app/PreinstallProvider-oem_BLU_us2 # mv oat/arm/PreinstallProvider-
oem_BLU_us2.odex oat/arm/PreinstallProvider-oem_BLU_us2.odex.evil
~ # reboot
when the phone came back, the app was gone. and since I didn't actually root the phone itself, I hopefully won't have any other problems with it.
note that if you fail to boot into TWRP, and instead reboot normally, your modified recovery partition will be gone. the phone will have automatically overwritten it, and you'll have to start over with SP Flash Tool. also: if you get it into FASTBOOT or META modes you may need to actually open the phone up and remove the battery to powerdown. this was not a painless process. and a couple of times I managed somehow to get it into a 4th mode, Factory mode, which is useless but at least had Reboot and Shutdown options.