Misc Project [URGENT] C# CIA Decryption

ndsboy87

Member
OP
Newcomer
Joined
Dec 2, 2023
Messages
16
Trophies
0
XP
41
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
250
Trophies
0
Age
52
XP
344
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
41
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,517
Trophies
2
XP
4,996
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
41
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
139
Trophies
0
XP
2,245
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
41
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
139
Trophies
0
XP
2,245
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,746
Trophies
2
XP
8,602
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
41
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,474
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
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, I bet a good chunk of the space games have is due to unused content
  • Psionic Roshambo @ Psionic Roshambo:
    310GBs lol ISPs hate this one trick
  • Psionic Roshambo @ Psionic Roshambo:
    DLC will be a svelt 32K download lol
  • BigOnYa @ BigOnYa:
    I think you only get like 425gb on a series s hard drive, so you get 1, 2 next gen games max
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, so you need to have another series s if you wanna play more games?
  • BigOnYa @ BigOnYa:
    Nuh you buy extra HD n add to it, but not cheap
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, how can a console have more than 1 hard drives?
  • MysticStarlight @ MysticStarlight:
    usb expansion? I know the PS4 can do this
  • Xdqwerty @ Xdqwerty:
    @MysticStarlight, oh Yea I recall my PS3 can do that
  • Xdqwerty @ Xdqwerty:
    Modded ofc
  • Xdqwerty @ Xdqwerty:
    Speaking of my PS3 i havent downloaded any games yet bc my wifi is too slow
  • Xdqwerty @ Xdqwerty:
    and also because blackouts here are very common and that could damage the console
  • MysticStarlight @ MysticStarlight:
    Do you have a surge protector or an UPS?
  • BigOnYa @ BigOnYa:
    Yea but to play the next gen games, you must have those games on internal, or buy the official ssd expansion cards, which are expensive
  • Xdqwerty @ Xdqwerty:
    @MysticStarlight, dunno what each one of those are
  • Xdqwerty @ Xdqwerty:
    @MysticStarlight, my PS3 was already modded when my dad bought it for me and my brother
  • MysticStarlight @ MysticStarlight:
    A surge protector is a device that protects your electronics from fluctuations. I recommend having your console plugged into one of those
  • MysticStarlight @ MysticStarlight:
    An UPS is even better because it has an internal battery that keeps your system on even if the power goes out, but it's much more expensive obviously
  • Xdqwerty @ Xdqwerty:
    @MysticStarlight, oh i recall seeing one in some in the houses of some relatives, including my dad's apartment
  • Xdqwerty @ Xdqwerty:
    @MysticStarlight, although whatever device we plug into them stops getting power anyways lol
  • MysticStarlight @ MysticStarlight:
    that's weird
  • Xdqwerty @ Xdqwerty:
    @MysticStarlight, and oh i was talking about ups
  • Xdqwerty @ Xdqwerty:
    No not that one
  • Xdqwerty @ Xdqwerty:
    Surge protectors are what i was talking about
  • Xdqwerty @ Xdqwerty:
    Yea I got confused for a bit
    Xdqwerty @ Xdqwerty: Yea I got confused for a bit