

- #Excel password recover for mac 64 Bit#
- #Excel password recover for mac code#
- #Excel password recover for mac windows#
Private Declare PtrSafe Function VirtualProtect Lib "kernel32" (lpAddress As LongPtr, _īyVal dwSize As LongPtr, ByVal flNewProtect As LongPtr, lpflOldProtect As LongPtr) As LongPtr (Destination As LongPtr, Source As LongPtr, ByVal Length As LongPtr) Private Declare PtrSafe Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" _
#Excel password recover for mac code#
#Excel password recover for mac windows#
I'm running Excel 2010 64-Bit on 64-Bit Windows 7. I've built upon Đức Thanh Nguyễn's fantastic answer to allow this method to work with 64-bit versions of Excel. If you need to work with Excel 2007 or 2010, there are some other answers below which might help, particularly these: 1, 2, 3.ĮDIT Feb 2015: for another method that looks very promising, look at this new answer by Đức Thanh Nguyễn. Will simply be 1234 (as in the example I'm showing here).

xlsx, which is a fairly secure format, and this method will not work.Īs Treb says, it's a simple comparison. xls format spreadsheet (the default for Excel up to 2003). Yes there is, as long as you are using a. MsgBox "VBA Project is unprotected!", vbInformation, "*****"Ĭome back to your VBA Projects and enjoy. Paste this code under the above code in Module1 and run it Sub unprotected() MyDialogBoxParam = DialogBoxParam(hInstance, pTemplateName, _ Private Function MyDialogBoxParam(ByVal hInstance As Long, _

MoveMemory ByVal pFunc, ByVal VarPtr(HookBytes(0)), 6 MoveMemory ByVal VarPtr(HookBytes(1)), ByVal VarPtr(p), 4 MoveMemory ByVal VarPtr(OriginBytes(0)), ByVal pFunc, 6 MoveMemory ByVal VarPtr(TmpBytes(0)), ByVal pFunc, 6 If VirtualProtect(ByVal pFunc, 6, PAGE_EXECUTE_READWRITE, OriginProtect) 0 Then PFunc = GetProcAddress(GetModuleHandleA("user32.dll"), "DialogBoxParamA") If Flag Then MoveMemory ByVal pFunc, ByVal VarPtr(OriginBytes(0)), 6 Private Function GetPtr(ByVal Value As Long) As Long Private Declare Function DialogBoxParam Lib "user32" Alias "DialogBoxParamA" (ByVal hInstance As Long, _īyVal pTemplateName As Long, ByVal hWndParent As Long, _īyVal lpDialogFunc As Long, ByVal dwInitParam As Long) As Integer Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, _ Private Declare Function GetModuleHandleA Lib "kernel32" (ByVal lpModuleName As String) As Long Private Declare Function VirtualProtect Lib "kernel32" (lpAddress As Long, _īyVal dwSize As Long, ByVal flNewProtect As Long, lpflOldProtect As Long) As Long (Destination As Long, Source As Long, ByVal Length As Long) Private Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" _ Private Const PAGE_EXECUTE_READWRITE = &H40
#Excel password recover for mac 64 Bit#
Looking for 64 bit version? See this answer How it works It will work for any files (*.xls, *.xlsm, *.xlam.

You can try this direct VBA approach which doesn't require HEX editing.
