الموقع واضح قديم وبسيط مره، تقدر تتصفح فيه صور السيارات بشكل لطيف
فقررت اسوي سكرابنق سريع يسحب الصور ويرفعها على storage عندي. كان فيه اكثر من مشكلة لكن اهمها ان الموقع كامل يطيح لما اشغل السكربت 😂 اعتقد بسبب اني جالس اعدي ال bandwidth. جربت اخليه ابطئ بس حصلت نفس المشكلة. اكتشفت ان باليوم الواحد تقريبا يمديني اجيب صور ٧-١٠ سيارات فلو ببقى على كذا بطول مره لأني ابي اجيب صور اكثر من ١٠٠٠ سيارة💀
فقررت اسوي سكرابنق سريع يسحب الصور ويرفعها على storage عندي. كان فيه اكثر من مشكلة لكن اهمها ان الموقع كامل يطيح لما اشغل السكربت 😂 اعتقد بسبب اني جالس اعدي ال bandwidth. جربت اخليه ابطئ بس حصلت نفس المشكلة. اكتشفت ان باليوم الواحد تقريبا يمديني اجيب صور ٧-١٠ سيارات فلو ببقى على كذا بطول مره لأني ابي اجيب صور اكثر من ١٠٠٠ سيارة💀
طفشت وانا احاول اعرف وش نوع التشفير، فقلت مالي الا اشوف كود التطبيق عشان اعرف كيف جالس يسوي decode. حملت تطبيق الاندرويد وسويت له decompile وجلست اقرا الكود وادور على اشياء لها علاقة بال endpoints اللي فوق بس ما حصلت اي شي!
استغربت وفتحت التطبيق على جوالي وانصدمت انه مو نفس الـ IOS 🙂 تطبيق الاندرويد حرفيا يفتح لك المتصفح مايستخدم نفس ال endpoint فرجعنا لمشكلة السكرابنق وال bandwidth
استغربت وفتحت التطبيق على جوالي وانصدمت انه مو نفس الـ IOS 🙂 تطبيق الاندرويد حرفيا يفتح لك المتصفح مايستخدم نفس ال endpoint فرجعنا لمشكلة السكرابنق وال bandwidth
تنرفزت شوي لان اللي اقدر اسويه حاليا يا اروح انام وهو الحل الأسلم او اسوي decompile لتطبيق الـ IOS والصدق انه اكره شي عندي😂
وانا جالس اقفل الصفحات عشان اروح انام لفت انتباهي هذا ال review اللطيف لتطبيقهم على قوقل بلاي. المستخدم زعلان ان التطبيق يفتح صور السيارات بالويب، مو نفس قبل كان يفتح الصور داخل التطبيق نفسه
اوووه دقيقة يعني النسخ القديمة كانت نفس ال IOS 😲 هنا حسيت بانتصار صغير ووقفت اقفل الصفحات😂
وانا جالس اقفل الصفحات عشان اروح انام لفت انتباهي هذا ال review اللطيف لتطبيقهم على قوقل بلاي. المستخدم زعلان ان التطبيق يفتح صور السيارات بالويب، مو نفس قبل كان يفتح الصور داخل التطبيق نفسه
اوووه دقيقة يعني النسخ القديمة كانت نفس ال IOS 😲 هنا حسيت بانتصار صغير ووقفت اقفل الصفحات😂
دورت على اقدم نسخة من التطبيق يمديني احصلها حملتها وشغلتها على جهازي بس للاسف طلعت نفس اخر نسخة تفتح الصور بالموقع 😔
لسبب ما قلت خليني اسوي لها decompile واشوف الكود. وانا اقرا حصلت اكواد كثيره تستخدم ال api نفس اللي موجود بالـ IOS 🔥 الواضح انها اكواد مو مستعملة كانت بالنسخ القديمة من التطبيق(ياحظي 😂)
لسبب ما قلت خليني اسوي لها decompile واشوف الكود. وانا اقرا حصلت اكواد كثيره تستخدم ال api نفس اللي موجود بالـ IOS 🔥 الواضح انها اكواد مو مستعملة كانت بالنسخ القديمة من التطبيق(ياحظي 😂)
الحين من ال xml اللي فكيناه ماحصلنا اي روابط للصورة لكن فيه معلومات عن السيارة والواضح ان التطبيق يبني الرابط من نفسه ومايخذه مباشر من الباك اند(نفس اي تطبيق طبيعي🙂)
المهم، يمدينا نشوف المعلومات هذي كيف جالسة تُستخدم ببناء الرابط، الحين قدرنا نجيب اغلب ال picture name بس باقي عندنا شيئين ما ندري وش هم:
- th
- 01
المهم، يمدينا نشوف المعلومات هذي كيف جالسة تُستخدم ببناء الرابط، الحين قدرنا نجيب اغلب ال picture name بس باقي عندنا شيئين ما ندري وش هم:
- th
- 01
الـ 01 واضح انه رقم الصورة لاني اذا فتحت الصورة اللي بعدها يصير 02 الخ…
واذا فتحت صفحة سيارة محددة الباك اند يرسل لك المعلومات هذي(بعد فكها) 👇
من النظر، مقسمين صور السيارة الامامية والجانبية والداخلية والخ الى ids وكل id عبارة عن خانتين، وواضح ان الارقام عبارة عن hexadecimal يعني:
• الصورة الاولى 01
• الصورة الخامسة 05
• الصورة العاشرة 0A
وكذا…
واذا فتحت صفحة سيارة محددة الباك اند يرسل لك المعلومات هذي(بعد فكها) 👇
من النظر، مقسمين صور السيارة الامامية والجانبية والداخلية والخ الى ids وكل id عبارة عن خانتين، وواضح ان الارقام عبارة عن hexadecimal يعني:
• الصورة الاولى 01
• الصورة الخامسة 05
• الصورة العاشرة 0A
وكذا…
ماعلينا نكمل، دام ماحصلنا صيغة الصورة من البيانات اللي يرجعها الباك اند وحنا متأكدين ان التطبيق يبني الرابط فخليني ادور على الفنكشن اللي تبني الرابط، فبحثت بالكود عن .jpg عشاني متاكد انه hardcoded وحصلت الفنكشن 🙌
اللي يهمني هي الفنكشن اللي بين اول وثاني backslash (/) لان هو الجزء اللي مو فاهمه من الرابط
الفنكشن تستقبل parameter وتروح تسويه MD5 hash بس مع كم حبة بهارات حاطها المطور ✨
البهارات ذي اذا جمعتها تطلع NCSAppCode85
اللي يهمني هي الفنكشن اللي بين اول وثاني backslash (/) لان هو الجزء اللي مو فاهمه من الرابط
الفنكشن تستقبل parameter وتروح تسويه MD5 hash بس مع كم حبة بهارات حاطها المطور ✨
البهارات ذي اذا جمعتها تطلع NCSAppCode85
حلو يعني اللي كنت اعتقد انه ID طلع MD5 hash، بس وشو اللي جالس ينرسل للفنكشن هذي عشان ترجع الهاش؟ لو نرجع للـ decompiled code عشان نعرف وش اللي جالس ينرسل نشوف انه جالس يعرف متغير اسمه str ويرسله على طول وهذا مو منطقي لانه لو كذا بيكون null. هذا الشي طبيعي يصير لما تسوي decompile لان الكود اللي يطلع لك ماهو الكود الاصلي واوقات يكون فيه مشاكل او يكون ناقص، فذي الجزئية كان فيها مشكلة 🙂
رجعت سويت للتطبيق decompile بس هذي المره باستخدام tool اسمها jadx ورجعت اشوف كود الفنكشن نفسها
طبعا ال readability ماهي احسن شي لكن على الاقل جاب لنا الكود.
رجعت كتبته بشكل ابسط عشان افهمه، والحين واضح ان اللي ينرسل لفنكشن ال md5 hash هو اسم الصورة نفسها 😂(طبعًا مع البهارات اللي حاطها المطور اللي ذكرناها فوق)
رجعت سويت للتطبيق decompile بس هذي المره باستخدام tool اسمها jadx ورجعت اشوف كود الفنكشن نفسها
طبعا ال readability ماهي احسن شي لكن على الاقل جاب لنا الكود.
رجعت كتبته بشكل ابسط عشان افهمه، والحين واضح ان اللي ينرسل لفنكشن ال md5 hash هو اسم الصورة نفسها 😂(طبعًا مع البهارات اللي حاطها المطور اللي ذكرناها فوق)
طيب لو نجي نحط fh عشان نحمل الصورة full hd؟
يطلع لنا هاش مختلف 🤡💔! وهذا يعني ان طريقة بناء الهاش للصور كلها نفس اللي طلعناها فوق لكن صور ال HD لهم طريقة مختلفة بالهاش…
واو هذا اللي كان ناقص😂 وانا اللي كنت افكر نفسي خلصت 💀
رجعت للكود واكتشفت فعلًا صور ال HD مايستخدمون فيها نفس الطريقة، والكود كان غريب بشكل يصدع(او انا كنت مصدع) المهم رجعت كتبته بطريقة محترمة شوية وباقي ماهو منطقي واصلا فيه اشياء ماهي موجودة بالرابط حاليا وال behavior حقه غريب شوي. بعد عدد من التجارب تيقنت ان هذي الطريقة طريقة قديمة لهاش ال HD والواضح انهم غيروها حاليا بتطبيق ال IOS. حاولت اجرب اكثر من شي وماضبط صقعت بجدران كثيره😂
يطلع لنا هاش مختلف 🤡💔! وهذا يعني ان طريقة بناء الهاش للصور كلها نفس اللي طلعناها فوق لكن صور ال HD لهم طريقة مختلفة بالهاش…
واو هذا اللي كان ناقص😂 وانا اللي كنت افكر نفسي خلصت 💀
رجعت للكود واكتشفت فعلًا صور ال HD مايستخدمون فيها نفس الطريقة، والكود كان غريب بشكل يصدع(او انا كنت مصدع) المهم رجعت كتبته بطريقة محترمة شوية وباقي ماهو منطقي واصلا فيه اشياء ماهي موجودة بالرابط حاليا وال behavior حقه غريب شوي. بعد عدد من التجارب تيقنت ان هذي الطريقة طريقة قديمة لهاش ال HD والواضح انهم غيروها حاليا بتطبيق ال IOS. حاولت اجرب اكثر من شي وماضبط صقعت بجدران كثيره😂
طبعًا هنا واضح ان تطبيق للأندرويد مستحيل اطلع منه طريقة الهاش لصور ال HD وما قدامي الا decompile تطبيق الـ IOS عشان اشوف طريقتهم ✨الجديدة✨
حسيت اني قطعت شوط طويل وحرام اسحب بالاخير. فجبت جوالي القديم سويت له جلبريك وثبتت frida(اداة تستخدم للهندسة العكسية) سحبت ال decrypted ipa لنسخة التطبيق عشان احللها و فتحتها في Ghidra(اداة تستخدم للهندسة العكسية برضو)
الجميل بالموضع الحين اعرف وش ادور عليه، كل اللي ابيه اني اعرف وش جالس ينرسل للفنكشن اللي تسوي md5 hashing. فأول شي بحثت عنه هي البهارات اللي كان حاطها المطور للهاش (NCSAppCode85) وحصلتها ✅
حسيت اني قطعت شوط طويل وحرام اسحب بالاخير. فجبت جوالي القديم سويت له جلبريك وثبتت frida(اداة تستخدم للهندسة العكسية) سحبت ال decrypted ipa لنسخة التطبيق عشان احللها و فتحتها في Ghidra(اداة تستخدم للهندسة العكسية برضو)
الجميل بالموضع الحين اعرف وش ادور عليه، كل اللي ابيه اني اعرف وش جالس ينرسل للفنكشن اللي تسوي md5 hashing. فأول شي بحثت عنه هي البهارات اللي كان حاطها المطور للهاش (NCSAppCode85) وحصلتها ✅
الحين اللي بالعادة اسويه اني اسوي trace back واشوف مين جالس يستخدم ال md5Code ومنه اعرف call tree واوصل للمكان اللي ابيه. لكن لما فتحت ال function call tree ماشفت اي incoming calls! يعني مافيه احد جالس يكلم ذي الفنكشن 🙂
وهنا تذكرت اني جالس اقرا كود تطبيق من العصر الحجري يعني اكيد يستخدم objective-c مو سويفت🙃
وهنا تذكرت اني جالس اقرا كود تطبيق من العصر الحجري يعني اكيد يستخدم objective-c مو سويفت🙃
فأبد قررت اسوي dynamic analysis، شغلت frida على اللابتوب وكتبت سكربت بسيط يطبع لي ال parameters اللي تنرسل للفنكشن مع ال return value وسهل المهمة ذي اني الردي اعرف اسم الفنكشن واسم الكلاس من الخطوة اللي قبل
شغلت السكربت وشغلت التطبيق بالجوال وفتحت اي صورة، وطبع لي وش جالس ينرسل للفنكشن 😍
جالس يرسل اسم الصورة(نفس صور ال thumbnail) بس زايدة عليهم نص غريب
شغلت السكربت وشغلت التطبيق بالجوال وفتحت اي صورة، وطبع لي وش جالس ينرسل للفنكشن 😍
جالس يرسل اسم الصورة(نفس صور ال thumbnail) بس زايدة عليهم نص غريب
جاري تحميل الاقتراحات...