Written on 17 March 2021
Source code recovery
If you have software in your business where the original code that generated the software has been lost, it is so frustrating. It might have happened because the original author left the company, or the software company that originally built it is no longer in business, or any number of other scenarios. But the net result is that the business has a problem because that software can no longer be modified or updated. Everybody is stuck living with known bugs that cannot be fixed and require cumbersome work arounds that reduce everybody’s productivity and it completely blocks future developments.
Last week we were working with an Access database created 7 years ago in which the passwords were lost and the code, when we did manage to open the file, proved to have been created by an amateur using random file naming conversions and other novice mistakes that make updating difficult.
Some software might have the connection string hard wired into the compiled program, which really makes it hard when you upgrade your servers.
Lost source code for .Net programs can be easy to reversed, others are more difficult especially if the original programmer has deliberately employed obfuscation methods to make it harder. But, even then, it can be possible
Internal software tools are especially prone to this sort of problem
We can recover that code and return it to you in a state suitable for further development, having expertise in reverse engineering all flavours of common development environments such as .Net and including those low-level languages too such as C++ and ASM. We are also able to recover asp.net sites, Android app’s and other compiled binaries.
Decoding lost binary file formats
It may also be the case that you require access to a bespoke file format that has no structural information or literature as to how it works, this too can be reverse engineered to provide parsers in a form that is once again usable.
How your software works
Even if you have the source code, often the documentation is inadequate which makes understanding it a difficult task. The code may not be commented, ‘magic numbers’ may be used (numbers in code as opposed to variables) or variables may have meaningless names.
All software, at its core, follows a standard architecture pattern for whatever machine it is running on and can there for be illustrated graphically or verbosely to explain how it works. We can do this to enable future proofing, diagnosis of non-technical issues and to explain in general how part of a software package works.
Best practice for source control
The best way to recover lost source code is to keep it safely stored under a source control system, with version tracking. There are several to choose from but the most widely adopted is Git.
- Recovering lost code from
- Exe’s
- Websites
- Libraries
- Damaged data
- Third part has folded and no longer operates with no access to the code for further development.
- Repairing Git repositories
- Decoding file formats bespoke to an application.
- Graphically representing original program logic, commenting or refactoring/refining.
- Code review services, analysis and suggestions for improvement.
- Development of existing code
For further information or advice email to Joe.Shaw@TheDevTeam.co.uk or call 01424 442400.