Misc Project [URGENT] C# CIA Decryption

ndsboy87

Member
OP
Newcomer
Joined
Dec 2, 2023
Messages
16
Trophies
0
XP
31
Country
United States
I'm planning to release 3DSPal 2.0 ASAP, but need help, this is my second post I just didn't tag/word the other one correctly.

I am the developer for 3DSPal, and I also own 3DSTools organization on GitHub. I need to decrypt CIA's when a user downloads one via C#, but the problem is I have no knowledge about the decryption of CIA's and I definitely don't want to go from CIA Downloader to 3DS Downloader because that would be down-right useless. Let me know if you know how to/or have a C# script to decrypt CIA's. The reason I need this ASAP is because I'm upgrading CIA servers from http://streetpass.ct8.pl/port/ to https://3ds.bopdev.org/ (I would make a new domain for my 3DSTools thing but I just got scammed by namecheap when they told me my domain "3.ds" would be visible to everyone but apparently it was a handshake domain.)

3DSTools: https://github.com/3DSTools
3DSPal: https://github.com/3DSTools/3DSPal
My Github: https://github.com/ndsboy87
Contact Info - Discord: ndsboy87
 

anotherthing

Well-Known Member
Member
Joined
Mar 30, 2023
Messages
252
Trophies
0
Age
52
XP
341
Country
United States
I'm kind of fuzzy on what you're trying to do. However, before you answer in any detail, I have no idea how the CIA file format works nor do I know anything about C# other than it was MicroSoft's attempt to kill off Java. But I am curious as to what you're trying to do and the long term purpose of the 3DSPal.
 

ndsboy87

Member
OP
Newcomer
Joined
Dec 2, 2023
Messages
16
Trophies
0
XP
31
Country
United States
I'm kind of fuzzy on what you're trying to do. However, before you answer in any detail, I have no idea how the CIA file format works nor do I know anything about C# other than it was MicroSoft's attempt to kill off Java. But I am curious as to what you're trying to do and the long term purpose of the 3DSPal.
Real Nintendo CIA's (from the eShop) are encrypted, so to load it up to your 3DS normally, you need to decrypt the CIA file, using FBI or hsh (hShop) now what I'm trying to do is decrypt it in C# and already place it into your games, also when you decrypt it instead of ".cia" it becomes ".3ds" I can already do this for 3DS development software *which I'm working on Toolbox, 3DSPal's CIA Downloader but on the 3DS*
 

lone_wolf323

Well-Known Member
Member
Joined
May 27, 2011
Messages
5,495
Trophies
2
XP
4,944
Country
Canada
Real Nintendo CIA's (from the eShop) are encrypted, so to load it up to your 3DS normally, you need to decrypt the CIA file, using FBI or hsh (hShop) now what I'm trying to do is decrypt it in C# and already place it into your games, also when you decrypt it instead of ".cia" it becomes ".3ds" I can already do this for 3DS development software *which I'm working on Toolbox, 3DSPal's CIA Downloader but on the 3DS*
Are you sure you understand the 3ds console correctly? Why exactly would we need to decrypt the .cia files when FBI uses them without problems to install the games they are for?
 

ndsboy87

Member
OP
Newcomer
Joined
Dec 2, 2023
Messages
16
Trophies
0
XP
31
Country
United States
I'm also curious why you're using C# as opposed to C/C++ when DevKitPro is C/C++.
This is an EXE, so I'm using C#, It downloads CIA's to the "cias" folder so you can decrypt the CIAs with a 3ds homebrew app of your choice.
Post automatically merged:

I'm also curious why you're using C# as opposed to C/C++ when DevKitPro is C/C++.
Oh and, the other post was for my homebrew app.
 

botik

Well-Known Member
Member
Joined
Sep 22, 2017
Messages
138
Trophies
0
XP
2,213
Country
Russia
Eshop content have AES Cipher Block Chaining (CBC) encrypt (Need Decrypt Ttitlekey) + AES Counter mode (CTR) encrypt + CryptoSeed. .I have a script for python3 for full decrypt .cia and .3ds
 
  • Like
Reactions: anotherthing

ndsboy87

Member
OP
Newcomer
Joined
Dec 2, 2023
Messages
16
Trophies
0
XP
31
Country
United States
Eshop content have AES Cipher Block Chaining (CBC) encrypt (Need Decrypt Ttitlekey) + AES Counter mode (CTR) encrypt + CryptoSeed. .I have a script for python3 for full decrypt .cia and .3ds
I believe you can run python code with arguments in C#, but how does your program work?
 

botik

Well-Known Member
Member
Joined
Sep 22, 2017
Messages
138
Trophies
0
XP
2,213
Country
Russia
Python version need install with pycryptodome package
CIA encrypt (eshop) ---> CIA decrypt
3DS encrypt (cartridge)---> 3DS decrypt
 

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,735
Trophies
2
XP
8,551
Country
Tuvalu
I believe you can run python code with arguments in C#, but how does your program work?
If you want to do this properly you will port / implement it in C#, and not just call python code from your application.
Take a look at botik's implementation if and when you can, or here's something I found in just a few minutes via searching online
https://github.com/shijimasoft/cia-unix/blob/main/decrypt.py
At least you won't have to start from scratch! Good luck
Post automatically merged:

I think ihaveamac(?) made a tool that can take a cia / 3ds contents and place it on the sd card, encrypted to the specific console. Are you trying to do something like that?
 
Last edited by cearp,

ndsboy87

Member
OP
Newcomer
Joined
Dec 2, 2023
Messages
16
Trophies
0
XP
31
Country
United States
If you want to do this properly you will port / implement it in C#, and not just call python code from your application.
Take a look at botik's implementation if and when you can, or here's something I found in just a few minutes via searching online
https://github.com/shijimasoft/cia-unix/blob/main/decrypt.py
At least you won't have to start from scratch! Good luck
Post automatically merged:

I think ihaveamac(?) made a tool that can take a cia / 3ds contents and place it on the sd card, encrypted to the specific console. Are you trying to do something like that?
YES, EXACTLY! If your talking about directly placing the titles so on boot it will be there, yes thats exactly what I need!
 

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
4,323
Trophies
1
XP
4,462
Country
Canada
This is an EXE, so I'm using C#
Surely you realize you can make a .exe with Python or pretty much any other programming language..?

YES, EXACTLY! If your talking about directly placing the titles so on boot it will be there, yes thats exactly what I need!
There's no such thing. If you're thinking of something like custom-install, then even after you copy the encrypted data to the card, you still need to run faketik (or "custom-install-finalize"). It won't be there "on boot".
 
Last edited by Kwyjor,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • AncientBoi @ AncientBoi:
    We actually said that in Boot Camp, waaay before the movie :mellow:
    +1
  • K3Nv2 @ K3Nv2:
    I gotta raid0 these m.2s yay
  • BigOnYa @ BigOnYa:
    Do a raid10
  • K3Nv2 @ K3Nv2:
    That's tomorrow
    +1
  • Xdqwerty @ Xdqwerty:
    Yawn
  • BigOnYa @ BigOnYa:
    Damn Wal-Mart has 42" 4k TVs for only $150
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, i bet it will not fit inside your bedroom
  • BigOnYa @ BigOnYa:
    Yea here in North Korea, we are only allowed 1 19" tv per household. And the only channel we get is, MLT (Missile Launch Today)
    +1
  • K3Nv2 @ K3Nv2:
    @BigOnYa, doesn't fit in his bedroom he's American
    +1
  • BigOnYa @ BigOnYa:
    I hate ordering stuff online if I can go buy it somewhere close to me, and everywhere anymore will give you a discount only if you order it online, bs. Should be a discount if I go pick it up, not order online.
  • K3Nv2 @ K3Nv2:
    I love it for most things most stores you just shows the receipt online and they scan it
    +1
  • K3Nv2 @ K3Nv2:
    Makes it easy for incompetent restaurant staff that don't know how to hear an order
  • BigOnYa @ BigOnYa:
    Mostly for big purchases, I want it in my hands before I pay. Like a tv, I trust picking it up myself, before I'd trust it being sent thru mail/delivery. (Broken screen, etc) But yea if I can order online, then pickup at store is ok, but not all places offer that.
  • cearp @ cearp:
    > Like a tv, I trust picking it up myself, before I'd trust it being sent thru mail/delivery. (Broken screen, etc)

    Thing is, if you break it driving back to your house, it's your fault. But if the delivery driver damages it, it's not your fault.
    +1
  • K3Nv2 @ K3Nv2:
    Most people that haul big tvs have empty trucks or know enough not to set it face down
  • BigOnYa @ BigOnYa:
    Then I gotta send it back and wait another week or two. I have a pickup truck, with a extended cab, so no prob for me.
  • K3Nv2 @ K3Nv2:
    Most manufacturers pack it well enough where they aren't that dumb to let it happen
  • BigOnYa @ BigOnYa:
    They building a new Microcenter store near by me, is kinda scary. That's my favorite place, I'm like a kid in a candy store there.
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, what's a microcenter?
  • K3Nv2 @ K3Nv2:
    Cool I'll make you ship me stuff
    +1
  • K3Nv2 @ K3Nv2:
    Microcenter sells high quality microwaves
  • BigOnYa @ BigOnYa:
    Computer store basically, but they sell everything, like game systems, tvs , 3d printers, etc
    +1
  • K3Nv2 @ K3Nv2:
    I've seen i9/mobo deals for like 400
  • BigOnYa @ BigOnYa:
    Yea been itching to build a new pc, mine is like 3-4 years old, ancient in pc tech time.
    BigOnYa @ BigOnYa: Yea been itching to build a new pc, mine is like 3-4 years old, ancient in pc tech time.