Red de conocimiento informático - Conocimiento informático - Cómo descifrar el código fuente de la función definida por el usuario de Excel

Cómo descifrar el código fuente de la función definida por el usuario de Excel

Cree un nuevo libro de Excel, abra el editor VBA con Alt+F11, cree un nuevo módulo y copie el siguiente código. Tenga en cuenta que si se le pregunta que la variable no está definida, puede eliminar la línea Opción explícita y la prueba. aprobado.

"Eliminar protección de codificación VBA

Sub MoveProtect()

Dim FileName As String

FileName = Aplicación. If FileName = CStr ( Falso) Entonces

Salir de Sub

De lo contrario

Nombre de archivo de contraseña VBA, Falso

Finalizar si

Fin de Sub

'Establecer protección de codificación VBA

Sub SetProtect()

Dim FileName As String

FileName = Application.GetOpenFilename("Archivo de Excel ( *.xls & *.xla),*.xls;*.xla", , "VBA Crack")

Si FileName = CStr(False) Entonces

Salir de Sub

p>

Else

VBAPassword FileName, True

End If

End Sub

Función privada VBAPassword ( Nombre de archivo como cadena, protección opcional como booleano = falso)

Si Dir(Nombre de archivo) = " " Entonces

Salir de la función

De lo contrario

ArchivoCopiar nombre de archivo, nombre de archivo y ".bak"

Finalizar si

Dim GetData como cadena * 5

Abrir nombre de archivo para binario como #1

Atenuar CMG durante el tiempo

Atenuar DPBo durante el tiempo

Para i = 1 a LOF(1)

Obtenga #1, i, GetData

Si GetData = "CMG="", 32, "Preguntar"

Salir de la función

Finalizar si

Si Proteger = Falso Entonces

Dim St como cadena * 2

Dim s20 como cadena * 1

'Obtener una cadena hexadecimal 0D0A

Obtener #1, CMG - 2, St

'Obtiene una cadena hexadecimal de 20

Obtenga #1, DPBo + 16, s20

'Código de reemplazo Parte de cifrado

Para i = CMG para DPBo Paso 2

Coloque #1, i, St

Siguiente

'Agregar símbolo no emparejado de

Si (DPBo - CMGs) Mod 2 <> 0 Entonces

Ponga #1, DPBo + 1, s20

Fin

MsgBox "Archivo descifrado correctamente...", 32, "Preguntar"

De lo contrario

Atenuar MMs como cadena * 5

MMs = "DP

B=""

Pon #1, CMG, MM

MsgBox "Cifrado especial exitoso del archivo..."

Fin si

MsgBox "Archivo descifrado exitosamente., 32, "Preguntar"

Finalizar si

Cerrar #1

Finalizar función