سؤال

هذا السؤال هو ذات الصلة السابق واحد.

هل يمكنك أن تشرح أو توفير رابط شرح كيف Excel VBA البرمجية حماية كلمة السر يعمل فعلا في الإصدارات السابقة إلى عام 2007 ؟ ما هو الفرق في Excel 2007 والإصدارات السابقة من حيث حماية كلمة المرور?

أيضا لا Excel حماية كلمة المرور فعلا تشفير الكود ؟ كيف Excel تنفيذ التعليمات البرمجية إذا كان هو التشفير ؟

وأخيرا ، كيف يمكن إزالة كلمة المرور برنامج excel العمل ؟

هل كانت مفيدة؟

المحلول

ويعتبر على نطاق واسع الأمن VBA أن تكون فقيرة جدا. لا يتم ترجمة رمز VBA، والمصدر هو متاح في ملف اكسل. حماية كلمة السر هي سهلة جدا للالتفاف.

وكما أفهم، Office 2003 و في وقت سابق يحفظ التعليمات البرمجية ل VBA كجزء من تنسيق ثنائي ورقة العمل (أو وثيقة / عرض). عند اطلاق النار حتى IDE VBA، فإنه ببساطة يتطلع إلى معرفة ما إذا كان رمز VBA تم "حماية" أم لا. هذا لا يعني انها مشفرة - غير متاحة فقط للعرض. هذه النظرية هو أن هذا يتوقف المستخدمين من التدخل مع التعليمات البرمجية الخاصة بك، ولكن المبرمج المتشددين تكون قادرة على الحصول على جميع أنحاء كلمة.

وهكذا Excel لا تحتاج إلى فك تشفير أي رمز - فإنه يحتاج فقط لمنع الناس من النظر إليه

وأوفيس 2007 <م> لا وحدات الماكرو تشفير (لا تسألني كيف أو ما الخوارزمية). وهذا أمر ضروري لأنه يفترض الملفات و xlsm (أو أي ملف Office 2007) هي مجرد الرمز البريدي الملفات مع ملحق آخر. يمكن لأي شخص أن ندخل تلك الملفات وكزة حولها.

لإجابة على سؤالك الأخير - كيف يمكن للأعمال إزالة كلمة المرور على صيغ Office القديمة، وأنا لست متأكدا تماما. مختلف البائعين ربما سوف نهج سبل مشكلة مختلفة، ولكن أظن أن النهج الأكثر شيوعا تكون القوة الغاشمة الهجوم على كلمات السر حتى يتم العثور على تطابق.

وكائن Excel VBProject له خاصية الحماية الذي سيعود التعدادات المختلفة تبعا لحالة حماية الماكرو (vbext_pp_locked إذا محمي الماكرو، على سبيل المثال). لو كنت لتحاول أن تبقي كلمات السر برمجيا حتى vbext_pp_locked تقييمها إلى false، وكنت قد وجدت كلمة المرور الخاصة بك.

نصائح أخرى

فيل هو الصحيح - كلمة السر تمنعك من النظر في وحدات فهي ليست مشفرة أنفسهم.أنا أعرف في excel 2007 ملف أساسا من نوع zip جمع XML وغيرها من الملفات, ولكن لا أعرف تفاصيل كيفية التشفير هو معالجة.عن الإصدارات السابقة - excel 2, 3, 4, 5, 95, 97, 2000, XP & 2003 ، هناك الشاملة OpenOffice.org's وثائق Microsoft Excel تنسيق الملف:

ملف Excel تنسيق يدعى بيف (ثنائي Interchange File Format).فهو يستخدم لتخزين جميع أنواع الوثائق:ورقة عمل الوثائق المصنف الوثائق مساحة عمل المستندات.هناك إصدارات مختلفة من تنسيق الملف هذا ، اعتمادا على إصدار Excel الذي كتب الملف ، و اعتمادا على نوع المستند.

مصنف وثيقة مع عدة أوراق (BIFF5-BIFF8) يتم تخزينها عادة باستخدام مركب الوثيقة تنسيق الملف (المعروف أيضا باسم "OLE2 تخزين تنسيق ملف" أو "Microsoft Office تخزين متوافق مع تنسيق ملف").أنه يحتوي على عدة تيارات لأنواع مختلفة من البيانات.وثائق كاملة من شكل مركب الوثيقة يمكن العثور على الملفات هنا.

المصنف حماية كتلة يحدث فقط بعد DEFINEDNAME كتلة (أينطاقات مسماة) في معظم بيف تيارات ، على الرغم من أن BIFF8 رئيسيا في رحيل من هذا النمط.سجل حماية كتلة في Biff5 - Biff8 بنية المصنف حماية كتلة:

  • WINDOWPROTECT نافذة الإعدادات:1 = المحمية
  • حماية المصنف المحتويات:1 = المحمية
  • كلمة قيمة التجزئة من كلمة المرور ؛ 0 = لا كلمة السر
  • PROT4REV المصنف المشترك:1 = المحمية
  • PROT4REVPASS تجزئة القيمة المشتركة كلمة المرور ؛ 0 = لا كلمة السر

كلمة المرور كتلة متجر 16-بت تجزئة القيمة المحسوبة من ورقة العمل أو المصنف حماية كلمة المرور.

شخص ما جعل العامل التعليمات البرمجية لـ vba أن يغير vba حماية كلمة المرور "ماكرو" ، لجميع ملفات excel ، بما في ذلك .xlsm (2007+ الإصدارات).يمكنك أن ترى كيف يعمل من خلال التصفح رمز له.

هنا هو الرجل بلوق: http://lbeliarl.blogspot.com/2014/03/excel-removing-password-from-vba.html هذا هو الملف الذي لا العمل: https://docs.google.com/file/d/0B6sFi5sSqEKbLUIwUTVhY3lWZE0/edit

لصق من الوظيفة السابقة من مدونته:

Excel 2007/2010 (.xlsm) الملفات القيام بالخطوات التالية:

  1. إنشاء جديد .الملف xlsm.
  2. في VBA جزء تعيين كلمة مرور بسيطة (على سبيل المثال الماكرو).
  3. قم بحفظ الملف والخروج.
  4. تغيير امتداد الملف إلى '.الرمز البريدي', فتحه من قبل أي برنامج أرشيفي.
  5. العثور على الملف:'vbaProject.بن (في 'xl' مجلد).
  6. استخراجها من الأرشيف.
  7. فتح الملف فقط المستخرجة مع محرر عرافة.
  8. البحث عن نسخ القيمة من المعلمة DPB (قيمة في علامة الاقتباس) ، على سبيل المثال:DPB="282A84CBA1CBA1345FCCB154E20721DE77F7D2378D0EAC90427A22021A46E9CE6F17188A".(هذه القيمة إنشاء الماكرو كلمة المرور.يمكنك استخدام هذا DPB قيمة تخطي الخطوات 1-8)

  9. هل الخطوات 4-7 الملفات مع كلمة السر غير معروف (الملف الذي تريد فتح).

  10. تغيير قيمة دبة في هذا الملف على القيمة التي قمت بنسخها في الخطوة 8.

    إذا نسخ قيمة أقصر مما هو في تشفير الملف يجب عليك تعبئة عداد المفقودين مع الشخصيات 0 (صفر).إذا كانت القيمة هي أطول هذه ليست مشكلة (لصق كما هي).

  11. حفظ 'vbaProject.بن الملف والخروج من محرر عرافة.

  12. استبدال القائمة 'vbaProject.بن الملف مع تعديل واحد.
  13. تغيير ارشادية من '.الرمز البريدي' العودة '.xlsm'
  14. الآن افتح ملف اكسل تحتاج إلى مراجعة التعليمات البرمجية VBA في.كلمة المرور التعليمات البرمجية لـ VBA سوف تكون ببساطة الكلي (كما في المثال هنا أعرض).
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top