Oh Samsung. Truly if any device has ever been the bane of my existence in mobile forensics, it's Samsung devices. From the "latest and greatest" in security advancements, proprietary applications and storage areas, and seemingly zero consistency Samsung has all of the hallmark pieces to cause annoyances to anyone doing forensics.
According to gs.statcounter.com (link), Samsung is currently sitting at the top of the market share for all mobile devices, even beating out Apple. Since Android is probably the most popular OS for mobile phones worldwide, I can't say I'm surprised.
It's no wonder with all of these points that I commonly choose a Samsung device to add to my research testing bank of devices. Especially when you consider that Samsung LOVES to push their own proprietary applications instead of the commonly used ones on Android devices. Recently I mentioned adding a Samsung A11 (SM-A115U1) to my test bank in this post here. If it serves no more purpose than a place for me to remember what I did to finally get this working after messing with it for days, I'm going to post the guide of information that I used in order to get this device rooted for full filesystem testing. Hopefully, someone else will find this relevant to their interests eventually too.
Starting out, I like Magisk. If you're not familiar with Magisk, then go read about it from GitHub here. I think Magisk does a great job of being able to maintain my ability to keep a device rooted, safe(er) than some other options, and gives me more control over my environment. So time to start down the Magisk road.
In a perfect world, you'll pick a Samsung device where TWRP is already built and available. Save yourself a lot of time and headache and pick a device where TWRP is already available. Do yourself a favor and GTS. (Google that... stuff) I THOUGHT I did that. But, in my excitement for adding another device I saw that the 2019 version of the A11 had a TWRP, but that didn't work on my 2020 version of the A11.
Okay, so without TWRP, how do you install Magisk? It's a little bit harder but it's actually more to my preferred method. I like to keep things as stock as possible, so I actually usually prefer to go this method and simply take a stock firmware and allow MagiskManger to patch it. It usually works great, except for this one. I'm going to skip over all the stuff that DIDN'T work, and just give you the stuff that does.
Find firmware. You're going to need stock firmware from the manufacturer in order to feed it to MagiskManger. Samsung actually doesn't make this impossible. Or well, great developers from across the world make this not impossible. I usually use a site like https://www.sammobile.com but they didn't have the firmware I wanted listed. Then I turned over to some fairly sketchy looking 3rd party sites but it got the job done. Remember that not only are you going to need your model number but you're going to Country Specific Code that Samsung makes integral to their binaries.
Smarter Move: Just use Feija. I WISH I would have realized this exists and it's now one of my favorite tools. https://forum.xda-developers.com/s10-plus/how-to/tool-frija-samsung-firmware-downloader-t3910594
TL;DR: It's a Samsung firmware downloader where you don't have to pay for "premium" access to get a download that doesn't crash 5000 times just to get a firmware.
Set up your Samsung device. Lots of mini-steps going on here but it's all super easy stuff you are probably familiar with.
- Proceed through initial setup; Turn on Developer options
- In Developer options, enable OEM unlock and USB debugging
- Reboot device in download mode.
- CAREFUL: There are two? different download modes. One available via "adb reboot download" and another that is available from a specific keystroke command using the physical buttons. The only way I could get into the device wipe/OEM unlock mode was to use the keystroke method. The ADB command would NOT give me the option. For my A11 it was Volume Up + Volume Down + and Power/Bixby buttons all at once. This mode is VERY important to Magisk later.
- Unlock Bootloader - WARNING: This causes a device wipe
- Proceed through initial setup again, enabling developer options and usb debugging.
- Install MagiskManager
- Download it from the web OR
- Download it on your PC and use "adb install [Path_to_File_onPC]\MagiskManager.apk"
- Download Odin: https://samsungodin.com/download/
- Also, download 7-zip from here: https://github.com/mcmilk/7-Zip-zstd/releases