Xbox App: “Administrator approval required for installation.”

So I got a new gaming computer last year, & as usual when I’m running Windows, I don’t login with a user account that has administrator rights. Instead, I login with a regular user account, & if I need to do something as admin, I’m either prompted (i.e.: Installing MSI’s) or I can “Run as administrator” through the context menu. Well it looks like that plan has a hole when trying to use the native win10\win11 Xbox app, & to install at least some games, the two I’m finding now are Halo Infinite & Halo: The Master Chief collection.

Halo Infinite: Administrator approval required for installation.
Halo: The Master Chief Collection

So I have a feeling I’m at least going to temporarily give my regular account admin rights to install the games, then I can remove, but it’s ridiculous that Microsoft can’t account for this. It’s not just the Xbox app either. It’s all the bundled “Metro” apps that are installed & updated through the Windows Store. If you try to run Windows Terminal as a different user, that user needs to have it installed. Apps are installed per-user, not for the system, so it’s just one more reason to continue using MSI \ installer EXE’s until this can be done a better way.

Super Mario 64 Natively on Android

Found a post on XDA about building Super Mario 64 for Android using Termux, & figured I’d try it out for fun.
Source: XDA Developers: Super Mario 64 can be natively run on Android without a Nintendo 64 emulator

Their instructions worked fine, so below is really just a copy & paste from the XDA post:

➜  ~ pkg install git wget make python getconf zip apksigner clang
Checking availability of current mirror: ok
Reading package lists... Done
Building dependency tree       
Reading state information... Done
apksigner is already the newest version (29.0.2-5).
clang is already the newest version (10.0.1-2).
getconf is already the newest version (0.5-1).
git is already the newest version (2.28.0).
make is already the newest version (4.3-1).
python is already the newest version (3.8.5).
wget is already the newest version (1.20.3-3).
zip is already the newest version (3.0-5).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
➜  ~ cd Development 
➜  Development git clone https://github.com/VDavid003/sm64-port-android
Cloning into 'sm64-port-android'...
remote: Enumerating objects: 15616, done.
remote: Total 15616 (delta 0), reused 0 (delta 0), pack-reused 15616
Receiving objects: 100% (15616/15616), 22.76 MiB | 5.71 MiB/s, done.
Resolving deltas: 100% (7567/7567), done.
➜  Development cd sm64-port-android 
➜  sm64-port-android git:(master) cp ~/storage/shared/Super\ Mario\ 64\ \(USA\).z64 baserom.us.z64
➜  sm64-port-android git:(master) sha256 baserom.us.z64 
The program openssl is not installed. Install it by executing:
 pkg install openssl-tool
➜  sm64-port-android git:(master) pkg install openssl-tool
Checking availability of current mirror: ok
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  openssl-tool
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 185 kB of archives.
After this operation, 643 kB of additional disk space will be used.
Get:1 https://dl.bintray.com/termux/termux-packages-24 stable/main aarch64 openssl-tool aarch64 1.1.1g-4 [185 kB]
Fetched 185 kB in 0s (214 kB/s)    
Selecting previously unselected package openssl-tool.
(Reading database ... 14219 files and directories currently installed.)
Preparing to unpack .../openssl-tool_1.1.1g-4_aarch64.deb ...
Unpacking openssl-tool (1.1.1g-4) ...
Setting up openssl-tool (1.1.1g-4) ...
➜  sm64-port-android git:(master) sha256 baserom.us.z64   
SHA256(baserom.us.z64)= 17ce077343c6133f8c9f2d6d6d9a4ab62c8cd2aa57c40aea1f490b4c8bb21d91
➜  sm64-port-android git:(master) md5sum baserom.us.z64 
20b854b239203baf6c961b850a4a51a2  baserom.us.z64
➜  sm64-port-android git:(master) ./getSDL.sh
~/Development/sm64-port-android/SDL ~/Development/sm64-port-android
--2020-09-20 11:56:47--  https://www.libsdl.org/release/SDL2-2.0.12.zip
Resolving www.libsdl.org... 2604:a880:1:20::181:e001, 192.241.223.99
Connecting to www.libsdl.org|2604:a880:1:20::181:e001|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6784187 (6.5M) [application/zip]
Saving to: ‘SDL2-2.0.12.zip’

SDL2-2.0.12.zip                       100%[=======================================================================>]   6.47M  5.65MB/s    in 1.1s    

2020-09-20 11:56:49 (5.65 MB/s) - ‘SDL2-2.0.12.zip’ saved [6784187/6784187]

~/Development/sm64-port-android
➜  sm64-port-android git:(master) make --jobs 4
...
cp build/us_pc/sm64.us.f3dex2e.unsigned.apk build/us_pc/sm64.us.f3dex2e.apk
apksigner sign --cert certificate.pem --key key.pk8 build/us_pc/sm64.us.f3dex2e.apk
➜  sm64-port-android git:(master) ls
Android.mk   Makefile.split  assets           charmap.txt       enhancements       key.pk8        sm64.jp.sha1  text
CHANGES      README.md       assets.json      charmap_menu.txt  extract_assets.py  levels         sm64.ld       textures
Dockerfile   SDL             baserom.us.z64   data              first-diff.py      lib            sm64.sh.sha1  tools
Doxyfile     actors          bin              diff.py           format.sh          rename_sym.sh  sm64.us.sha1  undefined_syms.txt
Jenkinsfile  android         build            diff_settings.py  getSDL.sh          rsp            sound
Makefile     asm             certificate.pem  doxygen           include            sm64.eu.sha1   src
➜  sm64-port-android git:(master) ls build 
us_pc
➜  sm64-port-android git:(master) ls build/us_pc 
actors  bin   endian-and-bitwidth  level_rules.mk  lib         rsp                  sm64.us.f3dex2e.unsigned.apk  src   textures
assets  data  include              levels          libmain.so  sm64.us.f3dex2e.apk  sound                         text
➜  sm64-port-android git:(master)
Super Mario 64 running natively on my OnePlus 7 Pro.

New Nintendo Switch Payload: ArgonNX

Guillem96 has a new payload available on GitHub: argon-nx.

As he states in the description there, it’s meant to be used to choose which payload you’d actually like to launch; just use the ArgonNX payload, & then choose from any BIN you have located in the \argon\payloads\ directory. What’s nice about this is that you can choose the logos to go along with each BIN. Still have some work to do, but this is what my selection screen looks like right now:

Photo of the ArgonNX payload running.
Photo of the ArgonNX payload running.
ArgonNX logos.
Some quick logos I put together to be used with ArgonNX. Crappy screenshot because apparently WordPress \ Gutenberg views BMP files as a security risk… See screenshot below.
BMP files are a security risk?

Homebrewing ALL THE THINGS

Pretty accurate description of what I’ve been up to recently.

Since getting homebrew running on my Nintendo Switch, I’ve been booting up some old hardware & getting homebrew &\or custom firmware running there. The most recent three after the Switch have been my Nintendo Wii U, PlayStation Vita, & PlayStation 3. I’ve had CFW running on my Vita for a while, but also haven’t turned it on in ages. I came back to some interesting to features in the homebrew scene which was a nice surprise.

It took me a little while to get homebrew up on my Wii U, but was much easier than what I’ve been dealing with on the Switch. Same goes for the PlayStation 3. I’ve not yet gotten a chance to play around much with either system, but hopefully that will change in the upcoming weeks. I’ll be sure to post more information then, but in the meantime, here are some helpful sites I used in getting homebrew running on my Wii U & PS3:

Nintendo Switch Homebrew

I’ve been keeping an eye on this scene for a while now, eagerly awaiting the release of Fusée Gelée from Kate Temkin since she revealed the capabilities of the flaw. I’m a huge fan of releases like these that let you have more control over the system that you purchased, whether it be rooting an Android device, jailbreaking an Apple one, or getting Custom Firmware running on a Nintendo 2/3DS. I like those processes because it opens the platform to more customization, & not because of the ability to pirate games. Unfortunately, that part almost always follows when these techniques get released, which ends up giving users who want more open platforms a bad name.

Ethics aside, I am excited to get started on this myself.
– Kate Temkin: Hardware Hacker: FAQ: Fusée Gelée
– GitHub: reswitched / fusee-launcher
– fail0verflow: ShofEL2, a Tegra X1 and Nintendo Switch exploit
– GitHub: fail0verflow / shofel2
– GitHub: fail0verflow / switch-arm-trusted-firmware
– GitHub: fail0verflow / switch-coreboot
– GitHub: fail0verflow / switch-u-boot
– GitHub: fail0verflow / switch-linux

EDIT: 20180501: Well I worked on this over the weekend, & was at least able to get the Fusée Gelée display:

Used a paperclip to bridge ports 1 & 10.

Switch booted to Fusée Gelée screen

Nintendo Switch Console & Joy-Con Case Replacement

So it took me two attempts to get this done, but it was definitely worth it. I used the below kit & YouTube video for direction.

Below are some of the in-progress & completed photos of the mod:

Switch console with the back panel removed

Back panel of the console after being removed.

“Before” photo of my first attempt at changing the Joy-Con casing.

“Before” photo of my first attempt at changing the Joy-Con casing.

“Before” photo of my first attempt at changing the Joy-Con casing.

Insides of the gray Joy-Con.

Insides of the gray Joy-Con.

My atomic purple back panel on the Switch.

My atomic purple back panel on the Switch.

Atomic Purple back panel & the stock Blue & Red Joy-Cons.

Insides of the blue Joy-Con.

Insides of the blue Joy-Con.

Atomic Purple console & Joy-Con casings.

Atomic Purple console & Joy-Con casings.

Atomic Purple console & Joy-Con casings.

Atomic Purple console & Joy-Con casings.

Atomic Purple console & Joy-Con casings.