# VOGONS

## Search results

### Re: About Roland Virtual Sound Canvas 3

Another approach, because we can get (dump) the unencrypted Sound Bank from the RAM memory, but after modification we cannot re-encrypt it, is just to patch the software when load the soundbank to not decrypt it. I already kind of simulated this and that it will work - patching the header of …

### Re: About Roland Virtual Sound Canvas 3

So, the unknown "func" do the following on the indexes: {0} -> {0} {0, 1} -> {0, 1} {0, 1, 2} -> {0, 2, 1} {0, 1, 2, 3} -> {0, 2, 1, 3} {0, 1, 2, 3, 4} -> {1, 3, 0, 4, 2} {0, 1, 2, 3, 4, 5} -> {2, 5, 1, 3, 0, 4} {0, 1, 2, 3, 4, 5, 6} -> {5, 1, 6, 3, 0, 4, 2} {0, 1, 2, 3, 4, 5, 6, 7} -> {0, 4, 2, 5, …

### Re: About Roland Virtual Sound Canvas 3

unfortunately, no, the above is not (entirely) correct - on last step i made wrong swap 🙁

### Re: About Roland Virtual Sound Canvas 3

OK, I think I kind of start to getting the algo myself: * iteration 0, move first 2 odd indexes to the back: E0 E2 E4 E5 E6 E7 E1 E3 * iteration 1, move 2 "new" odd indexes of the first half to the back, do the same with the other half: E0 E4 E2 E5 E6 E1 E7 E3 * iteration 2, move odd indexes of the …

### Re: About Roland Virtual Sound Canvas 3

A little closer... see the attached input / output pairs... starting to see a logic... it's like it's divided in 8x8 (64 bytes) matrix, then the remainder (8 in first case, 4 in the second case) is used as number of byte (with odd indexes) to get and put at the back. Come guys, any genius that can …

### Re: About Roland Virtual Sound Canvas 3

I am over my head with the 2nd layer of encryption, i.e. the byte shuffling they are doing. Please, check the attachment, to see the output of special input matrix I made. It has to do something with odd and even index of the first 2 line and moving them at the end, at least for first 16x16 bytes, …

### Re: About Roland Virtual Sound Canvas 3

OK, made some very small progress: 1. the "+/-8" drift from the original value from my previous post is solved - my mistake - I made mistake in 1st layer encryption of the "fake" block2 that I was feeding to Roland software. So, the "byte shuffling" Roland are using for 2nd layer encryption doesn't …

### Re: About Roland Virtual Sound Canvas 3

back to the 2nd block and its 2nd layer of encryption (really very complicated byte shuffling??!!)... Guys, I really don't know what is that - if I make the matrix with 16 elements in a row, then it acts on "column" instead the "diagonal" from the picture attached 2 post above. The problem is that …

### Re: About Roland Virtual Sound Canvas 3

appiah4 wrote on 2020-09-26, 19:42: I manages to track down the installer for the 3.20 retail version and it is a godsend... 3.20 you can update to the latest 3.23, the update is still alive on Roland website: https://static.roland.com/jp/media/exe/VSC323U.exe

### Re: About Roland Virtual Sound Canvas 3

hmm, when i visualized what is going on, i got the relation, but partially - it's diagonal and every next byte on the diagonal, that's why when I replaced only 16 bytes with fake one there was no any relation, because you need to have matrix with at least 16 bytes diagonal and that means 16 lines or …

### Re: About Roland Virtual Sound Canvas 3

"block2" is like it's not packed, but 2 layers encrypted, 1st layer "vscdecv3.c" can remove and the 2nd layer is some weird, I don't know what to call it "substitution" or "shuffling" (maybe it's known crypto algo, but i don't know it) - I still cannot understand the math behind it - when I replaced …

### Re: About Roland Virtual Sound Canvas 3

progressed more thanks to VSC 2.x - I guess it's always good idea not to use the latest (and thus most advanced) version of anything you're trying to reverse-engineer, like I was using VSC 3.23 until now. So, with VSC 3.23 when the Sound Bank is decrypted/unpacked to the RAM it's scattered all over …

### Re: Sound Bank rom dumps - how are made?

@mkarcher : thank, that clarifies a lot of the questions I had.

### Re: About Roland Virtual Sound Canvas 3

@Cloudschatze thanks for another idea about the potential encoding/packing/compression they are using. in the attachment here: https://www.vogons.org/viewtopic.php?p=896369#p896369 in "ramdump.bin" (after "CM-64/32L.ME" data sequence), there are few unpacked samples. I am working on finding the data …

### Re: About Roland Virtual Sound Canvas 3

made a little more progress - based on my analysis it seems "block 2" is encrypted with "mirror image" of the "block 1" key (i am very confident about that) - "vscdecv3.c" taking that into account is attached. unfortunately, that's not all - it seems after decryption the wave data are unpacked ( …

### Re: About Roland Virtual Sound Canvas 3

found another key fact about point 2. here: https://www.vogons.org/viewtopic.php?p=896282#p896282 or in other words about "header bytes offset 0x18 to 0x1f" : they seem that important for Roland that they made great effort even between 2 consecutive versions 3.2 Retail and 3.23 Retail to conceal …

### Re: About Roland Virtual Sound Canvas 3

and guess what - the point at which the encryption algorithm changes is defined in the File Header of the Sound Bank at offset 0x28 to 0x2a. So, 3 bytes from the header discovered what they are, the hard way...

### Re: About Roland Virtual Sound Canvas 3

There is no doubt now (at least to me) that after "CM-64/32L.ME" text is decrypred, the Sound samples begin (i.e. definitions of the instruments end and the actual PCM/WAV data begins) and the sound samples are encrypted with new keys/algorithm. Please, check the attachment and tell me your opinion: …

### Re: About Roland Virtual Sound Canvas 3

I believe I am up to something and I don't believe it's just a coincidence and that it happens immediately after "CM-64/32L.ME" text is decrypred. So, I am testing with "vsc55.dat" from VSC 3.x - both old "sm0n" and my "vscdec" generate the same file output, but after 422588 bytes and exactly after …

### Re: About Roland Virtual Sound Canvas 3

In theory, the Roland PCM data is mu-law companded. many thanks, that could explain it... let me first finish what i mentioned in the "" of my previous post - just to double-check and make sure the decryption works properly on the whole bank and there are no some blocks of the bank encrypted …

Page 11 of 13