Link to home
Start Free TrialLog in
Avatar of slselwyn
slselwynFlag for United Kingdom of Great Britain and Northern Ireland

asked on

Unable to change website without 'source code'

We have a web site but have lost the original developer. It is a custom site in aspx developed with fkeditor about 4 years ago. Our new developer is telling us that the site is compiled and no changes can be made without the source code which should be in aspx.vb. The original developer is telling us that he does not have the source code but that the site could be decompiled easily to get the code. Our new developer is telling us this is impossible.
I do not know enough about web development to know who is correct. Advice would be very appreciated as we need to correct some errors and make some changes.
ASKER CERTIFIED SOLUTION
Avatar of binaryevo
binaryevo
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of slselwyn

ASKER

I have been told this "that reflector software is only to decompile dll's and it is only for a purpose to see the code, it cannot create .aspx.vb files and you cannot even re-compile the code." Do decompilers allow you to make changes and then recompile?
Decompiling the code may be against all sort of licences that you agreed to when you got the site initially.

It may be against your local laws.

Etc. etc. I am NOT a lawyer.


But.

If you are in a business, then you've probably lost the site as it stands. Your time and money will be much better spent getting the site redeveloped, but this time with knowledge that you wish to retain the source code at all times and that is part of the agreement/contract.

In essence you are not buying a web site, you are buying a developer's time and skills.

Normally, a good developer will be able to provide you with working aspects of the site so you can see the progress being made, rather than nothing for months and then a release 3 days before live data and it isn't working and the developer wants to be paid.

Be prepared to talk to your developer rather than just handing over a specification. Quite often a developer won't know your business inside out and can easily make assumptions which aren't the right ones.

Avatar of Éric Moreau
The decompilers will be able to show you code but never the same that was originally written
We own all the rights ot the site and it is a total custom site that apart from a few bugs works as we want it to. To pay again just because our previous developer is being difficult is an option we want to avoid.
I would say other than re-writing it, a decompiler is probably the only option you have to retrieve any remenance of source code if the developer route isnt an option.  As emoreau said, they wont give you 100% of what you need but, hopefully will give you enough to rebuild the site quickly.
Has anyone experience of a decompiler that would do what we need which they could recommend?
>>Has anyone experience of a decompiler that would do what we need which they could recommend?

Any decompiler will give you the same thing because the all use the same IL
Owning the rights ... that MAY mean you only own the rights to use the generated/compile code. These sort of things are very difficult.

But, if you are a viable business, then you need to do a cost benefit analysis of

1 - Decompiling the code and hoping it can provide enough content to be re-engineered into a working site.
2 - Simply pay the developer for the code.



When you write code, it is human readable.

The job of the compiler is to take the human readable code and convert it to machine readable code (that's a very simplistic explanation, but the end result is that it become non-human readable).

Also, it may optimize the code. Completely rearranging the code based upon the compilers analysis of the code. I've had experience of this in Delphi.

Loops which have no interaction in each iteration will be executed in reverse. It is easier to start at the high value and decrement, jumping on zero than it is to start at zero, increment and then compare iterator value against the high value. That comparison is more expensive than a jump on zero (in essence).

So the compiler rewrote my code.

And that is a simple one.

There are MANY different optimizations available, all of which mean the decompiled code almost certainly will NOT look like the original code.

Also, there will be no inline documentation, so a third party developer will only be able to understand what the code actually does, not what is intended to do. In the case of bugs in the code, it will be a lot harder to fix as there will be nothing to tell the developer what the code is expecting to do.


In my experience (admittedly not in a .NET environment), decompiling code is a last resort. It may be useful to have and to reference, but to base a new site upon it requires a very heavy understanding of the optimization processes performed by the compiler to achieve the non-human readable form.

No clear answer - maybe there isn't one
I disagree. The answer's provided here are VERY specific to the issue at hand.

You WILL be able to decompile the code and an expert developer will be able to use that code to develop a new site.

Depending upon the optimizations performed by the compilation (and thus revealed by decompilation), he may be able to amend the existing code and recompile it to your satisfaction.

My personal preference would be to only use the decompilation as a guide.


Perhaps you could recommend a compiler that you have found to do the job accurately.
That had already been covered by binaryevo.