Al final como lo haceis siempre llegais a una funcion que compara dos cosas, con un debugger tardas 20s en ver que dos cosas se comparan, pondre un ejemplo:
Código:
Private Sub Form_Load()
If "cosa1" = "cosa2" Then
MsgBox "Bien"
Else
MsgBox "Error"
End If
End Sub
Esto en el debugger se ve asi:
00401984 . 68 04164000 PUSH Proyecto.00401604 ; UNICODE "cosa1"
00401989 . 68 14164000 PUSH Proyecto.00401614 ; UNICODE "cosa2"
0040198E . 8975 DC MOV DWORD PTR SS:[EBP-24],ESI
00401991 . 8975 CC MOV DWORD PTR SS:[EBP-34],ESI
00401994 . 8975 BC MOV DWORD PTR SS:[EBP-44],ESI
00401997 . 8975 AC MOV DWORD PTR SS:[EBP-54],ESI
0040199A . 8975 9C MOV DWORD PTR SS:[EBP-64],ESI
0040199D . FF15 30104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrCm>; MSVBVM60.__vbaStrCmp
Se ve claro que esta comparando las dos cosas y a la ora de comparar las cadenas de texto ya estaran desencriptadas.
Una solucion es ir comparando letra por letra por ejemplo, es muy basico pero ya despista un poco mas..