過去に何度も "Hex Editor to DPB to DPx"を使用して、古いExcel VBAプロジェクト(.xls)でVBAプロジェクトのセキュリティをバイパスしていました。
しかし、私は昨日それをやろうとしましたが、もう機能していないようです。 Excel 2011(Mac)とExcel 2003(Windows)の両方を使用してみましたが、どちらの場合も同じ動作になりました。
VBAエディターを開くと、プロジェクトが破損しており、プロジェクトが削除されるというメッセージが表示されました。その後、VBAエディターが開き、モジュールとワークシートからすべてのVBAが削除されます。
私はこの方法を試しました: Excel VBAプロジェクトでパスワードを解読する方法はありますか? (つまり、既知のパスワードでスプレッドシートを作成し、関連するフィールド間でコピーする)
しかし、「ダミー」スプレッドシートで作成された「GC」キーの長さは、アクセスしたいスプレッドシートの「GC」キー(「ターゲット」)よりも短いことがわかります。 「ターゲット」キーがより長い場合、「ダミー」キーを同じ長さまでパディングできるが、逆の場合に何をすべきかを見つけることができないことを別の場所で読みました。
だから-私の質問(秒)。
EDITこれを(ある程度)解決したので、ここに要約を追加すると思いました。
IHAVE NOTは、これをMac Excel 2011で機能させることができました。ファイルをfilname.xlsmからfielname.Zipに変更し、再び元に戻す結果Excel 2011が認識を拒否する破損したExcelファイル。
I DIDは、.xlsmファイル名を.Zipに変更し、vbaproject.binファイルのDPB = AND GC =値を編集することにより、これを古いWindowsマシン(XP/Excel 2007)で動作するように管理します。 16進エディタを使用して、これを.Zipファイルに保存してから、.Zipの名前をxlsmに戻します。一番下でRickoが提供した「テスト」の例を使用し、1つのCAVEATで機能しました。GC値を「パディング」して、ファイルの元の値と同じ長さにしなければなりませんでした。
ORIGINAL: GC="0F0DA36FAF938494849484"
NEW: (TEST) GC="BAB816BBF4BCF4BCF4" (from Ricko below)
NEW: (TEST) GC="BAB816BBF4BCF4BCF40000" (what i used and what worked)
今日同じ問題があったので、あなたの答えがあります:
誰かが.xlsm(2007+バージョン)を含むすべてのExcelファイルに対して、vba保護パスワードを「マクロ」に変更するvbaコードを作成しました。彼のコードを参照すると、その仕組みを確認できます。
これは男のブログです: http://lbeliarl.blogspot.com/2014/03/Excel-removing-password-from-vba.html ここにあります作業を行うファイル: https://docs.google.com/file/d/0B6sFi5sSqEKbLUIwUTVhY3lWZE0/edit
彼のブログの以前の投稿から貼り付けました。
Excel 2007/2010(.xlsm)ファイルの場合、次の手順を実行します。
DPB = "282A84CBA1CBA1345FCCB154E20721DE77F7D2378D0EAC90427A22021A46E9CE6F17188A"のように、パラメーターDPB(引用符内の値)から値を見つけてコピーします。 (この値は「マクロ」パスワード用に生成されます。このDPB値を使用して、手順1〜8をスキップできます)
パスワードが不明なファイル(ロック解除するファイル)に対して手順4〜7を実行します。
手順8でコピーした値で、このファイルのDBP値を変更します。
コピーされた値が暗号化されたファイルよりも短い場合、欠落している文字に0(ゼロ)を入力する必要があります。値が長い場合-それは問題ではありません(そのまま貼り付けます)。
「vbaProject.bin」ファイルを保存して、16進エディターを終了します。
新しいバージョンでは、GC =もあります。DPBとGCの両方をこれらに置き換えてください。
DPB = "DBD9775A4B774B77B4894C77DFE8FE6D2CCEB951E8045C2AB7CA507D8F3AC7E3A7F59012A2" GC = "BAB816BBF4BCF4BCF4"
パスワードは「テスト」になります
DPB
を検索DPB
をDPx
に置き換えますチェック http://blog.getspool.com/396/best-vba-password-recovery-cracker-tool-remove/
.xlsm
の代わりに.xls
ファイルを扱う場合は、古い方法を使用できます。 vbaProject.bin
メソッドを使用して.xlsm
のDBP->DBx
を何度も変更しようとしていましたが、それが機能せず、DBP
の値も変更できませんでした。だから私は非常に驚いた次が働いた:
1。 .xlsm
として.xls
として保存します。
2。 DBP->DBx
で.xls
メソッドを使用します。
3。残念ながら、変更された.xls
ファイルを使用するとエラーが発生する場合があります。.xls
を.xlsx
として保存し、モジュールを追加してから.xlsm
として保存する必要があります。