ما الذي يسبب بالضبط الملف الثنائي "رطانة"؟

StackOverflow https://stackoverflow.com/questions/216066

  •  03-07-2019
  •  | 
  •  

سؤال

لم أجد إجابة لهذا السؤال بالذات؛ربما لا يوجد واحد.لكنني كنت أتساءل منذ فترة عن ذلك.

ما الذي يسبب بالضبط عرض الملف الثنائي على أنه "هراء" عندما تنظر إليه في محرر النصوص؟إنه نفس الشيء مع الملفات المشفرة.هل تحاول القيم الثنائية للملف تحويلها إلى ASCII؟هل من الممكن تحويل العرض لعرض القيم الثنائية الخام، أي.لإظهار 1s و 0s التي تشكل الملف؟

وأخيرًا، هل هناك طريقة لتحديد البرنامج الذي سيفتح ملف البيانات بشكل صحيح؟في كثير من الأحيان، خاصة مع نظام التشغيل Windows، يكون الملف معزولًا أو غير مرتبط ببرنامج معين.أحيانًا يخبرك فتحه في محرر النصوص بمكانه ولكن في معظم الأحيان لا يخبرك بذلك بسبب الثرثرة.إذا كان الامتداد لا يقدم أي معلومات، فكيف يمكنك تحديد البرنامج الذي ينتمي إليه؟

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

المحلول

  • هل تحاول القيم الثنائية للملف تحويلها إلى ASCII؟

نعم، هذا بالضبط ما يحدث.عادةً، تشتمل القيم الثنائية للملف أيضًا على أحرف تحكم ASCII غير قابلة للطباعة، مما يؤدي إلى عرض أكثر غرابة في محرر نص نموذجي.

  • هل من الممكن تحويل العرض لعرض القيم الثنائية الخام، أي.لإظهار 1s و 0s التي تشكل الملف؟

ذلك يعتمد على المحرر الخاص بك.ما تريده هو "محرر سداسي عشري" بدلاً من محرر نصوص عادي.سيُظهر لك هذا المحتوى الأولي للملف (عادةً بالنظام الست عشري وليس الثنائي، نظرًا لأن الأصفار والواحدات ستشغل مساحة كبيرة وتصعب قراءتها).

  • أخيرًا ، هل هناك طريقة لتحديد البرنامج الذي سيفتح ملف بيانات بشكل صحيح؟

يوجد برنامج سطر أوامر Linux يسمى "ملف" سيحاول تحليل الملف (عادةً ما يبحث عن أنماط الرؤوس الشائعة) ويخبرك بنوع الملف (على سبيل المثال، نص، أو صوت، أو فيديو، أو XML، وما إلى ذلك).لست متأكدًا مما إذا كان هناك برنامج مكافئ لنظام التشغيل Windows.وبطبيعة الحال، فإن نتائج هذا البرنامج هي مجرد تخمين، ولكنها يمكن أن تكون مفيدة للغاية عندما لا تعرف ما هو تنسيق الملف.

نصائح أخرى

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

ويتم التعامل مع كل بايت في الملف كحرف في مجموعة القانون الحالي (ربما CP1252 على ويندوز). قيمة البايت 65 هي 'A'، على سبيل المثال، يمكنك العثور على أمثلة توضيحية بسهولة على شبكة الإنترنت. لذلك، يتم عرض وحدات البايت التي تشكل البيانات الثنائية وفقا لمجموعة رموز - أفضل حيث يمكن تحرير النص. فإنه لا محاولة تحويل ثنائي - أنه لا يعرف كيف (لا فقط البرنامج الأصلي)

وأما بالنسبة لكيفية اكتشاف ما برنامج إنشاء ملف - قد تكون قادرة على القيام بذلك في بعض الأحيان، ولكن ليس بسهولة وبشكل موثوق. على يونيكس (أو مع سيغوين على ويندوز) قد يكون برنامج "الملف 'قادرة على مساعدة. يبدو هذا البرنامج في وحدات البايت القليلة الأولى في محاولة لتخمين البرنامج.

ويفترض البيانات المشفرة لتبدو وكأنها رطانة. إذا كان لا تشبه رطانة، فإنه ربما ليس جدا مشفرة أيضا.

والملفات السبب هي عرض ثنائي مثل رطانة عند عرضها في برامج تحرير النصوص القياسية مثل المفكرة هو أنه عندما عرض مع ترميزات تستخدم عادة من قبل هذه الأنواع من التطبيقات (مثل ASCII من UTF-8) يتم تعيين البيانات إلى الأحرف عند يتم ترميز عليه للعرض، وإخراج هذه العملية عموما المنطقي كما يذكر للبشر كما يتضح من البيانات الثنائية التي يجري تعيينها، ولهذا من رطانة ترى

وكما ذكر سابقا هذه الملفات أكثر منطقية عندما ينظر إليها بطريقة مختلفة مثل مع edutor عرافة.

ويمكن التعرف

وأنواع معينة من الملفات البيانات موجودة في جميع الملفات من نوع معين، على سبيل المثال جميع الملفات القابلة للتنفيذ (* إكس) تبدأ الحروف MZ

والعرض تبدو مثيرة للاهتمام، لأن ملف ثنائي يمكن أن تحتوي على أحرف غير القابلة للطباعة. والأمر متروك للبرنامج عرض لاستبدال هذه الأحرف مع شيء آخر.

وهذا يمكن منعه باستخدام محرر عرافة. يعرض هذا البرنامج كل بايت من الملف كملف قيمته ست عشرية. أن يجعل لعرض جداول لطيفة من الملف، ولكن ليس من السهل على الشخص العادي إلى فك هذا الرأي، لأننا لا تستخدم للنظر في البيانات بهذه الطريقة.

وهناك عدد قليل من الطرق لمعرفة ما برمجة الملف قد ينتمون إليها. يمكنك أن تبحث في بداية الملف ومع بعض المعارف، قد يتعرف على نوع الملف. هناك بعض الأنواع التي تبدأ بنفس الحروف (RAR، GIF الخ). لأنواع أخرى قد لا يكون سهلا كما.

في لينكس يمكنك استخدام "ملف" القيادة لمساعدتك على تحديد نوع الملف. ربما يكون هناك برامج ويندوز التي من شأنها أن تفعل الشيء نفسه.

والبيانات ثنائي في كثير من الأحيان بشكل عشوائي جدا. البيانات المشفرة على وجه الخصوص، من حيث التعريف. يمكن تمثيل كل بايت واحد من 256 حرفا (ترك يونيكود خارج المعادلة). ASCII لا يغطي سوى 128 من هذه، وفقط 94 من هذه الأحرف القابلة للطباعة الفعلية. خارج نطاق ASCII، لديك عدد من الشخصيات الدولية ورموز غريبة. هناك بالتأكيد أكثر من 128 من هذه، لذلك لا بد من تحديد مخطط الشفرة لتحديد مجموعة محددة من الرموز.

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

هل يمكن دائما فتح ملف (ثنائي أو ملف نصي، هناك حقا لا فرق) في محرر عرافة، وإلقاء نظرة على البيانات الثنائية الخام.

وليس هناك طريقة لمعرفة أي برنامج إنشاء ملف محدد. على وجه الخصوص، إذا كان البرنامج قد تشفير البيانات الخاصة به، يتم فقدان كل أمل. خلاف ذلك، غالبا ما يكون من السهل التعرف معينة "التوقيعات".

نعم، الدفتر والمفكرة والعديد من برامج تحرير النصوص الأخرى تفترض أن أي ملف فتح معها هو ملف نصي وسيحاول عرض الأحرف ASCII الذي يمثله بايت في الملف.

مصنوعة المحررين عرافة لعرض وتحرير الملفات الثنائية. وعادة ما عرض كل بايت كزوج من أرقام ست عشرية بدلا من "1S و 0s" لأنها أسهل في القراءة بهذه الطريقة.

يقوم محرر النصوص بوضع افتراضات قليلة جدًا حول البيانات الواردة إليه، إلى جانب أشياء مثل ترميزات الأحرف.وبالتالي، (كما تقول) سوف يقرأ بيانات الملف كـ ASCII ويعرضها بهذه الطريقة.نظرًا لأن البيانات الثنائية لا تقع دائمًا ضمن النطاق الأبجدي الرقمي، فإنك تحصل على هراء.أما بالنسبة لإظهار القيم الثنائية الخام، فأنت بحاجة إلى محرر سداسي عشري مثل السادس عشر32.

غالبًا لا تحتوي الملفات الثنائية على سياق خارج البرنامج الذي يستخدمها.تحتوي بعض التنسيقات الثنائية على تسلسل سحري مكون من 4 بايت في البداية (على سبيل المثال، ملفات Java .class تبدأ بـ "CAFE")، ولكن للتعرف عليها بدون برنامجها، تحتاج إلى تعيين تلك التسلسلات المكونة من 4 بايت.أعتقد أن بعض توزيعات Linux تحتوي على هذه المعلومات لمجموعة واسعة من التنسيقات الثنائية وستقوم بفحص بداية الملف لمحاولة التعرف عليه.بخلاف ذلك، ليس هناك الكثير الذي يمكنك القيام به.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top