我過去曾多次使用「十六進制編輯器修改DPB到DPx」來繞過舊Excel VBA項目(.xls)上的VBA項目安全性,所以我絕對知道該怎麼做它並知道我可以做到這一點。通過十六進制編輯器Excel Excel VBA密碼
但是我昨天剛試過,發現它不再起作用。我嘗試使用Excel 2011(Mac)和Excel 2003(Windows),並且在兩種情況下,我都得到了相同的行爲;
打開VBA編輯器給出了一條消息,說該項目已損壞,該項目將被刪除。 VBA編輯器隨即打開,當然,所有VBA都從模塊和工作表中除去。
我已經嘗試了這種方法: Is there a way to crack the password on an Excel VBA Project?(即與已知的密碼創建一個電子表格,然後在相關領域複製。)
但找到我的「假的「GC」的長度密鑰創建'電子表格比我希望訪問的電子表格(「目標」)上的「GC」鍵更短。我已經在其他地方讀過,如果「目標」鍵長的話,你可以將「虛擬」鍵放到相同的長度上,但是我沒有什麼可以找到的,以說明在相反的情況下做什麼。
所以 - 我的問題;
- 是否有人知道是否應用了使「十六進制編輯器」方法無效的修補程序?
- 任何人都可以幫助當假鍵長於目標鍵時該怎麼辦?
- 其他人可以提供任何更新的現場到這個問題?
編輯 現在已經解決了這個(在某種程度上)我想我在這裏添加一個總結。
我HAVE NOT之所以能得到這個在Mac的Excel工作有關更改從filname.xlsm該文件fielname.zip 2011年的東西,然後再返回導致損壞的Excel文件,該文件的Excel 2011拒絕承認。
通過將.xlsm文件名修改爲.zip,編輯vbaproject.bin文件中的DPB = AND GC =值,可以通過修改舊的Windows計算機(XP/Excel 2007)十六進制編輯器,然後將該文件保存在.zip文件中,然後將.zip重命名爲xlsm。我使用了Ricko在底部給出的「測試」示例,它與ONE CAVEAT一起工作 - 我必須'填充'我的GC值,使其與我的文件中的原始長度相同。
ORIGINAL: GC="0F0DA36FAF938494849484"
NEW: (TEST) GC="BAB816BBF4BCF4BCF4" (from Ricko below)
NEW: (TEST) GC="BAB816BBF4BCF4BCF40000" (what i used and what worked)
不是StackOverflow問題。也許適用於http://superuser.com/ – Selcuk
我在StackOverflow上詢問的原因是因爲關於此主題的許多有用信息可以在StackOverflow中找到。如果Excel中的VBA項目的事態發生了變化,我認爲這個問題和隨後的答案在SO中是有意義的,因爲在那裏有很多相關的問題。如果它不能留在這裏,那麼我可以應付,但我確實認爲它有價值( – Andrew
FWIW)在嘗試DPx方法時遇到同樣的問題。 –