none
Recuperar codigo fuente mediante .dll y .pdb

    Question

  • Hola,

    Soy programador de visual basic .net, utilizo Visual Studio 2005 con framwork 2.0, y recientemente he perdido por error el codigo fuente del trabajo de todo un mes y solo tengo en mi pc local las librerias (DLL y PDB) de los proyectos que debugaba.

    He estado probando varios programas para descompilar librerias (Spices.net, Reflector, Telerik JustDecompiler, ...) pero ninguno me devuelve el codigo fuente igual que lo tenia y estoy desesperado.

    Algunos de los cambios mas significativos en la transformación del código son:

    -Los nombres de las variables

    -Te modifica los "for" por "whiles"

    -Las concatenaciones de string las pone como arrays

    - Dentro de los "catch ex as exception" incluye "ProjectData.SetProjectError(ex)"

    -Los for each se convierten en "Ienumerator" i se recorren con un "do While enumerator.MoveNext"

    -Se añaden GO TO cuando donde no existian

    -.............

    ¡En definitiva que el código no tiene nada que ver con el oiriginal!

    SABE ALGUIEN DE ALGUN SOFTWAR PARA DESCOMPILAR LIBRERIAS (DLL) O PDB QUE DEVUELVA EL CODIGO FUENTE CON LA MAYOR EXACTITUD POSIBLE?

    Muchas gracias.

    Tuesday, January 08, 2013 5:40 PM

All replies

  • Hola Acaireta,

    Entiendo tu desesperación. Siento tener que decirte que eso te pasa por no tener una política de backups adecuada. También lamento comunicarte que esos programas que usas para decompilar los ensamblados lo hacen lo mejor que pueden. Nunca conseguirás el nombre de las variables que tu tenías ni el código tal cual lo escribiste. Porque cuando compilaste el proyecto, el código sufre una serie de optimizaciones que no puedes deshacer con estos programas.

    La única opción que tienes para recuperar el código original es usar un programa que recupere archivos eliminados. ¡A veces funcionan!

    Si no, tendrás que trabajar sobre el código que has obtenido con los decompiladores y ponerlo en cristiano.

    Que tengas suerte.

    Saludos

    Tuesday, January 08, 2013 6:35 PM