locked
What is reverse engineering? RRS feed

  • Question

  • Hi

    What is reverse engineering?  How Much suit for dot net application ?


    Regards, Looser.
    Friday, December 30, 2011 6:58 AM

All replies

  • Reverse Engineering  is basically working backwards through the development process. 

     

    Most often, people use the term to refer to taking a compiled executable and trying to figure out the source code from that.  In .NET, this is often fairly easy - you can use tools like Reflector (http://www.reflector.net/) to easily decompile .NET code.

     


    Reed Copsey, Jr. - http://reedcopsey.com
    If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".
    Friday, December 30, 2011 6:14 PM
  • Software reverse engineering involves reversing a program's machine code back into the source code that it was written in, using programing language statements.

    Reasons to Reverse Engineer

    ·      Curiosity  – see how things work

    ·      Risk Management – see what the bad guys see

    ·      Recovery – recover lost / damaged source

    ·      Illegal Activity – be the bad guy

    .Net and reverse engineering

    One of the advantages of the .NET architecture is that assemblies built with it contain lots of useful information that can be recovered using ILDASM, the intermediate language disassembler. A side effect, though, is that someone with access to your binaries can recover a good approximation of the original source code.

    What Can Be Reverse Engineered

    1.       Windows Forms

    2.       Console Applications

    3.       ASP.NET (with server access)

    4.       DLL’s

    5.       SharePoint Web Parts

    6.       Windows Workflow Assemblies

    7.       Micro Framework Applications

    8.       Silver light

    9.       Compact Framework Applications

    10.   SQL Server CLR Assemblies

    11.   WPF

    12.   WCF

    13.   Office Business Applications

    Here the authors present program obfuscation as a way to deter reverse engineering.

     


    Lingaraj Mishra
    Saturday, December 31, 2011 4:41 AM
  • Reverse engineering is often reffered to as decompiling a .NET assembly as mentioned before and here is another good link on how to do this:

    What is Decompiling an Assembly in .NET and Some Good Tools To Do It:
    http://allen-conway-dotnet.blogspot.com/2011/04/what-is-decompiling-assembly-in-net-and.html

    However, sometimes people refer to "Reverse Engineering" managed code into UML diagrams which is also possible. Some of the modeling tools are built directly into VS.NET 2010 and there are many more avalaible for purchase. Have a look to the following for some more information:

    Is it possible to reverse engineer C# code into an UML Class Diagram?
    http://social.msdn.microsoft.com/Forums/en-US/vsarch/thread/a1ee9393-8f9b-45f2-8277-6e49346a119a

     


    Thank you,
    Tuesday, January 3, 2012 3:56 PM
  • hi ,

    Is it applicble for only Dot net application or any other technologies ..?

     


    Regards, Looser.
    Wednesday, January 18, 2012 7:16 AM
  • hi ,

    Is it applicble for only Dot net application or any other technologies ..?

     


    Regards, Looser.
    Reverse engineering applies to any technology.  Some of the applications and utilities are .NET specific, but there are similar technologies for other platforms, including java and even native code.
    Reed Copsey, Jr. - http://reedcopsey.com
    If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".
    Wednesday, January 18, 2012 6:29 PM
  • As Reed also told, a reverse engeneering applies to any technology. Well-known cases are the japanise car makers (from german cars), american and russial rocket sciencists (from german rockets). A lot of cases in industrial espionage.
    Leonid Ganeline [BizTalk MVP] BizTalk and 0MQ (ZeroMQ)
    Friday, January 20, 2012 10:04 PM