01-05-2022, 09:52 PM
(01-05-2022, 05:17 PM)PHP4PRO كتب : يا عزيزي طريقة عمل الsignature بالنسبة لي واضحة جدا وسهله لكن فهم طريقة عمل الsignature ليس له علاقة بايجاد التحقق فهمه نعم يسهل عليك لتفهم كيف يعمل البرنامج لكن طرق التحقق مختلفة من برنامج الى اخر
كذلك الهوك ليس دايما يعمل اكثر من برنامج جربت عليه لا يعمل ربما يكون هناك طرق حماية اخرى وفكرته الى اعرفها انه يغير في ال manifest في ال application ليكون الهوك هو اول ما يشتغل في البرنامج ثم يحقن التوقيع الجديد بدلا من الاصلي فاذا استدعى البرنامج دالة التوقيع يظهر له الذي تم حقنه ويطابقة مع التوقيع الصادر من البرنامج فاذا تحقق يعمل
نرجع للبرنامج
البرامج الي مرت علي عندما تجد الدالة الي ترجع التوقيع تجد التحقق قريب منها ويكون المبرمج يقارن التوقيع مع التوقيع المخزن داخل البرنامج في مكان ما
اما الدالة u0 التي ذكرتها لا تظن اني لم اشاهدها واعرف انها ترجع التوقيع بصيغة String لكني لم اجد التوقيع الذي يتم المقارنة معه يبدو البرنامج يستخدم طريقة اخرى او اني مخطئ في شيء
البرنامج طريقة عمله حسب فهمي
الدالة u0 ترجع التوقيع بصيغة String الى الدالة w ثم يتم وضعها في headers البرنامج ثم يتم التحقق من مطابقة التوقيع الخاص بالمطور عن طريق api جوجل
ايضا من ضمن الملاحظات الدالة l()و s() هناك مقارنة String للتوقيع
اخي العزيز احنا نتكلم عن تحقق من signature لذالك كل البرامج اذا كان التحقق java layer تكون بنفس الشكل لكن تبقى ارجاع القيمة مختلفة توجد منها يرحع قيمة الدالة bytearray و في منها فقط String عادي ولكن ايضا توجد بعض الحمايات الاخرى مثل تحقق من CRC او من حجم الملف الخ .. لكن هذا البرنامج يتحقق من signature فقط .
ومين قالك الهوك دائما يعمل ؟.!
طبعا نخطيها يدويا اقوى وكذالك توجد برامج مدفوعة لعمل هووك يتخطى java layer و native layer
مثلا
Cnfix
او قديما كان يوجد ultima / arm pro وتم نشر السورس كود تبعه
ماطول فاهم لذالك سأتوفف هنا
تحياتي ..