rohithvishaal / 3ds-converters

A tool to convert {.cia to .cci} , {.cci to .cia} , and to decrypt .cci
16 stars 3 forks source link

Some files cannot be converted #1

Closed SiriusVI87 closed 1 year ago

SiriusVI87 commented 1 year ago

There are 3 issues:

  1. files with special characters, such as "!" cannot be converted. They must be renamed without the "!". After that, they convert fine, but it's a hassle to do that with every single file. Is there a way to make the batch script accept file names with "!"?

  2. Certain cias cannot be converted at all. I believe it affects many. cias with the region specified as "world" in their title. An example is "Teddy Together (World).cia". If I start the batch, it will do nothing. No log is generated, too. I can drag the file over "decrypt.exe" and will get "Teddy Together (World).0".ncch" and "Teddy Together (World).1.ncch", but the batch file will just not produce a .cci file from these files. Any idea what's going on here?

  3. In another case, I get this error:

Parsing CIA in file "Animal Crossing - Happy Home Designer (USA).cia": Parsing NCCH 0 Product code: CTR-P-EDHE KeyY: 627E8D69473C184659FC0DBB619985F9 Title ID: 000400000014F100 Format version: 2 Uses Extra NCCH crypto, keyslot 0x25 Traceback (most recent call last): File "decrypt.py", line 430, in File "decrypt.py", line 252, in parseCIA File "decrypt.py", line 307, in parseNCCH File "decrypt.py", line 194, in getNewkeyY struct.error: unpack requires a string argument of length 4 Failed to execute script decrypt [SETTING ERROR] Argument "-rsf" is required

rohithvishaal commented 1 year ago

For batch I think you can try this

@echo off
setlocal enabledelayedexpansion

rem Set the directory where your files are located
set "folder=C:\Path\To\Your\Folder"

rem Loop through all files in the directory
for %%F in ("%folder%\*!*") do (
    set "filename=%%~nF"
    set "extension=%%~xF"
    set "newname=!filename:!=!"
    ren "%%F" "!newname!!extension!"
)

echo File renaming complete.
endlocal
rohithvishaal commented 1 year ago

check the direct program for the additional command line arguments makerom-x86_64

It's been ages since I used it. I just forgot how to use it 🥲