حسناً
مرحباً بعودتك
في هذا القسم، نلقي نظرة على الفئات إلى ملف نصي لأن هذا هو الملف الذي يحتوي على شيفرة جافا
المصدرية الخاصة بنا ومع ذلك يتم تجميعها في تنسيق البايت القابل للتنفيذ في دالفيك.
سنتطرق إلى هذا الأمر قليلاً لنعطيك لمحة عن ما ستتمكن من فهمه بعد إكمال هذه الدورة
التدريبية.
هيا بنا نذهب.
هنا نضيف جهاز Ubuntu VM الخاص بنا وننتقل إلى جزء مساحة دليل التطبيقات وهنا لدينا ملف نصي لمخزن الصفوف
هذا.
أول شيء أحب أن أفعله عندما أتعامل مع ملفات غير معروفة، أقوم بفتح محطة طرفية
وأقوم ببساطة بتشغيل ملف على هذا وهنا يمكننا أن نرى هذا في ملف دالفيك النصي الإصدار 035.
الشيء التالي الذي أحب أن أفعله هو أنني أحب أن أفتح هذا في محرر سداسي عشري لأنه هنا يمكننا أن
نرى بعض معلومات الرأس وهنا يمكننا أيضًا تحديد ما إذا كان هذا الملف مضغوطًا أو إذا كان بإمكاننا رؤية بعض الأنماط
وربما بعض السلاسل أو أشياء من هذا القبيل.
ولذلك، أستخدم السداسي السداسي السداسي، ولكن يمكنك بالطبع اختيار أي سداسي سداسي تريده.
يمكنك تثبيته عن طريق sudo update install hex.
لقد قمت بتثبيته بالفعل، لذا أفتح هذا الملف باستخدام g hex الآن.
حسناً.
يمكننا أن نرى x035، والذي يبدو أنه الرأس وهذا هو رقم الإصدار الذي طبعته
خمسة.
يمكننا أيضًا تحديد الكثير من الأنماط هنا، مما يعني أن هذا القسم غير مضغوط.
الآن نحن نعلم أن هذا الملف يحتوي على كود مصدر جافا الخاص بنا، لذا دعنا نكتشف ما إذا كنا سنجد بعض السلاسل
المتعلقة بجافا في هذا الملف هنا.
لذلك، أفتح هذه القائمة وأبحث عن أي جافا؟
يجب أن تضعه على الجانب الأيمن لأن اليسار هو التمثيل السداسي للسلسلة إذا كنت تستخدم نظام السداسي
السداسي.
لذلك لا يمكن أن يكون لديك جافا هناك.
علينا استخدام ذلك.
نعم.
على اليمين
ونعم، يمكننا هنا رؤية بعض مراجع السفر ويمكننا أيضاً رؤية بعض الخيوط.
لم يتم تشغيل الزر.
مضلع أشياء مثل هذه الأشياء
انفجار حافلة الفضائيين، اصطدام حافلة الفضائيين
حتى نتمكن من تحديد مراجع السلسلة، والتي يبدو أنها جزء من التعليمات البرمجية المصدرية.
وهذا هو الجزء المدهش في هذه الشيفرة البرمجية لـ Java لأنه يمكننا إعادة بناء الشيفرة المصدرية بشكل قريب
جدًا من الشيفرة الأصلية من خلال تجميع هذا الملف بعد ذلك.
نقوم بذلك في قسم منفصل حيث نتعلم كيفية إجراء هندسة عكسية وتحليل تلك الملفات.
حسنًا، في الوقت الحالي، هناك الكثير مما يمكننا فعله مع المفتاح.
نحصل على رؤية جيدة لهذا الملف، ولكن لا يمكننا تفكيكه أو فك تجميعه باستخدام محرر سداسي عشري.
لذلك علينا أن نستخدم أداة مختلفة وهذه الأداة اسمها النص وهذه الأداة مذهلة للغاية.
كما أنها تأتي هنا أيضاً مجمعة مسبقاً مع مجموعة تطوير البرمجيات SDK لنظام Android.
لذا دعني أريك هذا سريعاً.
سأغلق هذه
نعم.
النص والرقم موجودان في نص SDK Build Tools 3003.
لقد أضفت هذا المسار إلى بيئة الإعدادات h.
إذا فاتك هذا الجزء، فقد ترغب في العودة إلى عملية التثبيت.
لكنني سأعرض عليك هذا بسرعة.
لذا يمكننا أن نرى هنا أنني أضفت دليل 33 إلى متغير المسار وقمت بإلحاقه بالنقطتين.
وهذا يعني أنه إذا قمت بتشغيل التفريغ النصي من هذا الموقع هنا، الدليل الوردي الفضائي، فإن
المجموعة H تبحث في كل تلك الدلائل المدرجة هناك في متغير المسار هذا وتحاول العثور على
النص على ثنائي.
وإذا كان موجوداً في أحد هذه الدلائل فإنه ببساطة يبدأ تشغيله.
لذلك، ليس من الضروري توفير مسار كامل للنص والثنائي لتشغيل هذه الأداة.
حسناً، دعني أوضح هذا أو دعني أزيد هذا أولاً.
امسحها بعد ذلك ثم كبّر قليلاً.
والآن نقوم بتشغيل تفريغ النص.
لدينا هنا خيارات تفريغ النص.
وهذا الخيار هو الأكثر أهمية، وهو خيار شرطة D، لأن التفريغ النصي قادر على تفكيك
مقاطع التعليمات البرمجية في ملفنا النصي للفصل، مما يعني أننا سنقوم بأول تجربة مع سمايلي.
و Smiley مدهش للغاية وهو أيضًا محور التركيز الرئيسي في هذه الدورة التدريبية لأنك مع Smiley يمكنك
القيام بكل شيء.
يمكنك الحصول على سلطة غير محدودة على هذا التطبيق.
ما نفعله، على سبيل المثال، خلال هذه الدورة التدريبية نكتب منتقي APK، لدينا تطبيقين ونقوم
بتعبئتهما في تطبيق واحد ونقوم بذلك، ونلحق خادم التصحيح الخاص بنا في هذا التطبيق ومن ثم يكون لدينا
وصول كامل للذاكرة على هذا التطبيق.
حتى إذا لم يكن لدينا حق الوصول إلى الجذر على الجهاز، وهو أمر رائع للغاية، يمكننا أيضًا إدراج بعض أوامر
التصحيح أو طباعة مفاتيح ثابتة في شكل ثنائيات.
يمكننا تصحيح تثبيت الشهادة، واكتشافات التوجيه، ويمكننا أيضًا تعديل لعبتنا، وهو أيضًا محور
التركيز الرئيسي لهذه الدورة التدريبية لأن هذه هي الطريقة الأكثر روعة للتعلم بذكاء من خلال اختراق
هذا التطبيق.
وما سنفعله خلال هذه الدورة التدريبية هو أننا سنحدد كيف يبدو هذا الرمز ومن ثم سنقوم بتعديل اللعبة
بحيث لا نتعرض للضرب.
نحن نمدد طلقة اللاعب، فلا يكون لدينا طلقة مزدوجة، ونجعلها 300 طلقة مثلاً،
ونعطل معدل إطلاق النار حتى لا ننقطع أثناء ذلك وكل تلك الأشياء المضحكة.
بعد أن أصبحت متحمسًا إلى هذا الحد، سأريك أخيرًا تلك الابتسامة التي تعرف ما عليك التعامل
معه خلال هذه الدورة التدريبية.
هيا بنا نذهب.
نستخدم وقت النص مع خيار Dash D ونستخدمه في نص الفصل.
وسوف أقوم أيضًا بتوصيل هذا من خلال أنبوب أقل لأنه يمكننا بعد ذلك تصفح هذا الملف.
حسناً، هل أنت مستعد؟
ها نحن أولاء.
حسناً.
هذا هو انطباعك الأول عن تنسيق dalvik القابل للتنفيذ.
وقد تفكر، انتظر، ماذا؟
سنتعامل مع هذا الأمر خلال هذه الدورة التدريبية.
ويمكنني أن أخبرك.
نعم، سنفعل.
لكن دعني أتصفح قليلاً لأن نعم، لدينا نظرة عامة لطيفة حول هذا الموضوع.
حسناً.
لدينا هنا الآن أخيرًا رمز الابتسامة.
لدينا تمثيل البايت على اليسار ولدينا رمز الابتسامة على اليمين.
وهذا هو الجزء الأكثر أهمية لأن هذا هو رمز الابتسامة الذي سنتعلمه.
وبعد هذه الدورة، ستكون قادرًا تمامًا على قراءة هذا الجزء من التعليمات البرمجية وكتابتها.
وهذا مدهش للغاية.
وإذا كنت تفكر الآن، انتظر، ماذا؟
لن أتعلم هذا الأمر أبداً، فهذه طريقة معقدة للغاية.
حسنًا، لقد تعلمت هذه الأشياء، وفعلت ذلك بأكثر طريقة مضحكة ممكنة من خلال اختراق هذا
التطبيق.
وأنا أيضاً لست عبقرياً.
لذلك إذا كان بإمكاني صنع هذه الأداة، فيمكنك صنع هذه الأداة، وأعدك بأنني سأرشدك خلال هذه الدورة التدريبية.
في النهاية، ستكون قادراً على فهم كل سطر هنا.
لقد قمت بتصميم هذه الدورة التدريبية بحيث لا تتطلب الانتقال من 0 إلى 0، لفهم وتعلم وحتى كتابة
ابتسامة بعد ذلك.
وقد تم تصميم هذا القسم لإعطائك معاينة سريعة وما ستتمكن من التعامل معه بعد أداء هذه الدورة
التدريبية.
حسنًا، في الوقت الحالي، دعونا ببساطة نأخذ هذا الانطباع معنا ونمضي قدمًا في الدورة.
لذلك، أتطلع إلى رؤيتك في القسم التالي.