[AccessD] Access Lockdown

Stuart McLachlan stuart at lexacorp.com.pg
Mon May 23 14:06:04 CDT 2011


He used Spy++.  It is one of a number of similar utilities that let you get all the info about any 
Windows control by hovering over it or clicking on it.  AutoIt comes with a similar tool called 
AutoInfo.

-- 
Stuart


On 23 May 2011 at 9:49, jwcolby wrote:

> What I want to know is how does he figure out the name of the objects?
>  for example...
> 
>          ' Get hWnd for Password Edit control in Project Properties
>          dialog hWndPassword = GetDlgItem(hWndProjectProperties,
>          ControlIDPassword)
> 
> 
> How does he discover that ControlIDPassword is the name of an object
> 
> The following is the business end of manipulating the dialog to cause
> it to go to the correct tab, enter data into the password boxers and
> clicking the button.
> 
>          ' Get hWnd for OK button in Project Properties dialog
>          hWndOK = GetDlgItem(hWndProjectProperties, ControlIDOK)
>          ' Get hWnd for Tab Control in Project Properties dialog
>          hWndSysTabControl32 = GetDlgItem(hWndProjectProperties,
>          ControlIDSysTabControl32)
> 
>          'Move to Protection tab
>          SendMessage hWndSysTabControl32, TCM_SETCURFOCUS, 1, ByVal 0&
> 
>          ' Must reset hWndProjectProperties probably because tab
>          changed. EnumChildWindows ByVal hWndProjectProperties,
>          AddressOf EnumChildProc, ByVal 0
> 
>          ' Get hWnd for Password Edit control in Project Properties
>          dialog hWndPassword = GetDlgItem(hWndProjectProperties,
>          ControlIDPassword) ' Get hWnd for Confirm Password Edit
>          control in Project Properties dialog hWndConfirmPassword =
>          GetDlgItem(hWndProjectProperties, ControlIDConfirmPassword) '
>          Get hWnd for Lock Project checkbox control in Project
>          Properties dialog hWndLockProject =
>          GetDlgItem(hWndProjectProperties, ControlIDLockProject)
> 
>          ' Lock project for &viewing
>          SendMessage hWndLockProject, BM_SETCHECK, BST_CHECKED, 0
> 
>          ' &Password
>          SendMessage hWndPassword, EM_REPLACESEL, vbTrue, ByVal
>          strPassword
> 
>          ' &Confirm password
>          SendMessage hWndConfirmPassword, EM_REPLACESEL, vbTrue, ByVal
>          strPassword
> 
> 
> John W. Colby
> www.ColbyConsulting.com
> 
> On 5/23/2011 9:22 AM, jwcolby wrote:
> > I am hot on the trail for code to do this.
> >
> > http://www.standards.com/Office/SetVBAProjectPassword.html
> >
> > It requires manipulating windows to get the dialog as it pops up and
> > then pushing data to that and clicking on things in the dialog.
> > Actually cool stuff to know.
> >
> > John W. Colby
> > www.ColbyConsulting.com
> >
> > On 5/23/2011 12:12 AM, Stuart McLachlan wrote:
> >> I don't think so. I've never come across anything that can do that,
> >>
> >> The actual Password can be *changed* from an external application.
> >> I have a "cracker" application which does exactly that
> >>
> >> http://www.systoolsgroup.com/vba-password-remover.html.
> >>
> >> It doesn't "remove" VBA passwords, it resets them to a standard
> >> password (possibly just be writing a different hash value somewhere
> >> in the .mdb) so that you can go in and unset it yourself after
> >> entering the new password. Based on the fact that similar utilities
> >> work in the same way, I'd guess that setting/unsetting a PW is a
> >> far more difficult task.
> >>
> >>
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 






More information about the AccessD mailing list