Reverse Engineering RET Homepage RET Members Reverse Engineering Projects Reverse Engineering Papers Reversing Challenges Reverser Tools RET Re-Search Engine Reverse Engineering Forum Reverse Engineering Links

Go Back   Reverse Engineering Team Board > Reverse Engineering Board > Reverse Code Engineering
FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Display Modes
  #1  
Old 06-28-2011, 06:00 AM
Kalle Kalle is offline
Junior Member
 
Join Date: Jun 2011
Posts: 2
Default Debugging VST Audio Plug Inīs

Hi,

this is my first post here. Thank you for all the great information in this forum. I dealt with reverse engineering long time ago (around 1999) with SoftIce and W32Dasm.

For educational purposes I am trying to reverse engineer VST audio plug ins. Basically these are .dll files hosted by an audio application.

How can I debug them? I tried OllyDBG to load the .dll which works fine. When I do "Call DLL Export" and choose "VSTPluginMain" which is the entry point for every VST plugin, i get an access violation.

I also tried to load the vst host (Ableton Live) and trying to start the VST, but this source is not loaded in ollyDBG. I am a bit confused. Can you point me in the correct direction?

I need a technique to debug these plugin .dllīs.

regards,
Kalle
Reply With Quote
  #2  
Old 06-28-2011, 07:34 AM
kao kao is offline
Senior Member
 
Join Date: Sep 2007
Posts: 184
Default

Get the plugin SDK from Steinberg and study it. You'll notice that you need to pass address of your own audioMasterCallback function to VSTPluginMain().

Either make your own VST host, or find one which you can debug.
Reply With Quote
  #3  
Old 06-28-2011, 09:19 AM
SunBeam SunBeam is offline
Senior Member
 
Join Date: Jun 2011
Posts: 61
Default

Also.. "`s" is possessive. Plural is "s" - plugins. While "plugin's" means "belonging to the plugin/of the plugin" :-)
Reply With Quote
  #4  
Old 06-28-2011, 09:56 AM
Git Git is offline
Super Moderator
 
Join Date: Oct 2007
Location: Torino
Posts: 1,797
Default

Possession does not use an apostrophe, an apostrophe is used ONLY for abbreviation. Anyway, back to RE

Git
Reply With Quote
  #5  
Old 06-28-2011, 12:06 PM
Kalle Kalle is offline
Junior Member
 
Join Date: Jun 2011
Posts: 2
Default

Thank you for the replies. I have found the minihost in the Steinberg SDK. I used it to load a vst and now I can debug my host and inside ollyDbg I can now debug the vst.
Looks fine so far, I will try to get my first vst serial later.

I hope I can ask further questions on this if i run into new problem ?

p.s.: yes, i have to work on my english skills. My last english lession was 17 years ago at school

Quote:
Originally Posted by kao View Post
...you need to pass address of your own audioMasterCallback function to VSTPluginMain().
My effort to use the minihost to debug vst are stuck at the moment. For some vsts ollyDbg jumps into the .dll and I can find string references and for others it does not, so I only get the code of the minihost.

What exactly did you mean with the audioMasterCallback function? When starting VSTPluginMain I tried to pass the same parameters within "the call dll export" but still get an access violation.

These are the parameters I pass as Host Callback:

static VstIntPtr VSTCALLBACK HostCallback (AEffect* effect, VstInt32 opcode, VstInt32 index, VstIntPtr value, void* ptr, float opt);

Last edited by Git : 06-29-2011 at 07:40 AM.
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump





Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.