2012-06-13 7 views
5

Necesito demostrar que un programa VB.NET que escribí se escribió en un momento determinado.Cualquier forma de determinar cuándo se compiló/construyó un programa .net

(el motivo es una investigación de integridad académica en la que alguien copió mi código).

Tengo todo el código en mi disco, incluidas las carpetas de depuración y liberación, con mi nombre de usuario en las rutas de compilación.

¿Son cosas adicionales que podría hacer, como buscar en los binarios?

+0

Creo que esta pregunta tiene sus méritos, pero debe ser reformulada. –

+0

¿Está esto en su máquina o en una compartida? –

+0

Probablemente, cada uno de los archivos en su disco tiene una marca de tiempo? Ciertamente, es posible cambiar la marca de tiempo de los archivos en un disco, por lo que le sugerimos que entregue el disco a los investigadores lo antes posible para minimizar la posibilidad de falsificación de acusaciones. –

Respuesta

1

Lo primero que debe hacer es copiar todos los datos almacenados en otro dispositivo, asegurándose de conservar todos los tiempos de las fechas. No abra ni edite ninguno de los archivos.

Cada archivo tiene tres marcas de tiempo, cuando se creó, cuando fue modificada por última etc. Estos se pueden encontrar utilizando DIR/T

/T   Controls which time field displayed or used for sorting 
    timefield C Creation 
       A Last Access 
       W Last Written 

Obtener una lista de directorio de la siguiente manera:

DIR myrootdir /s /ah /as /tc > fileslist.txt 

Esto le devolverá todos los archivos con tiempos de creación de un archivo llamado fileslist.txt

también como dice @EricJ: ofrecer su disco como evidencia - pero como he dicho hacer una copia primero Lo mejor sería hacer primero una copia de imagen (copia de seguridad de Windows) a otra unidad.

3

Si usa IL Disassembler para abrir EXE/DLL, luego seleccione la opción de menú Ver> Encabezado, hay un campo llamado "Sello de fecha y hora" en el encabezado COFF/PE. Está en formato binario, y según MSDN es:

Los 32 bits bajos de la marca de tiempo de la imagen. Esto representa la fecha y la hora en que el enlazador creó la imagen. El valor se representa en el número de segundos transcurridos desde la medianoche (00:00:00), 1 de enero de 1970, hora coordinada universal, de acuerdo con el reloj del sistema.

+0

+1: Buen hallazgo: eché un vistazo rápido a ILDASM pero no vi nada obvio. –

1

Los investigadores están haciendo esto de la manera incorrecta.

Se pueden falsificar todos los datos de marca de tiempo, por lo que la mejor manera sería que se sienten y hagan preguntas detalladas sobre cómo funciona el código, para ambas partes por separado. O pedir a ambas partes que completen un pequeño proyecto de prueba, de nuevo por separado, en condiciones de examen.

El que copió el trabajo no entenderá lo que copiaron con mayor probabilidad, y no podrá reproducir algo basado en conceptos similares.

El que lo escribió, bueno, a menos que lo engañen, lo entenderán todo en profundidad.

Cuestiones relacionadas