MDE的逆向工程原理: Compilers (including the VBA compiler) make use of both explicit variables (declared by the developer) and implicit variables (declared by the compiler) in order to make everything work as it should. By examining the “compiler junk”, a decompiler can determine exactly which variables are implicit and which ones are explicit - using this information, the decompiler can then optimize the resultant source code by removing all implicit variables - this is key to making the resultant source code very accurate to the original.

缺陷: certainly the comments are gone

certainly the beautiful constant names are replaced by the values

sometimes loops and other structures are replaced by different versions:Do Loop –> While Wend, Select Case –> If Then etc.

Public Property Get CurDbC() As DAO.Database–> Public Function CurDbC() As DAO.Database


MDE File|

Live test: Reverse engineering MDE to MDB|

MDE Source Code Protector for Microsoft Access|