Kami mendekompilasi aplikasi pemindai xiaomi dan mengambil hasil pindaiannya

Seorang kolega punya saran:

"Menulis kepada saya untuk sekaleng chip pembaca kode batang untuk android, hanya untuk menulis hasil dalam file dan waktu, saudara saya perlu." Pada akhirnya, ternyata bukan saudara saya, dan itu tidak perlu, dan secara umum sekaleng keripik itu mahal

Karena tertarik, saya menemukan solusi yang sudah jadi di js dan android, dan sejak itu. Saya punya smartphone xiaomi dengan aplikasi scanner yang sudah jadi, saya pikir, kenapa tidak coba ambil saja hasil scan nya saja? Ok, saya mencoba info google tentang maksud atau petunjuk yang sudah jadi untuk mendapatkan data dari pemindai, tetapi sia-sia. Diputuskan untuk memindai maksud aplikasi manifes.



  1. Temukan dan ambil APK dari ponsel.



    adb shell
    ~:/pm list packages | grep scanner
    ~:/pm path com.xiaomi.scanner
    exit
    pull /system/priv-app/MiuiScanner/MiuiScanner.apk
    
  2. Kami mendekompilasi apk menggunakan online layanan .
  3. Memeriksa manifes. Temukan tindakan pertama yang berhasil.



    AndroidManifest.xml


  4. Buat proyek android baru dan tulis panggilan pemindai.



      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