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
252
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,510
Trophies
2
XP
4,980
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,236
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,236
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,740
Trophies
2
XP
8,587
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,472
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
  • No one is chatting at the moment.
  • S @ salazarcosplay:
    hunter x hunter
  • S @ salazarcosplay:
    he has not allowed anyone to continue it for him for example
  • Xdqwerty @ Xdqwerty:
    @salazarcosplay, theres a dragon ball af mod for budokai 3
  • Xdqwerty @ Xdqwerty:
    updated ship of harkinian, gonna install some hd texture pack
  • Xdqwerty @ Xdqwerty:
    I might download rayman revolution for my ps3
  • BigOnYa @ BigOnYa:
    I may try the new ram site, and download more RAM to my Switch. Not sure if ddr3 is the right ram
    for it tho. Edit- no it uses floppy Ram, just like @AncientBoi
    +1
  • Xdqwerty @ Xdqwerty:
    aeiou
  • BigOnYa @ BigOnYa:
    And sometimes Z
  • SylverReZ @ SylverReZ:
    @K3Nv2, MAGA supporters be wearing tin foil hats lol.
    +1
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, whats maga?
  • BigOnYa @ BigOnYa:
    It stands for Maniacs Against General Acceptance
    +1
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, people rejecting general consensus about stuff?
    +1
  • BigOnYa @ BigOnYa:
    Yup, nuh its really just Trump followers
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, im not american so i dont care about trump
    +1
  • Xdqwerty @ Xdqwerty:
    or us elections
  • BigOnYa @ BigOnYa:
    Me niether, us north Koreans don't care
  • Xdqwerty @ Xdqwerty:
    good night
  • BakerMan @ BakerMan:
    i don't care either, even if i'm american
  • BakerMan @ BakerMan:
    truth be told, i agree with psi, i dislike both candidates, but i'd probably vote trump simply because the economy was better during his presidency
  • AngryCinnabon @ AngryCinnabon:
    Just be careful, if trump ends up winning and using project 2025 America might really change...for the worse.
  • AngryCinnabon @ AngryCinnabon:
    I'm not american and even that sends shivers down my spine.
  • AngryCinnabon @ AngryCinnabon:
    anything that offers trump an opportunity to become an actual dictator
    is bad in my book, i could care less if it wasn't for that...
  • K3Nv2 @ K3Nv2:
    Canada: America's Russia
  • NinStar @ NinStar:
    people are so dramatic that I can't even tell if they are being serious
    NinStar @ NinStar: people are so dramatic that I can't even tell if they are being serious