BroadcastReceiver内でonReceiveメソッドをフックする方法は?
public class RecentsActivity extends Activity
{
mIntentReceiver = new BroadcastReceiver()
{
public void onReceive(Context context, Intent intent)
{
...
}
};
}
BroadcastReceiver は抽象クラスであり、これはインライン クラス定義であるため、おそらくこの BroadcastReceiver を次の方法で取得できます。
for(Class<?> cls : <package_name>.RecentsActivity.class.getDeclaredClasses()){
if(BroadcastReceiver.isAssignableFrom(cls)){
//hook onReceive
}
}
それ以外の場合は、 apktoolを使用してアプリケーションの smali コードを確認してください。
おそらく、RecentsActivity$N (N は数字) という名前のファイルがあります。Class.forName("<packagename>.RecentsActivity$N")
このクラスの onReceive メソッドを実行してフックするだけです。
幸運を!