الفريق العربي للهندسة العكسية

نسخة كاملة : تحليل تطبيقات iOS وكسرها
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته .. وبعد

لدي استفسار للي عنده خلفيه عن طرق الهندسة العكسية لتطبيقات الايفون .



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



وهنا  الاستفسار اللي ابي افهمه بضبط
وهذي هي الاوامر اللي دايم قدامي او بالاصح  هذي الاكثر استخداما اذا ماكان كلها.. لاني اشوفها في اي برنامج ios اقوم بتجريب عليه

bl, mov, adrp, ldr, ldrsw, cbz, orr, movz, add, b.hi, nop, cpm, cbnz, str, b, ret, stp, ins
طبعا اشوفها بالمنقح ويختلف من منقح لأخر شوي وليس كلياً
ابي احد اذا فاهم ايش معناها بضبط عشان على الاقل اقدر اركز اكثر فيها وافهم بعضها  . طبعا تخص  assembler for ARM

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

مثال :

ADRP            X2, #cfstr_VipAccount@PAGE ; "VIP Account"
ADD             X2, X2, #cfstr_VipAccount@PAGEOFF ; "VIP Account"
MOV             X3, X2
MOV             X4, #0
BL              _objc_msgSend
MOV             X29, X29

طبعا روتين كامل بس نسخة جزء منه

ومقابله روتين  كذا

ADRP            X2, #cfstr_BasicAccount@PAGE ; "Basic Account"
ADD             X2, X2, #cfstr_BasicAccount@PAGEOFF ; "Basic Account"
MOV             X3, X2
MOV             X4, #0
BL              _objc_msgSend
MOV             X29, X29
BL              _objc_retainAutoreleasedReturnValue
MOV             X22, X0


جزء منه هذا طبعاً


...

 غيرت قيمة من 0 الى 1  وجاني البرنامج نسخة VIP بس لما اجرب الخصايص يكون حق حساب محدود يعني مو كسر كامل

لذلك ابي لو شرح بسيط او شي يساعدني على تكملة المشوار


>> للي يبي يفهم اكثر ويش اقصد يقوم بتحميل هالملف

https://www.dropbox.com/s/mn0ickwhnilm5wo/vpn.rar?dl=0

ويفتحه عن طريق  ida pro
ويختار البروسيس    ARM Little endian
وينتظر لين يكتمل التحميل ويبحث عن كلمة    VIP Account    او Basic Account

   وراح يشوف الروتين كامل قدامه ويفهمه ومتاكد انه بيفعله دام يفهم في الاسمبلي لو شوي




وان شاء الله راح اضع شرح قريب لطريقتي في معرفة كيف البرنامج يتعرف على انك قمة بكسر الجهاز وعمل جلبريك عليه ويمنعك من استخدامه + طريقة تخطي الحماية هذي وتشغيل البرنامج والجهاز مكسور بدون مشاكل لبعض التطبيقات . لان يوجد حمايات اقوى وصعب تخطيها ولكن ليس مستحيل



وصلى الله وبارك على محمد

شفت مواضيع الحين للأخ [b]Gu-sung18[/b]   وجاري تفحصها  يبدو انها دسمة وهذا اللي بيساعدني كثير

51 مشاهدة  ولا رد واحد dontbesad
كل طرق التنقيح متشابهة 

اذا اردت تفهم معاني التعليمات فقط ابحث عن arm instructions set وستجد قوائم تضم كل تعليمة ومعناها وجداول الصدق لها ومنها تفهم البرنامج بماذا يقوم

وللعلم اسمبلي arm احيانا المنطق الخاص به يختلف عن الاسمبلي العادي الخاص بمعالجات مثل  x86 ،64
كما قال الأخ mohamed
الإختلاف يكون بتعليمات الأسمبلي وال Hex ، لذا عليك البحث في معاني التعليمات لتستطيع فهم الكود وتنقيحه.
الموضوع في البداية ممكن يكون صعب لكن مع البحث والقراءة يصبح اسهل.
أيضا هناك اداة ARMASMConverter قد تساعدك في تحويل الكود ل Hex.
ولله الحمد ابشركم قمة بكسره وجعله نسخه كامله .. بل قمة بكسر العشرات من البرامج غيره  في منصة ios. ولازلت اتعلم وامارس لتزيد خبرتي اكثر واكثر .. برغم اني لا اعرف في الاسمبلي الا اشياء بسيطه جداً  ولكن سوف اتعلم اكثر واكثر
استمر اخي 
نحن بحاجة لاعضاء جدد مثلك للتعمق بهذا المجال الكبير وهو مجال الهندسة العكسية لتطبيقات الاندرويد و ios ، ونتمنى منك عمل شروحات تفيد بها الاعضاء اذا امكن ذلك لتعلم الاستفادة فهما كانت المعلومة كبيرة او صغيرة فهي ستفيدنا  Smile