ROM Hack RELEASE [ACNH] BCSV Editor

Alree

Well-Known Member
OP
Member
Joined
Feb 18, 2019
Messages
264
Trophies
0
Age
54
XP
1,545
Country
France
An early stage C# software to edit/save Animal Crossing New Horizon BCSV Files.
My own personal software, released as is to allow the creation of mods by everyone or even Datamining

upload_2020-7-9_8-51-38.png


Save/Edit is only enabled in "default/Hex" mode.

Actual features:
- Edit BCSV

- Load a basic CSV file to "deobfusc' CRC32B encoded value. (format: 00000000;string)
- Save file in native ACNH BCSV Format
- Export content in CSV format
- Drag & drop

Changelog:
- 0.0f (build 08072020)

  • * More sanitized Hash
  • * Better Value recognition
  • * Wrong hashes detection
  • * Export unknow hash to file
  • * Batch Export to CSV (Drag & Drop All files and Wait)
  • * Show selected Value in String/Int/Float... to better reading

- 0.0e
  • * Add Right-clic menu to Copy/convert value on fly
  • * Added MM3 reversed Values to Hashtable
  • * Added Shift JIS basic support to read Japanese Value (ToolTip/Content)
  • * Save BCSV to Rev10300 format

- 0.0d
  • * Hash file recalculated/sanitized (18646 hashes)
  • * BCSV Legacy format compatibility (ACNH v1.0.0)
  • * Fixed issue on Export to CSV
  • * General system stability improvements to enhance the user's experience

- 0.0c
  • * Fixed issue on String saving
  • * Display String and Value instead of Hex

- 0.0b (Public release)
- 0.0a (personnal Release)


ToDo:
- Display Shift JIS string
- CRC32 Encoding
- Explanation on format
- Explanation on how to reverse CRC32B value


I'll try to fix any issue feel free to post it.

Download: https://gamebanana.com/tools/6825

Hash file provided was made with Hashcat with a customized dict file. Suffixes have been guessed by Ninji.
Some hash come from my own bruteforce, some other from Ninji and SuperSpazzy
 

Attachments

  • upload_2020-6-14_22-49-16.png
    upload_2020-6-14_22-49-16.png
    70.4 KB · Views: 695
Last edited by Alree,

Biggles

Active Member
Newcomer
Joined
Jun 13, 2020
Messages
27
Trophies
0
XP
120
Country
United States
This is really cool! Thanks so much for releasing this. Would you perhaps be willing to do a simple/quick tutorial for us noobs out here?
 

Alree

Well-Known Member
OP
Member
Joined
Feb 18, 2019
Messages
264
Trophies
0
Age
54
XP
1,545
Country
France
So, this app belong to people with some computer knowledge

How to edit a file ?

Launch BCSV_Editor
Drag & Drop your previously extracted BCSV file to it.
If you know what you do, just change the correct value and save you file.

if not.. you can "replace Hashed value with guessed one" with :

upload_2020-7-9_8-29-21.png


this will load the file "hash.csv" (if exist) and replace all unhashed values.

you can use
upload_2020-7-9_8-19-13.png
before loading your file to "unhash" automatically values.
When values are unhashed you cannot edit and save file, to prevent wrong values insertion. (so you can just open two BCSV Editor if you want)

Make your change and save file. (Keep in mind a lot of value are CRC32 hashed (some are plain text, others are MM3 hashed)

Place you new saved file in \romFS\bcsv\ on you SD card and launch the game (if your CFW is LayeredFS compliant)
That's it.

If your purpose is more Datamining or Dev oriented

Launch BCSV_Editor

Check all tree options:
upload_2020-7-9_8-23-43.png


- Select All your BCSV files
- Drag & Drop all of them in BCSV Editor. this will unhash everything, export every files to \csv\ and create a new file "unk_Hash.txt" with all unkow hashes.

With that you have:
- a bunch off readable CSV files to work with.
- a file with all un-guessed Header values and "maybe wrong" hashes. With that you can use whatever bruteforce app you want.

What this app do ?

- Read BCSV File in every knowed format and show the actual BCSV version and other infos at bottom
upload_2020-7-9_8-39-57.png

upload_2020-7-9_8-37-41.png


With that you can know what's the original version of this file and know if the file have been modified since launch

- If a unhashed value does not match the content type, value appear in Italic Red
upload_2020-7-9_8-42-6.png


All string value have tooltip. If value is Japanese you will see the ASCII format and the Shift JS format in Tooltip

upload_2020-7-9_8-45-20.png


This app is ACNH BCSV oriented, but should work with other Nintendo BCSV in other game (not tested yet)
 

Attachments

  • upload_2020-7-9_8-16-10.png
    upload_2020-7-9_8-16-10.png
    6.4 KB · Views: 381
  • upload_2020-7-9_8-17-19.png
    upload_2020-7-9_8-17-19.png
    602 bytes · Views: 301
  • upload_2020-7-9_8-19-34.png
    upload_2020-7-9_8-19-34.png
    6.1 KB · Views: 297
  • Like
Reactions: DestinyFeather

berichan

ACNHMobileSpawner dev
Member
Joined
Dec 9, 2014
Messages
224
Trophies
0
XP
625
Country
Antarctica
This has been racking my brain a bit, do you get a newline character around row number 1165 in ItemParam.bcsv with 1.3.1/1.3.0 which causes half a row to shift down, specifically when exporting to csv? I'm trying to fix the parser that comes with NHSE and both tools currently have this error (the newline is in a few more places within the csv too)

Want to rule out a bad cart dump first.
 

Alree

Well-Known Member
OP
Member
Joined
Feb 18, 2019
Messages
264
Trophies
0
Age
54
XP
1,545
Country
France
This has been racking my brain a bit, do you get a newline character around row number 1165 in ItemParam.bcsv with 1.3.1/1.3.0 which causes half a row to shift down, specifically when exporting to csv? I'm trying to fix the parser that comes with NHSE and both tools currently have this error (the newline is in a few more places within the csv too)

Want to rule out a bad cart dump first.
Have same issue, ID 3253 (and some others)
Field type and Content mismatch.. seems like an integer but stored in a 5 bytes field... who store an int on 5 bytes !?
 
  • Like
Reactions: berichan

berichan

ACNHMobileSpawner dev
Member
Joined
Dec 9, 2014
Messages
224
Trophies
0
XP
625
Country
Antarctica
Have same issue, ID 3253 (and some others)
Field type and Content mismatch.. seems like an integer but stored in a 5 bytes field... who store an int on 5 bytes !?

Wait what? The entire time it was a 5 byte int? Geez ok well really appreciate you checking too, thought I was going crazy with a bad dump or something.
 

Alree

Well-Known Member
OP
Member
Joined
Feb 18, 2019
Messages
264
Trophies
0
Age
54
XP
1,545
Country
France
Dunno if really an int, but it's clearly not a string or anything else, maybe some raw data
if showed like int, value seems correct. and match with unhashed header
btw thanks, i've already made a fix, and push a release later.

5 bytes fields are "e8c448b2" "fa71e75c" "42cd8039" "12d4d7a6"
I'll check other files "ItemOutfitInfo.bcsv" should have similar issue

upload_2020-7-18_23-38-46.png
 
Last edited by Alree,

berichan

ACNHMobileSpawner dev
Member
Joined
Dec 9, 2014
Messages
224
Trophies
0
XP
625
Country
Antarctica
I fixed my tool thanks to you figuring out it was a 5-byte non-string (no more newlines!) appreciate it! Not sure why things like the athletic top (red) have so much "data" in these paramaters haha.
 

spurified

New Member
Newbie
Joined
Aug 3, 2020
Messages
2
Trophies
0
Age
41
XP
87
Country
United States
I am trying to figure out how to use hashcat to compute the hashes you've provided and I can't seem to figure out which algorithm you used. I know that the hashes are computed using crc32b but as far as I can tell hashcat doesn't support that algorithm? Any guidance would be appreciated - I'd like to throw some compute at finding missing hashes.
 

Alree

Well-Known Member
OP
Member
Joined
Feb 18, 2019
Messages
264
Trophies
0
Age
54
XP
1,545
Country
France
hashcat.exe -m 11500 (11500 = CRC32B)
But length is limited to 30 char, you have to change attack mode to guess 50 char.
Some hash are in Murmur3, you have to write your own brute force for this
 

Claranon

Member
Newcomer
Joined
May 19, 2018
Messages
6
Trophies
0
Age
41
XP
286
Country
Canada
I'm having trouble editing MysteryTourParam.bcsv to put the rare flower islands back in. (I know you made a mystery tour edit yourself, I just want to do it for fun!)

I made two new rows for the islands, but when I try to copy over a value of 65535 into a cell, the program refuses to let me make a number that big and truncates it to four digits only. I can't figure out why it's limiting me like this and can't seem to put a five-digit value into any of the new cells I'm editing. I circled one of the problem cells in a screenshot.

Thank you for making the program, and any help with this issue would be appreciated!
 

Attachments

  • mystery.jpg
    mystery.jpg
    1.2 MB · Views: 236

Alree

Well-Known Member
OP
Member
Joined
Feb 18, 2019
Messages
264
Trophies
0
Age
54
XP
1,545
Country
France
I'm having trouble editing MysteryTourParam.bcsv to put the rare flower islands back in. (I know you made a mystery tour edit yourself, I just want to do it for fun!)

I made two new rows for the islands, but when I try to copy over a value of 65535 into a cell, the program refuses to let me make a number that big and truncates it to four digits only. I can't figure out why it's limiting me like this and can't seem to put a five-digit value into any of the new cells I'm editing. I circled one of the problem cells in a screenshot.

Thank you for making the program, and any help with this issue would be appreciated!

Well, dunno how the hell I've missed this bug... have changed a lot of thing with int16 data, in fact the real data is not "65535" but "-1"

btw, I have released a fast fix https://gamebanana.com/tools/6825
Let me now if this works, you should be able to add a five digit value in int16 column

I'll made a full working fix this week-end.
Thanks a lot to point this out
 

Claranon

Member
Newcomer
Joined
May 19, 2018
Messages
6
Trophies
0
Age
41
XP
286
Country
Canada
It works perfectly now, thanks so much for the quick fix! Glad I could contribute by finding an obscure bug, haha.

Edit: Wait, one more thing. The d89a0db0 column of the same file seems to have a similar issue with length. Some of the values from the game (update 1.5.1) are showing up as 100, but I'm unable to edit 100 into any of the other cells--it's stuck at a two-digit number instead.
 
Last edited by Claranon,

Alree

Well-Known Member
OP
Member
Joined
Feb 18, 2019
Messages
264
Trophies
0
Age
54
XP
1,545
Country
France
It works perfectly now, thanks so much for the quick fix! Glad I could contribute by finding an obscure bug, haha.

Edit: Wait, one more thing. The d89a0db0 column of the same file seems to have a similar issue with length. Some of the values from the game (update 1.5.1) are showing up as 100, but I'm unable to edit 100 into any of the other cells--it's stuck at a two-digit number instead.
Good point, I see what I've done.
Previously the "Edit" capability was only in "Hex" mode, and those column in Hex have the proper length.
(signed)int16 is max "FFFF" (4 chars max)
(signed)int8 is max "FF" (2 chars max)

Have made a bypass, to add another char, but it's just a hotfix, do not try to write a value greater than "65535" or "256".
Have uploaded this hotfix to let you play with your files. proper fix will come soon. (new version is 00ia)
THanks =) Again ^^
 

Claranon

Member
Newcomer
Joined
May 19, 2018
Messages
6
Trophies
0
Age
41
XP
286
Country
Canada
Thank you for such prompt fixes for these random issues! I'm just starting to explore editing BCSV files but so far your tool has been invaluable. Keep up the great work!
 

TipTopTap

New Member
Newbie
Joined
May 10, 2021
Messages
2
Trophies
0
Age
39
XP
36
Country
United Kingdom
I love this tool but having real trouble getting successful results - assuming that things had changed a fair amount in versions after 1.5.x. Whats the chances that a 1.10.0 version might be possible?
 

Alree

Well-Known Member
OP
Member
Joined
Feb 18, 2019
Messages
264
Trophies
0
Age
54
XP
1,545
Country
France
Nothing really changed except new hash collision. Format are still the same.
With the lack of real new content, no need to make an update.
I use this version to make my mods since release... even in 1.10
 

TipTopTap

New Member
Newbie
Joined
May 10, 2021
Messages
2
Trophies
0
Age
39
XP
36
Country
United Kingdom
Nothing really changed except new hash collision. Format are still the same.
With the lack of real new content, no need to make an update.
I use this version to make my mods since release... even in 1.10

Cheers for such a quick reply, I must be doing something very wrong then.

E.g, Trying to get Giraffe Stag to spawn more, by setting all other values in columns 45-50 to 0, and increasing the giraffe stag number to 50, is not giving me any luck.

Should I be doing something differently and is there anything special to do when putting the .bcsv back on the sd (transferring via ftp) into Atmosphere/.../RomFS/Bcsv
 

Ethelokia

New Member
Newbie
Joined
Dec 22, 2020
Messages
1
Trophies
0
Age
24
XP
70
Country
United States
Nothing really changed except new hash collision. Format are still the same.
With the lack of real new content, no need to make an update.
I use this version to make my mods since release... even in 1.10
Hello IAlree. Is it possible I could get into communication with you in regards to the Minecraft4kids resource package? I have a few questions to ask if it’s okay with you.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Veho @ Veho: Her boob is the cause of all this current shit :angry: