I've used those tools on some of my code by first compiling my code, then decompiling it and to be honest those tools don't do a perfect job.
What you are trying to do is very complex and will take a LONG time. There isn't an easy solution.
I can point you in the right direction but you will have to do a lot of work yourself. If you don't have the experience to mix C++ with .NET I think you are going to struggle to complete this work.