نقوم بتفكيك تطبيق الماسح الضوئي xiaomi ونأخذ نتيجة الفحص

كان لدى زميل اقتراح:

"اكتب لي للحصول على علبة من الرقائق قارئ الباركود للأندرويد ، فقط لكتابة النتائج في الملفات والوقت ، يحتاج أخي." في النهاية ، اتضح أنه ليس لأخي ، ولم يكن ذلك ضروريًا ، وبصفة عامة ، فإن علبة رقائق البطاطس باهظة الثمن

بدافع الاهتمام ، ركضت على حلول جاهزة في js و android ، ومنذ ذلك الحين. لدي هاتف ذكي xiaomi به تطبيق ماسح ضوئي جاهز ، فكرت ، لماذا لا نحاول أخذ نتائج المسح منه فقط؟ حسنًا ، لقد حاولت الحصول على معلومات من Google حول النوايا أو الإرشادات الجاهزة للحصول على البيانات من الماسح ، ولكن دون جدوى. تقرر استكشاف بيان التطبيق للنوايا.



  1. ابحث عن ملف APK والتقطه من الهاتف.



    adb shell
    ~:/pm list packages | grep scanner
    ~:/pm path com.xiaomi.scanner
    exit
    pull /system/priv-app/MiuiScanner/MiuiScanner.apk
    
  2. نقوم بتفكيك ملف apk باستخدام خدمة عبر الإنترنت .
  3. فحص البيان. ابحث عن الإجراء الأول الذي يظهر.



    AndroidManifest.xml


  4. قم بإنشاء مشروع android جديد واكتب مكالمة ماسح ضوئي.



      val intent = Intent("miui.intent.action.scanbarcode")
       startActivityForResult(intent, 1);
    
  5. , … , , ? , . .



    ScanActivity.java




    .

  6. , EXTRA_INTENT_IS_BACKTO_THIRDAPP isBackToThirdApp.



    AppUtils.java


  7. .



      val intent = Intent("miui.intent.action.scanbarcode")
      intent.putExtra("isBackToThirdApp",true)
      startActivityForResult(intent, 1);
    
  8. .



            super.onActivityResult(requestCode, resultCode, data)
            if (resultCode==Activity.RESULT_OK){
                    result.setText(data?.extras?.getString("result"))
            } 
    
  9. .
  10. , Xiaomi ,



All Articles