reverse flutter apps 3 - نسخة قابلة للطباعة +- الفريق العربي للهندسة العكسية (https://www.at4re.net/f) +-- قسم : منتديات الهندسة العكسية - Reverse Engineering Forums (https://www.at4re.net/f/forum-4.html) +--- قسم : الهندسة العكسية - Reverse Code Engineering (https://www.at4re.net/f/forum-19.html) +---- قسم : الهندسة العكسية لتطبيقات الجوال - Reversing Mobile Application (https://www.at4re.net/f/forum-21.html) +---- الموضوع : reverse flutter apps 3 (/thread-4241.html) |
reverse flutter apps 3 - ashrafonlinenow - 08-01-2025 تمرين
السلام عليكم و رحمة الله وبركاته اليوم نتدرب على الهندسة العكسية لبرامج فلاتر flutter الضحية https://play.google.com/store/apps/details?id=com.codeway.chatapp سهل يمكنك تحميله ايضا من هنا https://apkcombo.app/ar/ask-ai-chat-with-ai-chatbot/com.codeway.chatapp/ لنبدأ استخرج الملفين libapp.so and libflutter.so و باسهل طريقة استخدم البوت @RevEngiBot حسنا بعد ذلك وبعد تحميل الملفات من البوت سنجد هنا \asm\cerebro ثم ملف cerebro.dart يمكنك دائما البحث داخل كافة الملفات مثلا isPremiumLifetime هنا هى مفتاح البرنامج الضحية لدينا دالة باسمها و هى boolean لذا ببساطة نرجعها دائما ترو True static _ GettersCerebro._isPremiumLifetime(/* No info */) addr: 0x7a4d08, size: 0x9c هذا عنوان الدالة 0x7a4d08 كيف تعرف انها boolean سوف تجد استخدامها دائما يليه شرط للقفز الان لنعدل هنا فى هذا العنوان نستخدم radare2 r2 -w libapp.so لفتح الملف فى وضع القراءة والكتابة كما ذكرنا سابقا reverse flutter apps 2 #0x20 ; true #0x30 ; false ايضا ret for retun اذن الكود كالتالى add x0, x22, 0x20 ret اولا لنذهب الى عنوان الدالة 0x7a4d08 ثم انتر هنا wa add x0, x22, 0x20 ثم فى العنوان التالى wa ret انظر [0x007a4d08]> wa add x0, x22, 0x20 سترى INFO: Written 4 byte(s) (add x0, x22, 0x20) = wx c0820091 @ 0x007a4d08 وهنا [0x007a4d0c]> wa ret سترى INFO: Written 4 byte(s) (ret) = wx c0035fd6 @ 0x007a4d0c نعم يمكنك عملها بسهولة بكود واحد نعم النتيجة 0x007a4d08 c0820091 add x0, x22, 0x20
نعم لقد تم التعديل بنجاح0x007a4d0c c0035fd6 ret الان قم باستبدال ملف libapp.so بملفنا المعدل ملحوظة اذا لم يعمل معك البرنامج وتوقف على السبلاش لها حل و للموضوع بقية اذا كنت لا تعلم كيفية استخدام radare2 فهذا الوقت المناسب https://github.com/radareorg/radare2
ايضا قمت بعمل سكربت بايثون بدلا من استخدام radare2
flupatch.py فى موضوع قادم إن شاء الله |