Android code search (framework, system api, hidden api) - DanielWorld/SoftwareTech GitHub Wiki

  • ์ฐธ๊ณ ์šฉ: https://www.programmersought.com/ <-- ์˜จ๊ฐ– ํ”„๋กœ๊ทธ๋žจ ๊ด€๋ จ ์„ธ๋ถ€์ ์ธ low ์ง€์‹๋“ค์ด ํฌํ•จ๋œ ๋ธ”๋กœ๊ทธ

https://cs.android.com/

์˜ˆ์‹œ )

  1. ๋””๋ฐ”์ด์Šค ๋‚ด๋ถ€ path : /system/framework-res.apk ๋ฅผ ๋ถ„์„ํ•ด๋ณด๋ฉด AndroidManifest.xml ์—์„œ com.android.internal.app.ShutdownActivity ๋ฅผ ์‚ฌ์šฉํ•จ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
  2. ํ•ด๋‹น Activity, Service, API ๋“ฑ์„ https://cs.android.com/ ์ฐพ์•„์„œ ํ™•์ธํ•œ ๋’ค, App ๋‹จ์—์„œ reflection ์œผ๋กœ ๊ตฌํ˜„ํ•œ๋‹ค.
 //android.os.ServiceManager is hide class, we can not invoke them from SDK. So we have to use reflect to invoke these classes.
        val getService = Class.forName("android.os.ServiceManager").getMethod("getService", String::class.java)
        val binder = getService.invoke(Object(), Context.POWER_SERVICE) as IBinder

        val mService = IPowerManager.Stub.asInterface(binder)

        // reboot ์‹œ๋„ (PowerManager.reboot ์™€ ๋™์ผ)
//        mService.reboot(false, null, false)

        // PowerManager.SHUTDOWN_USER_REQUESTED = "userrequested"
        mService.shutdown(false, "userrequested", false)