I've been working on something similar as part of my ROM Properties Page shell extension. The next release, 1.0, will support decrypted 3DS files, including .3DS (.CCI) and .CIA. There will also be partial support for encrypted files, including boxart fetch for encrypted .3DS. For boxart, I'm using an on-demand download from
GameTDB instead of requiring offline boxart pack downloads.
Preview screenshot showing internal icon extraction for decrypted .3DS and .CIA files: (also FBI.3dsx, which has an internal SMDH, and a zero-key encrypted FBI.3ds)