Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Assetto Corsa ACD extractor

Featured Replies

  • Author
  • Localization

kickstart, posted Sun Apr 03, 2016 6:47 pm (12391)


Works fine with the actual 1.5.4
  • Replies 101
  • Views 29
  • Created
  • Last Reply

Top Posters In This Topic

  • Author
  • Localization

Chronovisor, posted Sun Apr 03, 2016 6:53 pm (12392)


kickstart wrote:
Works fine with the actual 1.5.4


Thank you for your quick reply!

SteamDB shows no change in encryption after release of DreamPacks.

Best regards
Chris
  • Author
  • Localization

RobAU, posted Fri Jun 17, 2016 11:24 am (14535)


Hey All,

Im having some issues extracting a data.acd file. I have followed all the steps you guys have provided but i still get any ini file with random characters. It doesnt show any of the proper ini values. Can anyone guide me through what im doing wrong?

Attached below is what im seeing no matter what i do. I have tried putting it in the folder, using a new script and bms version but no luck. I have tried multiple acd files nothing. The kn5 files do work but not the acd.

Help will be greatly appreciated!

Sorry for not being the best at this as its my first time and, im pretty much clueless! :|

Cheers Rob
  • Author
  • Localization

Chronovisor, posted Fri Jun 17, 2016 11:48 am (14536)


Exctracting an .acd-File is only possible if the folder which contains the file is still there because its name is the key to extract it. So most likely you copied the file into another folder which has a different name.
  • Author
  • Localization

d0m, posted Mon Jun 27, 2016 11:27 pm (14843)


hey,

I've a problem extracting a .acd file from a special event.
I want to modify them, because some of them are nearly impossible to get, because since launch many things changed, so a couple of times are unreachable.
Well, I would like to extract the .acd file from the SPECIAL_EVENT_35 which is located in:

"C:\Program Files (x86)\Steam\steamapps\common\assettocorsa\system\data\se\SPECIAL_EVENT_35.acd"

Unfortunately at every extraction try I just get a unreadable/corrupt ini file.
Can anyone explain me how to do it?
I tried it with this command:

quickbms.exe assetto_corsa_acd.bms D:\se\SPECIAL_EVENT_35.acd D:\data

edit:

hmm. looks like editing the special events is the wrong way, I managed to change the acd file for one event (I replaced the event care with a powerfule one), but still didn't get a achievement.
I'll try now to increase the power of the original car, anyone know how to do this in an easy way? :D
  • Author
  • Localization

Chronovisor, posted Tue Jun 28, 2016 5:03 am (14850)


I don't think you can solve the problems with official achievements. Once you modify an achievement it won't be accepted by steam. Maybe the you can get an ingame achievement. But thats just what I think.

The SPECIAL_EVENT_XX.acd-files seem to use an unknown common key which is not the name of the folder. Thats understandable because the special events shouldnt be modified by the users according to Kunos. All we have to do is to find this key to decrypt every special event file.
  • Author
  • Localization

sorcereR15, posted Fri Nov 25, 2016 9:40 pm (19092)


thank you for this tool !

I have a question, after i extracted a car, i tried to copy the entire car folder (and renaming it), so that i have the original car, and the modified car, to do testing quickly in the game.

But i can not load the renamed car? any idea why this is.
  • Author
  • Localization

aluigi, posted Sat Nov 26, 2016 9:28 am (19100)


As far as I remember you cannot create new cars but you can only use those existent (same names) or the game will not accept them.
There are modders who can give you an exact answer, so wait their confirmation.
  • Author
  • Localization

kickstart, posted Sat Nov 26, 2016 9:51 am (19101)


After decrypt, you have to rename the "Car" as example to "Car_own_creation" and rename in the SFX-Folder the .bank to the same: Car_own_creation.bank
Now you have two same cars and you can edit, what you want.
  • Author
  • Localization

jag543, posted Thu Dec 22, 2016 9:59 pm (19747)


Hi,
first I wanted to thank you for work with this great little script, which helped me a lot in the last 2 years.
Sadly I'm having some problems lately rebuilding my data.acd-files.
According to QuickBMS the process is finished succesfully, but ingame the engine behaves weirdly like it has 1000000000 horsepower at one exact rpm.
Has someone had the some problem?

Thanks and Greetings
  • Author
  • Localization

Robbie222, posted Tue Jan 10, 2017 11:27 am (20050)


Hello Aluigi,

First of all thanks sharing your awesome work.

I have tried to rebuild an edited data.acd, the script worked succesfully, the file has the same size as the original. After replacing the original and renaming as the original, when I try to test it the game crashes on loading.

Are you able to fix this?
  • Author
  • Localization

aluigi, posted Sat Jan 14, 2017 6:56 am (20148)


Rebuilding data.acd is not necessary because, as far as I remember, the game works with the extracted files in the data folder.
If you want to use the rebuilding script anyway try to set the ACD_VERSION variable in it to 1 instead of 0.
  • Author
  • Localization

AngryArowana, posted Fri Feb 10, 2017 1:59 pm (20744)


Thank you so much for sharing this. Finally I can change tyres to the ones I wanted to use on those mod drift cars and actually drive them.
  • Author
  • Localization

solyom, posted Mon Jul 24, 2017 2:27 pm (25001)


d0m wrote:
hey,

hmm. looks like editing the special events is the wrong way, I managed to change the acd file for one event (I replaced the event care with a powerfule one), but still didn't get a achievement.
I'll try now to increase the power of the original car, anyone know how to do this in an easy way? :D



Hi d0m, (or anybody else)

Could you tell me how did you edit finally the acd files?

I don't want to change the events but make new ones, because race events require acd files too. Time events curiously don't.
I'd like to make new acd files parallel to my own ini's to make working the race events.

Thanks!
  • Author
  • Localization

AWD, posted Thu Feb 15, 2018 5:01 pm (32475)


aluigi wrote:
http://aluigi.org/papers/bms/others/assetto_corsa_acd.bms

Yeah, finally I have made the extractor that tons of people were requesting from months.
So let's start to extract all the data.acd you desire.

The format is simple, just a sequence of files that have each byte occupying a 32bit field so the size is 4 times the original one.
The real task of the format was the encryption because the key is generated with the name of the folder where is located the ACD file.
The encryption is just a simple rot.

The key is generated by 8 small algorithms that take the whole or parts of the folder name.
Then the 8bit values of these keys are used with sprintf "%d-%d-%d-%d-%d-%d-%d-%d"".
That's it.


Hey, can you tell me more about the encryption? I'm trying to make a plugin that uses theese informations about the car to view real time telemetry with the ideal tyre temps and pressures in Python, but I can't get it right (I'm new with this type of algorithm). I get the right keys, but can't decrypt the inner files. Could it be the alphabet or the way the keys are used in the inverted rot function?
Thanks
  • Author
  • Localization

aluigi, posted Fri Feb 16, 2018 10:16 am (32494)


The encryption is trivial, take a 32bit of data, use only its 8bit and then add the byte of the key: decrypted[i] = (long)encrypted[i] key[i];
where "encrypted" is a 32bit pointer.

The complex part is the generation of the key, but if you say you obtained the right key then it's 99% of the problem solved :)
  • Author
  • Localization

AWD, posted Sat Feb 17, 2018 1:45 am (32538)


aluigi wrote:
The encryption is trivial, take a 32bit of data, use only its 8bit and then add the byte of the key: decrypted[i] = (long)encrypted[i] key[i];
where "encrypted" is a 32bit pointer.

The complex part is the generation of the key, but if you say you obtained the right key then it's 99% of the problem solved :)


Thanks for the quick reply! I learned how to generate the keys in your bms script file. ^^
I was trying to do that, to subtract, to change the alphabet too but I'm still missing something very noobie... are you using key as a string or int array?
My code, in Python, for each inner file was:

keys = [179, 44, 163, 59, 166, 193, 14, 53] # generated keys
content = acd_file[offset:offset file_size * 4] # get entire encrypted file content
packed_content = content[::4] # get only the first of each four bytes of the encription
new_content = ""
for i in range(file_size):
new_content = chr(packed_content[i] keys[i % 8])

So this: bjh\\hg\xa9ddhehl7bhe\\ej\xaf`_h^kj;hk\\ch]\xadia`hla;gi\\`me\xa9db_hciAj`ccab\xb2f[fn`i@g``hg]\xadg[ejgpC^gc\\dm\xaf_cqagg@^ehb`h\xb0_cieiq7eh\\`ii\xa9ggbhgj7bmb\\dh\xa9gaeiqb
Turn into: e?c?DI??e?C?Eop?E?C?rgm?d?cvDIj?e?O?cgv?EgC?Ag{?S?a?DHwvg?C?cgA?D?d?dau?e?C??Ii?g?e~AIq?e???c?o?Ela?Dgn?t?C?cIlE?y?dI??E?c?Dop?e?c?oIo?G?a
When it should be:
13//43|3.5833
12//41|3.4167
12//40|3.3334
13//42|3.2308
13//41|3.1538
13//40|3.0769
13//37|2.8461
14//37|2.6428
14//36|2.5714
14//34|2.4285

I have no experience in encryption at all. =/
  • Author
  • Localization

aluigi, posted Sat Feb 17, 2018 2:02 pm (32547)


Let's say the following is the initial content of data.acd:
Code:
  08 00 00 00 61 65 72 6f 2e 69 6e 69 41 08 00 00   ....aero.iniA...
  92 00 00 00 75 00 00 00 77 00 00 00 75 00 00 00   ....u...w...u...
and the key is 7-248-6-221-246-250-21-49

Code:
0x92 - '7' = '['
0x75 - '-' = 'H'
0x77 - '2' = 'E'
0x75 - '4' = 'A'
...

Gotcha? :)
  • Author
  • Localization

AWD, posted Sat Feb 17, 2018 4:36 pm (32552)


aluigi wrote:
Let's say the following is the initial content of data.acd:
Code:
  08 00 00 00 61 65 72 6f 2e 69 6e 69 41 08 00 00   ....aero.iniA...
  92 00 00 00 75 00 00 00 77 00 00 00 75 00 00 00   ....u...w...u...
and the key is 7-248-6-221-246-250-21-49

Code:
0x92 - '7' = '['
0x75 - '-' = 'H'
0x77 - '2' = 'E'
0x75 - '4' = 'A'
...

Gotcha? :)


Thanks, I've got it! I way using the 8 keys as a byte array, not a single string, so the sequence was:
i - 7
i - 248
i - 6
...
When I complete the app I'll post here. Thank you a lot for explain me the algorithm!
  • Author
  • Localization

StarGT, posted Fri Oct 05, 2018 2:55 am (39083)


Why i have this when i try to open ini files in Notpad

DHADENaZ;LXDFR>: `8?W9^
M;^_UYHKa@4654& 0(JZ?lcyp!FrWofxwvguj^nPmANXRT]LLGESXDMZCYRFGMOGZLR5AJGdIERF_QU>SJ>iNV?GEGYDAPHdHZC[LD\YHE^_AROO>0&-R;AWeMCS_GJO[@*.:?EG?\TOJ=5/930CDL[LLKT4).;1
  • Author
  • Localization

aluigi, posted Fri Oct 05, 2018 7:27 am (39086)


You must use the script on the original data.acd file in the original location because the folder is the encryption key.
  • Author
  • Localization

StarGT, posted Fri Oct 05, 2018 3:29 pm (39119)


aluigi wrote:
You must use the script on the original data.acd file in the original location because the folder is the encryption key.

but i want change specs on mod car
  • Author
  • Localization

aluigi, posted Fri Oct 05, 2018 4:26 pm (39123)


First you must extract the files correctly, if you get garbage ini files like that it means you are doing it in the wrong way :)
  • Author
  • Localization

aluigi, posted Sun Oct 07, 2018 4:49 am (39223)


What's the exact name of the folder containing that data.acd?
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.