Modifying a Cubase plugin for use in another DAW?

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

I moved to Reaper from Cubase earlier this year and to a large extent I haven't looked back, but right now I'm really starting to miss one of my favourite old plugins, the Multiband Compressor bundled with Cubase 5. It won't work with reaper (not compatible somehow) and I just can't achieve the same thing with the other plugins I have. I'm here in this particular forum because I'd like to change the plugin in some way so that it will work with Reaper. I'm no C++ wiz but I imagine there's a line of code or something in the .dll that tells Reaper it won't work in this host. If not can someone tell me what might be telling the program it's incompatible?

- tl;dr I want to modify a native Cubase plugin so it works in Reaper - is this possible?

Post

They are probably checking that the hostname is Cubase and not Reaper or something else...

Post

In the Steinberg Knowledge Base there's an asterix noted at the Multiband Compressor, meaning it's not compatible with Cubase Studio/Essential 4 or later. So that probably rules out any other VST host as well. If it were as simple as flipping a bit from true to false, Steinberg would have done so themselves. So I imagine that this plugin is explicitly designed to only work within the original context.

BTW, what you suggest to do here is hacking, reverse engineering, cracking your way into software that is not yours. When you installed Cubase (a long time ago) you signed a license agreement that probably contains some fine print that prohibits you performing such activities.
We are the KVR collective. Resistance is futile. You will be assimilated. Image
My MusicCalc is served over https!!

Post

renoized wrote: - tl;dr I want to modify a native Cubase plugin so it works in Reaper - is this possible?
Yes it is possible. You need a disassember, a debugger (I like IDA) and some assembler knowlege. Afterwards you search for the if (cubase) by debugging it. It will be a conditional jump instruction on asm, a je or jne most likely. If you have found it, invert it (je=jne or jne=je) and plugin will work with all hosts, but not cubase.
It is not that complex as it sounds like. Such checks are done at verry beginning after module loading usually. So easy to find.
But this the technical part only.
The legal part says that you are not allowed to do that.

Post


Yes it is possible. You need a disassember, a debugger (I like IDA) and some assembler knowlege. Afterwards you search for the if (cubase) by debugging it. It will be a conditional jump instruction on asm, a je or jne most likely. If you have found it, invert it (je=jne or jne=je) and plugin will work with all hosts, but not cubase.
It is not that complex as it sounds like. Such checks are done at verry beginning after module loading usually. So easy to find.
Since I guess they did not prevent this plugin from running on other hosts just for sport, I'd say that's not likely to work. It probably depends on some host specific api that is not part of the VST specs. There is a possibility that the plugin is just checking for existence of a cubase license, though.
~stratum~

Post

stratum wrote:

Yes it is possible. You need a disassember, a debugger (I like IDA) and some assembler knowlege. Afterwards you search for the if (cubase) by debugging it. It will be a conditional jump instruction on asm, a je or jne most likely. If you have found it, invert it (je=jne or jne=je) and plugin will work with all hosts, but not cubase.
It is not that complex as it sounds like. Such checks are done at verry beginning after module loading usually. So easy to find.
Since I guess they did not prevent this plugin from running on other hosts just for sport, I'd say that's not likely to work. It probably depends on some host specific api that is not part of the VST specs. There is a possibility that the plugin is just checking for existence of a cubase license, though.
What they check is not relevant for the crack. There is a if - statement somewehere that evalutes the "are you cubase" result. That is what is interesting to you, not the "are you cubase" magic.
Getting quadrafuzz to work on Ableton was about 2h of debugging and then change a JE to JNE.

Oh... and no. This is no sport, but paranoia.
Same reason why they have hardware dongles and all that shit.. steinberg is very special is that regard...
IMHO there is no reason to bind a VST plugin to a certian host (version!!), other than beeing a dumpass.
Had same issue like the author. I love qudrafuzz... but they dropped it with new Cubase, and according to the "Plugin Loading Failed" message box, it was '"not compatible" with the new one anymore.. so i had to find a solution.. ideally not involving any steinberg shit anymore.

Post

Dunno if it is still common, but another business reason for limiting a plugin to a particular application-- If a host app maker wants to license a third-party plugin-- By locking a version of the plugin to only run on that particular host app, the third party plugin writer might be willing to license the plugin for a smaller lump sum payment.

The plugin writer gets a nice chunk of change in one tidy check, and a little bit of advertising because of the bundle, without negating the possibility of additional sales to users or even to be bundled by other hosts for additional lump-sum payments.

OTOH if a plugin writer were expected to license the unlocked version of his plugin for inclusion in a host app, the plugin writer would know that other sales would be drastically curtailed afterwards, so the plugin writer would need to ask more money for the license agreement. Possibly the plugin writer would need to ask so much money that the host maker might not consider the license affordable and the deal would fall thru.

So the user buys host A bundled with plugin B, paying the equivalent of a couple of bucks for plugin B, when the usual price of plugin B might be tens or hundreds of dollars. It is good for everybody involved. In that situation I don't think it reasonable that the user would want to hack the $100 plugin he got for a couple of bucks, in order to use the plugin with any host.

Post Reply

Return to “DSP and Plugin Development”