package com.android.reverse.apimonitor; import java.lang.reflect.Method; import com.android.reverse.hook.HookParam; import com.android.reverse.util.Logger; import com.android.reverse.util.RefInvoke; public class AccountManagerHook extends ApiMonitorHook { @Override public void startHook() { Method getAccountsMethod = RefInvoke.findMethodExact( "android.accounts.AccountManager", ClassLoader.getSystemClassLoader(), "getAccounts"); hookhelper.hookMethod(getAccountsMethod, new AbstractBahaviorHookCallBack() { @Override public void descParam(HookParam param) { // TODO Auto-generated method stub Logger.log_behavior("Get Account ->"); } }); Method getAccountsByTypeMethod = RefInvoke.findMethodExact( "android.accounts.AccountManager", ClassLoader.getSystemClassLoader(), "getAccountsByType",String.class); hookhelper.hookMethod(getAccountsByTypeMethod, new AbstractBahaviorHookCallBack() { @Override public void descParam(HookParam param) { // TODO Auto-generated method stub String type = (String) param.args[0]; Logger.log_behavior("Get Account By Type ->"); Logger.log_behavior("type :" +type); } }); } }