資源共享吧|易語言論壇|逆向破解教程|輔助開發(fā)教程|網(wǎng)絡(luò)安全教程|rigasin.com|我的開發(fā)技術(shù)隨記

標(biāo)題: frida的問題請教下小肩膀老師 [打印本頁]

作者: 奧數(shù)大師    時間: 2020-3-24 22:38
標(biāo)題: frida的問題請教下小肩膀老師
本帖最后由 奧數(shù)大師 于 2020-3-24 22:39 編輯

看完frida的第11,12課,嘗試寫了下枚舉所有類然后hook類的所有方法,結(jié)果發(fā)現(xiàn)報錯

(, 下載次數(shù): 102)
運行,前面的打印都沒問題,后面無論點APP的哪個按鈕都會報下面紅色的錯誤
(, 下載次數(shù): 112)
這是代碼
  1. function hookTmp() {
  2.     Java.perform(function () {
  3.         var classes = Java.enumerateLoadedClassesSync();
  4.         for (var i = 0; i < classes.length; i++) {
  5.             if (classes[i].indexOf("com.xiaojianbang.app") != -1) {
  6.                 var tmpClass = Java.use(classes[i]);
  7.                 var methods = tmpClass.class.getDeclaredMethods();
  8.                 for (var j = 0; j < methods.length; j++) {
  9.                     var tmpMethodName = methods[j].getName();
  10.                     console.log(classes[i], tmpMethodName);
  11.                     //到這里打印都是沒問題的

  12.                     for (var k = 0; k < tmpClass[tmpMethodName].overloads.length; k++) {

  13.                         tmpClass[tmpMethodName].overloads[k].implementation = function () {
  14.                             for (var p = 0; p < arguments.length; p++) {
  15.                                 //console.log(p,arguments[p]);
  16.                             }
  17.                             return this[tmpMethodName].apply(this, arguments);//應(yīng)該是這句return報錯了
  18.                         }

  19.                     }



  20.                 }

  21.             }



  22.         }



  23.     });


  24. }
復(fù)制代碼


請教下這是哪里有什么問題嗎




作者: 小肩膀    時間: 2020-3-24 22:38
  1.     function hookAll(tmpClass, tmpMethodName){
  2.         for (var k = 0; k < tmpClass[tmpMethodName].overloads.length; k++) {
  3.             tmpClass[tmpMethodName].overloads[k].implementation = function () {
  4.                 for (var p = 0; p < arguments.length; p++) {}
  5.                 console.log(tmpMethodName);
  6.                 console.log(this);
  7.                 return this[tmpMethodName].apply(this, arguments);
  8.             }
  9.         }
  10.     }
  11.     Java.perform(function () {
  12.         var classes = Java.enumerateLoadedClassesSync();
  13.         for (var i = 0; i < classes.length; i++) {
  14.             if (classes[i].indexOf("com.xiaojianbang.app") != -1) {
  15.                 var tmpClass = Java.use(classes[i]);
  16.                 var methods = tmpClass.class.getDeclaredMethods();
  17.                 for (var j = 0; j < methods.length; j++) {
  18.                     var tmpMethodName = methods[j].getName();
  19.                     hookAll(tmpClass, tmpMethodName);
  20.                 }
  21.             }
  22.         }
  23.     });
復(fù)制代碼
  代碼改了下 變量被覆蓋了 所有undefined




歡迎光臨 資源共享吧|易語言論壇|逆向破解教程|輔助開發(fā)教程|網(wǎng)絡(luò)安全教程|rigasin.com|我的開發(fā)技術(shù)隨記 (http://rigasin.com/) Powered by Discuz! X3.4