PDA

View Full Version : Problem with bugfixing .net program


Ghent
08-04-2009, 12:11 PM
Hi,
first I'm totally new with reengeneering.

I found a free beta program (exe) written in VisualBasic.net. The author seems to stop codeing on it. But it has still some minor bugs. So i want to fix them. I tried to contact the author -> no answer.
So I search the internet about reverse engeneering .net aplications and find .net reactor.
I was happy about this program, cause the whole code was displayed and i found some bugs.
Disasamble the program shows all single modules, etc.
But I can't use this disasambled code in VisualBasic (>100 Errors).
So I tried refexil to fix the bugs directly.
I can't code IL so I use the "replace all" Feature.
I works on some functions but the main function reports an error "mutiply exist of ....... in the namespace" (not exactly shure).
So I can't patch this function :( .

Now my questions:
1. Is it possible (maybe with other program) to disasamble the exe-file so I can use it in VisualBasic.net?
2. If not, is it possible to compile the disasambled and patched code without using VisualBasic.net? I can do the bugfixes with a simple text editor directly in the .vb files if this helps.
3. If not, is it possible to fix the problem with refexil?
4. Are there other programs which can help me?

Regards Ghent

kao
08-04-2009, 05:30 PM
So I search the internet about reverse engeneering .net aplications and find .net reactor.

You meant .NET Reflector, right? :D

1) You could also try Dis#, Xenocode Fox and Jungle Creatures Decompiler.NET but every one of them has some bugs. The best you should expect is ~95% correctness.
2) Possible, but not for VB code. Such action is called ILDASM/ILASM "cycle" or "roundtrip". ILDASM produces IL code. You can modify that and then compile back using ILASM. Of course, learning IL would help a lot. ;)
3) Probably. Reflexil has its own bugs but on normal EXEs it's reported to work quite well. Again - being able to write IL code would make it much easier for you.
4) See point 1.

As you can see, most problems would go away, if you learned some IL basics. It's not that hard, trust me!

Have fun!
kao.