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

Discussion in '3DS - Homebrew Development and Emulators' started by kkguo, Apr 27, 2017.

  1. kkguo
    OP

    kkguo Member

    Newcomer
    21
    28
    Apr 27, 2017
    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.
    Warning: Spoilers inside!

    Todo:
    • Barcode for FBI direct install?
    • Show more information in the tool tip, such as title name, region info.
    Snapshot:
    [​IMG]
    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, May 5, 2017
  2. JadedSynner

    JadedSynner Newbie

    Newcomer
    6
    1
    Apr 26, 2017
    United States
    This is neat and helpful! Thanks
     
  3. erman1337

    erman1337 GBAtemp Maniac

    Member
    1,211
    931
    Sep 27, 2015
    Belgium
    Brussels
    Not a Windows user but looks neat :yay:
     
  4. OrGoN3

    OrGoN3 GBAtemp Addict

    Member
    2,044
    460
    Apr 23, 2007
    United States
    U tryna hax me systems?
     
    RosaliinaDaHacker64 likes this.
  5. GerbilSoft

    GerbilSoft GBAtemp Addict

    Member
    2,103
    2,341
    Mar 8, 2012
    United States
    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, Apr 27, 2017 - Reason: -linebreak
  6. kkguo
    OP

    kkguo Member

    Newcomer
    21
    28
    Apr 27, 2017
    United States
    So a new release, v0.1.1
     
  7. GerbilSoft

    GerbilSoft GBAtemp Addict

    Member
    2,103
    2,341
    Mar 8, 2012
    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.
     
  8. kkguo
    OP

    kkguo Member

    Newcomer
    21
    28
    Apr 27, 2017
    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...)
     
  9. GerbilSoft

    GerbilSoft GBAtemp Addict

    Member
    2,103
    2,341
    Mar 8, 2012
    United States
    I haven't actually tested it yet, but that was something I noticed while looking over the project.
     
  10. KunoichiZ

    KunoichiZ GBAtemp Guru

    Member
    8,425
    3,531
    Mar 16, 2012
    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?
     
    TheVinAnator likes this.
  11. TheVinAnator

    TheVinAnator GBATemp's Greatest Vin

    Member
    3,606
    2,650
    Jan 10, 2016
    Canada
    NO COFFEI!
    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
     
  12. kkguo
    OP

    kkguo Member

    Newcomer
    21
    28
    Apr 27, 2017
    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...
     
  13. KunoichiZ

    KunoichiZ GBAtemp Guru

    Member
    8,425
    3,531
    Mar 16, 2012
    United States
    That would probably explain things. I'm pretty sure some of my CIAs aren't decrypted.
     
  14. kkguo
    OP

    kkguo Member

    Newcomer
    21
    28
    Apr 27, 2017
    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?
     
  15. KunoichiZ

    KunoichiZ GBAtemp Guru

    Member
    8,425
    3,531
    Mar 16, 2012
    United States
    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.
     
  16. GerbilSoft

    GerbilSoft GBAtemp Addict

    Member
    2,103
    2,341
    Mar 8, 2012
    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
     
  17. kkguo
    OP

    kkguo Member

    Newcomer
    21
    28
    Apr 27, 2017
    United States
    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..
     
  18. RosaliinaDaHacker64

    RosaliinaDaHacker64 3DS font intermediate/expert

    Member
    618
    312
    Oct 7, 2015
    Ireland
    F:\gm9\out
    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 . . .
     
  19. kkguo
    OP

    kkguo Member

    Newcomer
    21
    28
    Apr 27, 2017
    United States
    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
     
  20. RosaliinaDaHacker64

    RosaliinaDaHacker64 3DS font intermediate/expert

    Member
    618
    312
    Oct 7, 2015
    Ireland
    F:\gm9\out
    Windows 8.1.
    I'll try installing that way

    Edit: It works!
     
    Last edited by RosaliinaDaHacker64, May 4, 2017