VB decompiler or EXE analysis....

I wrote a VB program (in VB5) and I am worrying if someone can get the source code out of my EXE.
Q1. Is there any decompiler or something that can be used to do this?.
Q2. If not, is there any possibility that someone can analyze the EXE and understand what the code does?.
For example, in my code I check the date when my program is run for the first time, and take an action upon that. I also count the number of minutes my program has been running so far, and I write them to the registry after encoding the number.
Can these be understood by an experienced person by analyzing the EXE?
Thank you.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.


Q1. No luckily there is no such decompiler for VB5. ;)

Q2. One way would be to monitor all changes in the registry, this way the person will see what you do there (just scan thru registry once before (s)he runs your program and then once when your program is running etc.. this way (s)he will see where you are changing stuff in the registry. This means that (s)he knows what values to monitor and (s)he will see it changes every minute.. from that I guess it would be possible to reverse the encoding algorithm...  whatever (s)he would want this informaiton...


If you are making 30 day timeware, better use many regkeys three or four of them and join them and perform a separate keycheck using check sum.
Like this:
Key 15677834
1+5+6+7+7+8 = 34

Also more complex aritmethic but remember you must keep in range of storage capacity. in this sample the largest key is 9+9+9+9+9+9=54
need a VB format$ operation in case of 09 and smaler sums.

Meaning here that you perform a check whit each key that the last digit must be a result of a summ in here.
Now user can't chance to one number, and if he do, the last digits do not macth any more.

Devide the time value using String operations in four parts, and make check sum digits to every of these keys like a barcode reader has.

This is not a full secure system, but it is lot dificulter than one numberkey.


This becomes a "value added" problem.
What is the value of your program vs. the time necessary to reverse engineer your .exe.  Make it as expensive as possible.

VB Decompiler dont work with VB 5, only 4.0

try with Numega SmartCheck for EXE Analysis,
http://www.numega.com, very good tool..!!


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.