HeadlinesBriefing HeadlinesBriefing.com

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

Hacker News •
×

تلقيت لعبة طابل تُسمى "هيتستر" كهدية. إنها لعبة تحيث فيها بالتعرف على الأغاني وتخمن سنة الإصدار والفنانين وغيرها. على جانب كل بطاقة ستجد اسم الفنان أو الفريق، وسنة صدور الأغنية، وعنوان الأغنية. على الجانب الخلفي، هناك رمز QR يمكنك مسحه باستخدام تطبيق هيتستر، الذي يقوم بتشغيل الموسيقى عبر Spotify أو Apple Music. مؤسفًا، يتطلب التطبيق اشتراكًا في Apple Music أو Spotify للعمل. في هذه المقالة البيانية، سأغوص في الفراغ حول هندسة عكسية لتطبيق Android وتجاوز حاولوا بطريقة غير جيدة جدًا لإخفاء البيانات.

على جانب كل بطاقة، ستجد اسم الفنان أو الفريق، وسنة صدور الأغنية، وعنوان الأغنية. على الجانب الخلفي، هناك رمز QR. عند مسحه، يؤدي إلى URL يحتوي على شيئين في مساره: منطقة اللعبة (DE في حالتي) ومعرف البطاقة. يبدأ تشغيل الموسيقى في التطبيق أو عبر Spotify. هذا يعني وجود خريطة من معرف البطاقة إلى مسار Spotify. كما أن هناك إصدارات متعددة من البطاقات لكل منطقة، لذا لا يكفي معرف البطاقة بحده لتحديد الأغنية.

لقد أخذت APK للتطبيق من موقع تحميل غير موثوق لبرامج Android، استخدمت jadx للحصول على كود Java المفكك. بعد الغطس في الأمر لفترة، وجدت عدة ملفات JSON تحت res/raw. كان أحدها يسمى gameset_database_4.json، وبدا مشفرًا. شغلت أداة لتحديد التنسيق، وعادت تعيده كـ Base64. هذا ترميز، لذا فكّفته أولًا. لم يكن النتيجة قابلة للقراءة، وتخمن أنه تم تشفيره باستخدام AES أو شيء مشابه. لم أقم يوماً بهندسة عكسية لتطبيق Android، لذا ببساطة بحثت عن AES عالميًا. وما هو الخبر؟ كان هناك ملف يسمى k43.java يعرض العملية بأكملها للتو!.

السؤال عن الـ

المصدر: Hacker News · لخّصه HeadlinesBriefing