Homebrew 3DSShellExt, show .cia .3dsx .smdh icons in windows

kkguo

Member
OP
Newcomer
Joined
Apr 27, 2017
Messages
21
Trophies
0
XP
72
Country
United States
This is a Shell Extension for Windows, showing .CIA/.3DS/.3DSX/.SMDH/.NDS icons in explorer.

Update 05/04/2017: v0.1.2
  • Fix NoCrypto flag mask, now showing icon for non-encrypt cia correctly.
  • Downgrade .net requirement to 4.0
  • Add a default icon for encrypted files.
Updates 05/03/2017: v0.1.1
  • Add support to .NDS (dsi rom) file
  • Project name changed to DSShellExt, as it's supporting NDS files.
  • Add support to .3DS
  • Fix icons not showing for certain decrypted .cia files.
  • NOT SUPPORTING encrypted roms, most likely it needs your console to decrypt it.

Todo:
  • Barcode for FBI direct install?
  • Show more information in the tool tip, such as title name, region info.
Snapshot:
screenshot_1-png.86048

thanks to @Petraplexity for the snapshot.

Download:
https://github.com/kkguo/DSShellExt/releases

SourceCode:
https://github.com/kkguo/DSShellExt

Please report issue or suggestion at https://github.com/kkguo/DSShellExt/issues

Have fun!
 
Last edited by kkguo,

GerbilSoft

Well-Known Member
Member
Joined
Mar 8, 2012
Messages
2,395
Trophies
2
Age
34
XP
4,249
Country
United States
Not a Windows user but looks neat :yay:
I've been working on something similar, rom-properties. The current release doesn't support 3DS (it'll be in the next release), but it does support DS, Wii, and GameCube, and it also runs on Linux. (KDE4, KDE5, GNOME 3; thumbnailing under Xfce is not yet supported.)

If you're using Mac: I've tried looking for interfaces for custom thumbnail generation and property pages, but couldn't find anything.
 
Last edited by GerbilSoft, , Reason: -linebreak

GerbilSoft

Well-Known Member
Member
Joined
Mar 8, 2012
Messages
2,395
Trophies
2
Age
34
XP
4,249
Country
United States
FYI: .NET Framework 4.5 has a minimum requirement of Windows Vista, so if your extension actually needs 4.5 and can't run on 4.0, you should update the README.
 

kkguo

Member
OP
Newcomer
Joined
Apr 27, 2017
Messages
21
Trophies
0
XP
72
Country
United States
FYI: .NET Framework 4.5 has a minimum requirement of Windows Vista, so if your extension actually needs 4.5 and can't run on 4.0, you should update the README.
You are right, did you already see problem on that?
Actually the target in the project is .net 4.5, it can be lower.
I will change it to 4.0 in next release, just for some feature introduced in 4.0 which is helpful creating shell extension with .net (I forget the name of that feature...)
 

GerbilSoft

Well-Known Member
Member
Joined
Mar 8, 2012
Messages
2,395
Trophies
2
Age
34
XP
4,249
Country
United States
You are right, did you already see problem on that?
Actually the target in the project is .net 4.5, it can be lower.
I will change it to 4.0 in next release, just for some feature introduced in 4.0 which is helpful creating shell extension with .net (I forget the name of that feature...)
I haven't actually tested it yet, but that was something I noticed while looking over the project.
 

KunoichiZ

Well-Known Member
Member
Joined
Mar 16, 2012
Messages
8,830
Trophies
0
Age
28
XP
4,597
Country
United States
I ran install.bat and it worked for some of my CIAs (ACNL update, FE if DLC, and TWLSaveTool are some examples) and it didn't work on other CIAs (Fantasy Life DLC and FE Fates DLC are some examples). Is it supposed to work on all CIAs or just some of them?
 
  • Like
Reactions: Deleted-379826
D

Deleted-379826

Guest
Gonna check this out. It'll be nice to have, I don't store many 3ds related things though. Maybe add one for nand backups and make it a brick logo or something? :P
 

kkguo

Member
OP
Newcomer
Joined
Apr 27, 2017
Messages
21
Trophies
0
XP
72
Country
United States
I ran install.bat and it worked for some of my CIAs (ACNL update, FE if DLC, and TWLSaveTool are some examples) and it didn't work on other CIAs (Fantasy Life DLC and FE Fates DLC are some examples). Is it supposed to work on all CIAs or just some of them?
if the rom file is decrypted, it should work. To the best my knowledge, encrypted rom needs your console key to get the icon, correct me if I'm wrong.
I started 3DS journey recently (pretty late, I know), still studying the system...
 

KunoichiZ

Well-Known Member
Member
Joined
Mar 16, 2012
Messages
8,830
Trophies
0
Age
28
XP
4,597
Country
United States
if the rom file is decrypted, it should work. To the best my knowledge, encrypted rom needs your console key to get the icon, correct me if I'm wrong.
I started 3DS journey recently (pretty late, I know), still studying the system...
That would probably explain things. I'm pretty sure some of my CIAs aren't decrypted.
 

KunoichiZ

Well-Known Member
Member
Joined
Mar 16, 2012
Messages
8,830
Trophies
0
Age
28
XP
4,597
Country
United States
So, just a question for you, do you want the default icon or you want a customized icon indicating it's 3DS file but encrypted?
I think a customized icon would fit better. With the icons for the decrypted files, it looks a little out of place for the encrypted files to not have an icon (other than the blank, standard icon). It doesn't have to be anything to specific, though.
 

GerbilSoft

Well-Known Member
Member
Joined
Mar 8, 2012
Messages
2,395
Trophies
2
Age
34
XP
4,249
Country
United States
if the rom file is decrypted, it should work. To the best my knowledge, encrypted rom needs your console key to get the icon, correct me if I'm wrong
It needs Slot0x2C. This is a common key (not system-specific), but it's still locked in the Boot ROM.

Some encrypted CIAs have a plaintext meta section at the end of the file. If the CIA's meta size is non-zero, you can check this instead of reading the ExeFS. https://www.3dbrew.org/wiki/CIA
 

kkguo

Member
OP
Newcomer
Joined
Apr 27, 2017
Messages
21
Trophies
0
XP
72
Country
United States
It needs Slot0x2C. This is a common key (not system-specific), but it's still locked in the Boot ROM.

Some encrypted CIAs have a plaintext meta section at the end of the file. If the CIA's meta size is non-zero, you can check this instead of reading the ExeFS. https://www.3dbrew.org/wiki/CIA
it's already done in the first version. and NCCH is read if no metadata exsiting.
So, maybe just wait for the boot9... I doubt even hedgeberg will release it, damn copyright thing..
 
D

Deleted User

Guest
Not working for me.

Code:
#######################################################
##            DS Shell Extension                     ##
##                                                   ##
##           https://github.com/kkguo/DSShellExt     ##
#######################################################
FIND: `/i': No such file or directory
FIND: `x86': No such file or directory
The system cannot find the path specified.
Done!

/-------------------------------------------------------------------\
 DSShellExt is an open-source project,
 ApkShellExt is a sister project of DSShellExt
 Please visit https://github.com/kkguo/DSShellExt for more information
\-------------------------------------------------------------------/
Press any key to continue . . .
 

kkguo

Member
OP
Newcomer
Joined
Apr 27, 2017
Messages
21
Trophies
0
XP
72
Country
United States
So, another update..
Not working for me.

Code:
#######################################################
##            DS Shell Extension                     ##
##                                                   ##
##           https://github.com/kkguo/DSShellExt     ##
#######################################################
FIND: `/i': No such file or directory
FIND: `x86': No such file or directory
The system cannot find the path specified.
Done!

/-------------------------------------------------------------------\
 DSShellExt is an open-source project,
 ApkShellExt is a sister project of DSShellExt
 Please visit https://github.com/kkguo/DSShellExt for more information
\-------------------------------------------------------------------/
Press any key to continue . . .
@RosaliinaDaHacker64, which system are you on?
If you know what I'm talking about, please try manually install the dll like this:
%windir%\Microsoft.NET\Framework\v4.0.30319\regasm.exe /codebase DSShellExt.dll
 
D

Deleted User

Guest
So, another update..

@RosaliinaDaHacker64, which system are you on?
If you know what I'm talking about, please try manually install the dll like this:
%windir%\Microsoft.NET\Framework\v4.0.30319\regasm.exe /codebase DSShellExt.dll
Windows 8.1.
I'll try installing that way

Edit: It works!
 
Last edited by ,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: "Impossible he memorized every book on the planet..." +1