A simple way to crack VBA password in Excel file

A

alon1972bn

Unbelivibale, but I found a very simple way that really works!

Do the follwoing:

1. Create a new simple excel file.
2. In the VBA part, set a simple password (say - 1234).
3. Save the file and exit.
4. Open the file you just created with a simple editor.
5. Copy the lines starting with the following keys:

CMG=....
DPB=...
GC=...

6. with a simple editor (again), open the excel file you don;t know
the VBA password for,
and paste the above copied lines from the dummy file.
7. save the excel file and exit.
8. Now, open the excel file you need to see the VBA code in. The
password for the VBA code
will simply be 1234 (as in the example I'm showing here).

Simply works...

Enjoy!

Alen
 
R

RB Smissaert

You say simple editor, but I think it has to be a hex editor.
It won't for example work if you do this in Wordpad.
I have tried it with MadEdit and in that it works indeed.
I knew it was easy to crack these passwords, but I didn't know it was this
easy.

RBS
 
J

JLGWhiz

Locks are made to keep honest people honest. The dishonest will always find
a way to foil the lock.
 
A

Antonio

Hi Alen,

I have followed the steps.

I have used Notepad as the editor.

I copy the lines from the dummy file on top of the same lines of the file I
need the password for (target file).

Then I save this file with Notepad using Ctrl+S (not save as)

My problem is that when I try to open this file in Excel I get

"book2.xls" cannot be accessed. The file may be read only. Or you may be
trying to access a read only location. Or the server the document is stored
on may not be responding.

What am I doing wrong?

Thanks,

Antonio
 
T

Tom Ogilvy

You have to do this in a HEX editor.

Hopefully you didn't need that file or made a copy of it (or it was just a
play/test file). I think you can assume it is ruined.
 
C

CAPTGNVR

Unbelivibale, but I found a very simple way that really works!

Do the follwoing:

1. Create a new simple excel file.
2. In the VBA part, set a simple password (say - 1234).
3. Save the file and exit.
4. Open the file you just created with a simple editor.
5. Copy the lines starting with the following keys:

CMG=....
DPB=...
GC=...

6. with a simple editor (again), open the excel file you don;t know
the VBA password for,
and paste the above copied lines from the dummy file.
7. save the excel file and exit.
8. Now, open the excel file you need to see the VBA code in. The
password for the VBA code
will simply be 1234 (as in the example I'm showing here).

Simply works...

Enjoy!

Alen

D/ALLEN
First of all my appreciation for your genorosity in sharing with ur
find. First time it was all greek. I read it over and over again to
ustand a bit. Now i got the hex editor xvi32. I ran it and did as u
told. When i opened the excel file in the hex editor-- there was
three screens, one small to the left, and next two big ones. in the
thrid one only ascii characters. But i did not find what u said like
CMG=....
DPB=...
GC=...

Then i clicked on the tools on xvi32 and opened the editor. i got
only four characters.

So can u adopt the approach - ALLEN STEPS FOR DUMMIES--. Pls explain
it in little more detail especially since I cant find the CMG=....
DPB=... GC=.... I think I am not opening it in the right screen.
Pls advice
 
C

CAPTGNVR

Unbelivibale, but I found a very simple way that really works!

Do the follwoing:

1. Create a new simple excel file.
2. In the VBA part, set a simple password (say - 1234).
3. Save the file and exit.
4. Open the file you just created with a simple editor.
5. Copy the lines starting with the following keys:

CMG=....
DPB=...
GC=...

6. with a simple editor (again), open the excel file you don;t know
the VBA password for,
and paste the above copied lines from the dummy file.
7. save the excel file and exit.
8. Now, open the excel file you need to see the VBA code in. The
password for the VBA code
will simply be 1234 (as in the example I'm showing here).

Simply works...

Enjoy!

Alen

AND I MISSED TO INFORM-- Still i went ahead and opened the excel file
in xvi32 and copied the whole thing and opned MY OLD FILE WHICH I
WANTED TO FIND THE VBA CODE. The rude shock was it GOT OVER WRITTEN
BY THIS SIMPLE EXCEL FILE. LUCKILY I DO HAVE A COPY OF THE
OVERWRITTEN FILE. So pls give me a bit more elaborate steps.
 
J

John Coleman

You have to do this in a HEX editor.

OK, but why? Naively I would think that a string of characters (copied
into the clipboard in Notepad) = stream of bytes = stream of hex
values. How does the clipboard succeed in mangling these values? The
only thing I can think of is that maybe it inserts some padding bytes
here and there in a way that you have no control over. That, or maybe
the entire block is somehow misaligned.

Just curious

-John Coleman
 
S

srinivasan

I also donot understand where to paste the copied data. to find on the same
cmg/dpb/gc and paste the lines? pl explaina little bit elaoborate?
 
T

Tom Ogilvy

A text editor like Notepad is expecting a textfile and therefore interprets
certain characters as control characters - such as vbLF, vbCR, EOF, new
page, tab and some of the other characters less than ASCII code 32.
Encountering the EOF indicator will cause the file to be terminated. This
usually happens well before the end of the file when reading in a binary
file. More than likely one reason why the OP could not find the target
strings and if he had found them and written them to another file, good
chance that file would be corrupted because the whole file wasn't read in
and subsequently saved. A hex editor doesn't try to interpret and act on
any characters. It give no meaning to the characters - just displays them
and allows you to change them and write the file back out.

Open an excel file in notepad. Change a recognizable character or even do
nothing. Save it over itself using saveas. See if you can open it in
Excel. In most cases, I would expect not - at least an not get the original
file. .
 
A

abelard

i had tried with maxedit and when i open the file, the below error display

An error occured when initialising vba libraries

Microsoft Office Excel File Repair Log

Errors were detected in file 'C:\Documents and Settings\user\Desktop\E2004_04.xls'
The following is a list of repairs:

Lost Visual Basic project.
Lost ActiveX controls.

pls advise

EggHeadCafe.com - .NET Developer Portal of Choice
http://www.eggheadcafe.com
 
N

NickHK

Editing a binary in text mode will probably lead to corruption, as you have
found.
Basically, you can't bypass security like this, unless your understand more
about the Excel File Format.
Get the password from the author and enter it correctly.

NickHK
 
C

cdelfino

Below codes was a modified version that i got here to delete rows
based on the ColVal array...however need to revised this that instead
of deleting/removing rows based on the ColVal values, they should be
the one retained not removed. How can I do that?? Any help is
appreciated...


ColVal = Array( _
"VAL1", "VAL2", "VAL3", _
)

DeleteRow_Autofilter ColVal, LastRow

---

Sub DeleteRow_Autofilter(ColVal As Variant, LastRow As Long)

Dim Rng As Range
Dim I As Long

For I = LBound(ColVal) To UBound(ColVal)
ActiveSheet.Range("E1:E" & LastRow).AutoFilter Field:=1,
Criteria1:=ColVal(I)
With ActiveSheet.AutoFilter.Range
Set Rng = Nothing
On Error Resume Next
Set Rng = .Offset(1, 0).Resize(.Rows.Count - 1, 1) _
.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If Not Rng Is Nothing Then Rng.EntireRow.Delete
End With
Next I

ActiveSheet.AutoFilterMode = False
End Sub
 
D

Dave Peterson

I wouldn't use Autofilter for this:

Option Explicit
Sub DeleteRow2()

Dim Rng As Range
Dim iRow As Long
Dim myArr as variant
dim res as variant
dim FirstRow as long
dim LastRow as long

myArr = array("VAL1", "VAL2", "VAL3")

with activesheet
firstrow = 1
lastrow = .cells(.rows.count,"E").end(xlup).row
for irow = lastrow to firstrow step -1
res = application.match(.cells(irow,"E").value, myArr,0)
if isnumeric(res) then
'found it, do nothing
else
'not in myarr
.rows(irow).delete
end if
next irow
end with

End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top