[Android] note 亂亂寫
§ How-to modify the content of .jar Download smali and baksmali from smali . Open the xxx.jar file with something such as winrar or 7zip or whatever you prefer. Copy out the classes.dex file. Run following from command line: java -jar baksmali.jar -o classout/ classes.dex Open the file xxx.smali that you want to modify in something like notepad or context or any text editor. Now back to the command line and run: java -Xmx512M -jar smali.jar classout/ -o new-classes.dex Open the services.jar file with your archiving tool again and replace the existing classes.dex file with our new classes.dex we just created. § Reflection 有時你會需要突破存取限制來呼叫受護的或私有的方法,這時候您可以使用反射機制來達到目的,一個存取私有方法的例子如下: Class c = Class.forName("com.jackal.private"); Method privateMethod = c.getDeclaredMethod("getPrivateMethod", arg0, arg1, ...); //privateMethod.setAccessible(true); privateMethod.invoke(instanceObj, arg0, arg1, ...); 即使宣告為私有方法或成員,仍可以透過反射機制存取私有方法,要突破權限仍是可以的。 Reference: 良葛格學習...