1

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

我正在使用的代码是:

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 黑客!

4

1 回答 1

0

看来编译确实需要用修改的classes.dex重建android.jar

于 2013-11-18T23:24:08.330 回答