使用反射在Android上更改SIM PIN

时间:2013-08-27 06:51:35

标签: java android reflection

我想使用java反射更改SIM卡PIN码。最终应用程序将安装在system / app。

我正在使用的代码是:

String ICCCARD_CLASS = "com.android.internal.telephony.IccCard";
String PHONEBASE_CLASS = "com.android.internal.telephony.PhoneBase";

Object phoneBaseObject = Class.forName(PHONEBASE_CLASS).getConstructor();
Object iccCardObject = Class.forName(ICCCARD_CLASS).newInstance(); 
Method iccCardMethod = Class.forName(ICCCARD_CLASS).getMethod("changeIccLockPassword", String.class, String.class, Message.class);

//Method arguments are...
Object arglist1[] = new Object[3];
arglist1[0] = "1111"; //oldPass
arglist1[1] = "2222"; //newPass
arglist1[2] = new Message(); //message handler (not needed)

iccCardMethod.invoke(iccCardObject, arglist1);

但是,我得到了很多例外,例如“没有这样的方法”,“实例化异常”...... 在我的Android项目中,没有创建IccCard和PhoneBase包。

TNX黑客!

1 个答案:

答案 0 :(得分:1)

似乎编译确实需要使用修改后的 classes.dex 重建 android.jar