كانت هناك تجربة مثيرة للاهتمام عندما تمت استعادة ملف .wav مع صديق. قررت أن أصف عمليتنا المؤلمة ، فجأة سيأتي شخص في متناول يدي.
الخلفية
هناك قصص حزينة عندما يتجمد المسجل / أو يعطي خطأ أثناء حفظ الملف. لذلك ، عندما نحاول فتح ملف تالف ، نحصل على أخطاء ، مثل: تعذر فك تشفير التنسيق أو التنسيق غير صحيح أو لم يتعرف البرنامج على تنسيق الملف .
تحاول معرفة ذلك
بما أننا لم نتمكن من فتح الملف ، فقد قررنا google. أردنا أن نفهم كيفية تغذية ملف .wav للاعب. يمكنك العثور على مجموعة من النصائح: قم بتنزيلها بتنسيق Raw (بتنسيق raw) ، ولعب مع الإعدادات ، إلخ. كل هذه المحاولات فشلت.
قررنا دراسة ما هو wav بشكل عام ، ووجدنا معلومات حول الرؤوس ووصفها:

نقوم بتثبيت محرر hex (wxHexEditor) ، ونفتح ونحاول العثور على شيء مماثل للعنوان على الأقل.

الفشل ... لم يكن هناك شيء.
قررنا تسجيل رقم قياسي جديد بنجاح. فتحناها في المحرر وننظر إلى الرؤوس.

انسخ الرؤوس والصقها في ملف الضرب لدينا (يشار إليه فيما يلي بـ BF)! بشكل محموم حفظ وتشغيل الملف في لاعب ، ولا شيء يعمل! (أنا ، مثل رجل حقيقي ، بدأت تنهد في زاوية الغرفة)
قبل بناء شيء ما ، تحتاج إلى كسر شيء ما.
قررنا معرفة كيفية كسر ملف عادي والحصول على هذه الصورة القبيحة كملف تالف.
الشكل: لاصق BF في الأعلى ، والتسجيل العادي أدناه.

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

لم يكن من الضروري التمرير لفترة طويلة ، لأننا وجدنا في الملف 537 ما كنا نبحث عنه:

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