Romper o contrasinal de VBA Microstation macro

Visual Basic for Applications é unha serie de bibliotecas que Microsoft puxo a disposición, algo antigo pero moi poderoso especialmente nas versións de Office antes de 2010. Aínda que continúa existindo, agora fanse moitos desenvolvementos en .NET e outros ambientes; aínda así, para desenvolvementos baseados en marcros, VBA é unha solución moi práctica e na caso de Microstation, bastante sinxelo. Polo menos recordo falar sobre isto, mostrando o mapa confinado e algo con XFM.

Estes son algúns dos problemas que viñeron a min esta mañá mentres corría na rotonda da Virxe nunha casa tropical:

Axuda: Cando execute o VBA, recibo a mensaxe:

«Non se atopou a información de licenza para este compoñente. Non ten dereitos suficientes con esta licenza para usar esta funcionalidade no ámbito de desenvolvemento. »

Hai varias formas de solucionar este problema, entre elas, instalar un paquete de requisitos previos a microstática como os que saíron para XM. O problema aquí é que, posiblemente ao usar unha versión de Windows 8 ou Windows 10, moitas bibliotecas antigas non funcionan e seguramente esta VBA foi construída antes de 2010.vba-xvi32-microstatin-excel

Unha saída práctica: instala Visual Basic 2010 Express, isto non cargará moito a computadora e engadirá os controis OCX que, posiblemente, un usuario experimentado xa que o depurador podería detectar e ingresar desde a consola de comandos.

Unha ruta probable de descargar Visual Basic Express é este.

No caso de querer executar desde Microstation Connect Edition, é case seguro que a aplicación ten que facer un axuste porque cambiaron algunhas rutas da biblioteca.

Para executar un VBA marcro de Microstation, no caso de V8i e anteriormente faise con Utilities / Marcro / Project Manager. No caso de Microstation Connect tes que elixir a pestana Utilidades da cinta.

Como se pode ver, a macro execútase pero se queremos tocar o código mostrará a xanela de protección.

¿É posible romper a contraseña que ten un VBA?

vba-xvi32-microstatin-excel

A funcionalidade de protección por contrasinal de Visual Basic para aplicacións busca xerar control e seguridade para os desenvolvementos, polo que non debería ser correcto solicitar estas cousas nun sitio web. Non obstante, supoñendo que a solución é porque esquecemos a clave ou que o desenvolvedor técnico deulle chikungunya e colgou o rato, aquí hai unha solución práctica usando un editor hexadecimal.

VBA é adoptada polas empresas de desenvolvemento, polo que a sigla usada dentro do código para indicar cando se coloca o contrasinal cambia dunha aplicación a outra. Por exemplo, para eliminar a clave dunha macro VBA de Excel, o acrónimo é DBP = »contrasinal», para o acceso a clave é DPX = »contrasinal». Se atopamos esa cadea e cambiamos a DBR en lugar de DBP ou DPR no canto de DPX, cando se garda, o comando de protección de teclado xa non estará ben escrito e o vba abrirase sen protección.

No Hex Editor, na opción Editar / Busca, a cadea que buscamos, por exemplo, BDP, escríbese coa opción Cadea de texto e mantén o caso activo activo, como se mostra na seguinte imaxe.

macro-vba-contrasinal

Usando un editor Hexadecimal (Hex Editor), é probable que abra a macro de extensión .mvba de microestación e faga ese cambio seguindo estes pasos:

1. Descargar XVI32

Pode descargarse desde este enderezo; no meu caso estou descargando a versión 2.55, baixa comprimida en zip, tes que descomprimir e executar o arquivo xvi32.exe.

vba-xvi32-microstatino

2. Abre a aplicación mvba.

Recoméndase facer unha copia antes de abrir a VBA. Vexa como está protexido, aquí podes ver as tripas. Ben, todo o que queda é atopar ese acrónimo, unha vez que atopou unha das tres letras que se cambia a unha X e gárdanse. Con iso, o VBA xa non está protexido.

Ao pechar a aplicación preguntaralles se gardan os cambios, é necesario indicar que si.

vba-xvi32-microstatin-excel

Unha vez que se gardou, ver que ao abrir o VBA xa non se lle pide unha clave, polo que é posible asignar un novo. Se o usuario que esquecera a clave aínda está a traballar na empresa, ten que ir a darlle algúns golpes na cabeza ou, polo menos, forzarlle a pagar as cervexas o venres; Se morreu co chikungunya, facemos outro minuto de silencio.

vba-xvi32-microstatin-excel

Atopar as siglas de VBA de Microstation (mvba), parece ser o seguinte enigma. Non é o mesmo para Excel ou Access pero cun esforzo de sentido común e paciencia podes atopalo.

Para o aforro que significa non poder coñecer a contraseña, proporcionaremos a cadea de acrónimos a cambio dunha colaboración simbólica. Por suposto, sempre hai un culpable ou un ganador, ese ten que ser acusado de XD. Para iso ten que mercar a descarga con Tarxeta de crédito ou PayPal.

Deixe un comentario

Enderezo de correo electrónico non será publicado.

Este sitio usa Akismet para reducir o spam. Aprende a procesar os teus datos de comentarios.