remover - Contraseña de Excel VBA a través del editor hexadecimal
reset vba password (4)
- Abra el archivo xls con un editor hexadecimal.
- Buscar
DPB
- Reemplazar
DPB
aDPx
- Guardar el archivo.
- Abrir archivo en Excel.
- Haga clic en "Sí" si obtiene un cuadro de mensaje.
- Establecer una nueva contraseña desde Propiedades del proyecto VBA.
- Cierre y abra de nuevo el archivo, luego escriba su nueva contraseña para desproteger.
Compruebe http://blog.getspool.com/396/best-vba-password-recovery-cracker-tool-remove/
He utilizado el "Editor hexadecimal para modificar DPB a DPx" muchas veces en el pasado para eludir la seguridad del proyecto VBA en mis antiguos proyectos de Excel VBA (.xls), así que definitivamente sé cómo hacerlo y sé que puedo hacerlo.
Sin embargo, acabo de intentar hacerlo ayer y descubrí que ya no parece funcionar. Intenté usar Excel 2011 (Mac) y Excel 2003 (Windows) y, en ambos casos, obtuve el mismo comportamiento;
Al abrir el editor de VBA, aparece un mensaje que dice que el proyecto está dañado y que se eliminará el proyecto. El editor de VBA se abre y, por supuesto, todo el VBA se elimina de los módulos y las hojas de trabajo.
He intentado este método: ¿hay alguna manera de descifrar la contraseña en un proyecto Excel VBA? (es decir, crear una hoja de cálculo con una contraseña conocida y luego copiarla en los campos relevantes)
Pero descubro que la longitud de la clave "GC" creada en mi hoja de cálculo "ficticia" es más corta que la clave "GC" en la hoja de cálculo a la que estoy deseando acceder (el "objetivo"). Había leído en otra parte que en los casos en que las teclas "objetivo" eran más largas, podía rellenar las teclas "ficticias" con la misma longitud, pero no hay nada que pueda encontrar para decir qué hacer en el caso inverso.
Entonces, mi pregunta (s);
- ¿Alguien sabe si se ha aplicado un parche que hace que el enfoque del "editor hexadecimal" sea inválido?
- ¿Alguien puede ayudar con qué hacer cuando las claves ficticias son más largas que las claves objetivo?
- ¿Alguien más puede proporcionar un sitio actualizado en este tema?
EDITAR Ahora que he resuelto esto (hasta cierto punto), pensé en agregar un resumen aquí.
NO HE PODIDO hacer que esto funcione en Mac Excel 2011. Algo sobre cambiar el archivo de filname.xlsm a fielname.zip y viceversa da como resultado un archivo de Excel dañado que Excel 2011 se niega a reconocer.
Me las arreglé para hacer que esto funcione en una máquina de Windows antigua (XP / Excel 2007) al modificar el nombre de archivo .xlsm en .zip, editando los valores DPB = AND GC = en el archivo vbaproject.bin con un editor hexadecimal y luego guardando esto en el archivo .zip antes de cambiar el nombre del archivo .zip a xlsm. Usé el ejemplo de "prueba" dado por Ricko en la parte inferior y funcionó con ONE CAVEAT. Tuve que rellenar el valor de mi GC para que tuviera la misma longitud que el original en mi archivo.
ORIGINAL: GC="0F0DA36FAF938494849484"
NEW: (TEST) GC="BAB816BBF4BCF4BCF4" (from Ricko below)
NEW: (TEST) GC="BAB816BBF4BCF4BCF40000" (what i used and what worked)
Nueva versión, ahora también tiene GC = intente reemplazar tanto DPB como GC con aquellos
DPB = "DBD9775A4B774B77B4894C77DFE8FE6D2CCEB951E8045C2AB7CA507D8F3AC7E3A7F59012A2" GC = "BAB816BBF4BCF4BCF4"
la contraseña será "prueba"
Si .xlsm
archivo .xlsm
lugar de .xls
, puede usar el método anterior. vbaProject.bin
modificar vbaProject.bin
en .xlsm
varias veces utilizando el método DBP->DBx
porque no funcionaba, pero el valor cambiante de DBP
no lo hacía. Así que me sorprendió mucho que el siguiente trabajo:
1. Guarde .xlsm
como .xls
.
2. Use el método DBP->DBx
en .xls
.
3. Desafortunadamente, algunos errores pueden ocurrir al usar el archivo .xls
modificado, tuve que guardar .xls
como .xlsx
y agregar módulos, luego guardar como .xlsm
.
Tengo su respuesta, ya que tuve el mismo problema hoy:
Alguien creó un código vba que cambia la contraseña de protección vba a "macro", para todos los archivos de Excel, incluido .xlsm (versiones 2007+). Puedes ver cómo funciona navegando por su código.
Este es el blog del chico: http://lbeliarl.blogspot.com/2014/03/excel-removing-password-from-vba.html Aquí está el archivo que hace el trabajo: https://docs.google.com/file/d/0B6sFi5sSqEKbLUIwUTVhY3lWZE0/edit
Pegado de una publicación anterior de su blog:
Para archivos de Excel 2007/2010 (.xlsm), siga estos pasos:
- Crea un nuevo archivo .xlsm.
- En la parte de VBA, configure una contraseña simple (por ejemplo, ''macro'').
- Guarda el archivo y cierra.
- Cambie la extensión del archivo a ''.zip'', ábralo con cualquier programa del archivador.
- Encuentra el archivo: ''vbaProject.bin'' (en la carpeta ''xl'').
- Extraerlo del archivo.
- Abra el archivo que acaba de extraer con un editor hexadecimal.
Busque y copie el valor del parámetro DPB (valor entre comillas), ejemplo: DPB = "282A84CBA1CBA1345FCCB154E20721DE77F7D2378D0EAC90427A22021A46E9CE6F17188A". (Este valor se genera para la contraseña ''macro''. Puede usar este valor DPB para omitir los pasos 1-8)
Siga los pasos 4 a 7 para el archivo con contraseña desconocida (archivo que desea desbloquear).
Cambie el valor de DBP en este archivo en el valor que ha copiado en el paso 8.
Si el valor copiado es más corto que en el archivo cifrado, debe rellenar los caracteres faltantes con 0 (cero). Si el valor es más largo, eso no es un problema (péguelo como está).
Guarde el archivo ''vbaProject.bin'' y salga del editor hexadecimal.
- Reemplazar el archivo ''vbaProject.bin'' existente con uno modificado.
- Cambiar la extensión de ''.zip'' a ''.xlsm''
- Ahora, abra el archivo de Excel que necesita para ver el código de VBA. La contraseña para el código de VBA será simplemente macro (como en el ejemplo que estoy mostrando aquí).