由於近期有業務上的需要,所以特地花時間去研究了一下如何使用hook技術。但是當我把xposed環境和程式編寫完成時,突然發現手機上的某個支付軟體無法使用了。這個時候我意識到,應該是該軟體的安全機制在起作用。所以特地上網看了一些資料,發現有很多的朋友和我一樣有這個問題,當然,也有大神給出瞭解決方案,我 ...
由於近期有業務上的需要,所以特地花時間去研究了一下如何使用hook技術。但是當我把xposed環境和程式編寫完成時,突然發現手機上的某個支付軟體無法使用了。這個時候我意識到,應該是該軟體的安全機制在起作用。所以特地上網看了一些資料,發現有很多的朋友和我一樣有這個問題,當然,也有大神給出瞭解決方案,我在這裡給出這個解決方案的部分程式,給大家參考,僅供學習之用
1 final Class<?> classPop = XposedHelpers.findClass("com.alipay.mobile.base.security.CI", clazzLoader); 2 if(classPop != null) 3 { 4 XposedHelpers.findAndHookMethod(classPop, "a", classPop, Activity.class,new XC_MethodReplacement() { 5 @Override 6 protected Object replaceHookedMethod(MethodHookParam param) throws Throwable 7 { 8 return null; 9 } 10 }); 11 }
其實使用hook技術,最大的門檻,是對程式思維的理解,包括對xposed機制的理解以及對要hook程式的理解,在hook的過程中,基本90%的時間是在分析對方軟體程式。比如某信和某支付軟體的程式,在軟體安全上就做了很多措施,包括賬號登錄、二維碼生成、賬單數據等都做了非常多的安全處理及代碼混淆,當然,安全對我們用戶來說是最重要的,所以希望他們越做越好。結尾,也希望hook技術被用到真正需要他的地方,讓他發揮更大作用。有什麼關於hook上不明白的地方,也可以給我發消息,討論交流進步。