1. Alree

    OP Alree GBAtemp Regular
    Member

    Joined:
    Feb 18, 2019
    Messages:
    230
    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
     

    Attached Files:

    Last edited by Alree, Jul 9, 2020
    falcorr, JonJaded, ozling and 9 others like this.
  2. Biggles

    Biggles Member
    Newcomer

    Joined:
    Jun 13, 2020
    Messages:
    26
    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?
     
  3. Alree

    OP Alree GBAtemp Regular
    Member

    Joined:
    Feb 18, 2019
    Messages:
    230
    Country:
    France
    I will, with the next update. just need more work to release it polished
     
    Biggles likes this.
  4. Alree

    OP Alree GBAtemp Regular
    Member

    Joined:
    Feb 18, 2019
    Messages:
    230
    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)
     

    Attached Files:

    DestinyFeather likes this.
  5. berichan

    berichan ACNHMobileSpawner dev
    Member

    Joined:
    Dec 9, 2014
    Messages:
    223
    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.
     
  6. Alree

    OP Alree GBAtemp Regular
    Member

    Joined:
    Feb 18, 2019
    Messages:
    230
    Country:
    France
    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 !?
     
    berichan likes this.
  7. berichan

    berichan ACNHMobileSpawner dev
    Member

    Joined:
    Dec 9, 2014
    Messages:
    223
    Country:
    Antarctica
    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.
     
  8. Alree

    OP Alree GBAtemp Regular
    Member

    Joined:
    Feb 18, 2019
    Messages:
    230
    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, Jul 18, 2020
  9. berichan

    berichan ACNHMobileSpawner dev
    Member

    Joined:
    Dec 9, 2014
    Messages:
    223
    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.
     
  10. spurified

    spurified Newbie
    Newcomer

    Joined:
    Aug 3, 2020
    Messages:
    2
    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.
     
  11. Alree

    OP Alree GBAtemp Regular
    Member

    Joined:
    Feb 18, 2019
    Messages:
    230
    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
     
  12. Claranon

    Claranon Newbie
    Newcomer

    Joined:
    May 19, 2018
    Messages:
    6
    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!
     

    Attached Files:

  13. Alree

    OP Alree GBAtemp Regular
    Member

    Joined:
    Feb 18, 2019
    Messages:
    230
    Country:
    France
    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
     
  14. Claranon

    Claranon Newbie
    Newcomer

    Joined:
    May 19, 2018
    Messages:
    6
    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, Oct 28, 2020
  15. Alree

    OP Alree GBAtemp Regular
    Member

    Joined:
    Feb 18, 2019
    Messages:
    230
    Country:
    France
    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 ^^
     
  16. Claranon

    Claranon Newbie
    Newcomer

    Joined:
    May 19, 2018
    Messages:
    6
    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!
     
  17. TipTopTap

    TipTopTap Newbie
    Newcomer

    Joined:
    Monday
    Messages:
    2
    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?
     
  18. Alree

    OP Alree GBAtemp Regular
    Member

    Joined:
    Feb 18, 2019
    Messages:
    230
    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
     
  19. TipTopTap

    TipTopTap Newbie
    Newcomer

    Joined:
    Monday
    Messages:
    2
    Country:
    United Kingdom
    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
     
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - [ACNH], Editor,