VBA pasword

  • Thread starter Thread starter j
  • Start date Start date
J

j

How secure is the micrsoft excel VBA password ? The
password secures the VBA so that no one can see the VBA
code but is it easy to break the password ?
 
Commercial crackers can break the password.

Even when protected, the tokenized code is visible in a hex editor.
It's not necessarily straightforward to read, but it's easy to get
the gist.

For one, very simple instance:

Option Explicit
Public Sub GoToEndOfColumnB()
Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Select
End Sub

appears in a hex dump as

41 74 74 72 69
62 75 74 00 65 20 56 42 5f 4e 61 6d 00 65 20 3d
20 22 4d 6f 64 00 75 6c 65 31 22 0d 4f 70 00 74
69 6f 6e 20 45 78 70 00 6c 69 63 69 74 0d 0d 20
11 00 00 50 75 62 00 34 20 53 75 00 62 20 47 6f
54 6f 45 6e 00 64 4f 66 43 6f 6c 75 6d 30 6e 42
28 29 02 42 01 4a 52 61 00 6e 67 65 28 22 42 22
20 00 26 20 52 6f 77 73 2e 43 40 6f 75 6e 74 29
2e 00 5c 28 00 78 6c 55 70 29 2e 4f 66 00 66 73
65 74 28 31 2c 20 00 30 29 2e 53 65 6c 65 63 0e
74 02 3d 00 21 01 5c 0d 0d

which, when translated to ASCII is

Attribut.e VB_Nam.e = "Mod.ule1".
Op.tion Exp.licit.....
Pub.4 Su.b GoToEn.dOfColum0nB().B.J
Ra.nge("B" .& Rows.C@ount)..\(.xlUp).Of.fset(1, .0).Selec.t
..=.!.\
 
Of course, it cleans up even better when you delete the separators
between groups of 8 characters:

Attribute VB_Name = "Module1".
Option Explicit....
Pub.4 Sub GoToEndOfColumnB().B.J
Range("B" & Rows.Count)..\(xlUp).Offset(1, 0).Select
..=.!.\
 
Back
Top