إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

تشغيل برنامج VLC بصلاحية root

تقليص
X
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • [شرح] تشغيل برنامج VLC بصلاحية root

    بسم الله الرحمن الرحيم

    هناك بعض توزيعات لينوكس التي يمكنني ان اقول عنها توزيعات root يعني في معظم الاحيان يجب ان تكون بصلاحية root هدا ليس جيدا بالطبع ويمكننا في هدا الصدد ان نناقش الكثير والامر su ولكن لا داعي لدلك.

    بينما كنت اقوم بتحديث نظامي (BackTrack 4 r2) قمت بتنصيب vlc 1.1.3 ولكن لما اردت تشغيل ملف فيديو صادفني هدا المشكل

    كود PHP:
    VLC is not supposed to be run as rootSorry.
    If 
    you need to use real-time priorities and/or privileged TCP ports
    you can 
    use vlc_backup-wrapper (make sure it is Set-UID root and
    cannot be run by non-trusted users first). 

    يعني انه لن يشغل الملف لانني root بالطبع حاولت ان اقوم بتشغيل الملف اولا بصلاحية اقل ولكن صادفت مشاكل اعمق لدلك حاولت تنصيبه من السورس كود مع تفعيل root ولكن للاسف مجددا وقعت في مشاكل تتعلق ب dbus ولم اكن اريد ان اجعل الامور اعقد من ما هي لدلك فكرت في حل سريع وهو ان اقوم بعمل هندسة عكسية للبرنامج الدي نصبته عن طريق امر

    كود PHP:
    apt-get install vlc 

    وبالفعل هدا ما قمت به فلقد كنت اعرف ان البرنامج في نقطة ما سوف يقوم باستدعاء دالة لتحقق من صلاحية اليوزر غالبا ما تكون دالة geteuid وبالفعل هدا ما كان يقوم به البرنامج بالطبع بعد دالك قمت بالبحث عن المنطقة التي يقوم فيها البرنامج باستدعاء هده الدالة وقمت بالتغيرات الاساسية

    الان كيف تقوم بهده التغيرات

    اولا بعد ان تقوم بتحميل البرنامج عن طريق الامر

    كود PHP:
    apt-get install vlc 
    قم بعمل نسخة احتياطية في حالة لم ينجح الامر

    كود PHP:
    cp /usr/bin/vlc /usr/bin/vlc_bp 


    ثم قم بفتح البرنامج عن طريق محرر hex
    كود PHP:
    hexedit /usr/bin/vlc 

    قم بالضغط على Ctrl+w للبحث ثم اختر الخيار البحث عن hex byte ثم ادخل هده البيتات

    كود PHP:

    E8 CA FE FF FF 85 C0 0F 84 7E 05 00 00 



    ثم قم بجعلها هكدا

    كود PHP:

    E8 CA FE FF FF 85 C0 90 90 90 90 90 90 


    ثم قم بالحفظ ودلك عن طريق Ctrl+X

    ادا لم ترد كل هدا فيمكنك تحميل المرفق وتعويضه بالملف الموجود في المجلد usr/bin

    لمن اراد معرفة لمادا قمنا بهده التغيرات فالبيانات التي غيرناها ما هي في الحقيقة الا opcode لتعليمة للقفز هده القفزة كانت تتم في حالة كان المستخدم هو root وبما اننا عوضناها ب 90 وهو opcode الخاص بتعليمة nop فانه حتى ولو كان المستخدم root فان البرنامج سيكمل عمله

    ملاحظة هامة جدا : كل ما قمنا له سابقا هو لنسخة vlc 1.1.3 الخاصة ب debian انتبهوا لهدا جيدا

    الملفات المرفقة

  • #2
    - توجد طريقة أخرى تعمل على ما أظن . لأنني لم أجربها

    - تغير كلمة geteuiud بكلمة getppid

    The best way to learn linux is to use the command line whenever you can

    تعليق


    • #3
      المشاركة الأصلية بواسطة سمير رشيد مشاهدة المشاركة
      - توجد طريقة أخرى تعمل على ما أظن . لأنني لم أجربها

      - تغير كلمة geteuiud بكلمة getppid


      حميل ولكن كما اشرت سابقا نحن لا نملك السورس كود
      لما دكرت دالة geteuid فما هي في الحقيقة الى address على اي دالة getppid هي دالة تقوم باعادة id الخاص بالاجراء الاب ان صح تسميتها باللغة العربية ولكن تبقى غير ممكنة لاننا نحن من نقوم بتشغيل البرنامج وفقط اريد ان ادكر انه ليس امامنا السورس كود مجددا شكرا على الاظافة الجميلة

      تعليق


      • #4
        - الطريقة الموجودة في الرابط الدي وضعت . لا أعتقد أن المستخدم سيحتاج لملف السورس كود للقيام بالعملية

        vi /usr/bin/vlc
        ثم استبدال الكلمة .

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

        - لدا كما يقال . أهل مكة أدرى بشعابها .

        The best way to learn linux is to use the command line whenever you can

        تعليق


        • #5
          واجهتني هذه المشكلة احد المرات
          يبدوا ان الآن لها حل
          امشي ولا ابوح به والعين تجهر به ,,, وأتخيله وأستخيله في خيالاتي
          مجروح في بعده ومجروح في قربه... وانا استعير الحياة في كل حالاتي

          تعليق


          • #6
            المشاركة الأصلية بواسطة سمير رشيد مشاهدة المشاركة
            - توجد طريقة أخرى تعمل على ما أظن . لأنني لم أجربها

            - تغير كلمة geteuiud بكلمة getppid
            تماما مثلما ذكرت أخي سمير وبطريقة سهلة جدا وبسيطة بتنصيب برنامج هيكس وتعديل الكلمة ولكن بدلا من كلمة getuiud والتي اضفت فيها حرفا زائدا نستخدم geteuid والطريقة كاملة منقولة كلتالي:
            apt-get install ghex
            Open Filesystem/usr/bin
            Right click on vlc --->click on open with --->other applications--->Hex Editor

            THEN

            Click Edit Menu--->Replace--->in the top right box type in geteuid--->in the bottom right box type in getppid

            تعليق

            يعمل...
            X