站長資訊網
        最全最豐富的資訊網站

        javascript的函數可以hook嗎

        javascript的函數可以hook;hook是一種動態修改函數執行流程或返回結果的方法,JavaScript作為一種動態語言也可以進行hook操作,hook通常用來針對某些參數或者變量進行偵聽、打印輸出、替換等操作。

        javascript的函數可以hook嗎

        本教程操作環境:windows10系統、javascript1.8.5版、Dell G3電腦。

        javascript的函數可以hook嗎

        可以。

        Hook是一種動態修改函數執行流程或返回結果的方法,在實際應用中非常廣泛。Javascript作為一種動態語言,也可以進行Hook操作。隨著Javascript語言的發展,Hook的方法也越來越多,

        hook直譯的意思為鉤子,在逆向領域通常用來針對某些參數,變量進行偵聽,打印輸出,替換等操作。

        示例如下:

        示例代碼

        function add(a,b){ return a + b }

        hook代碼

        這是一個很簡單加法函數,通過Hook能獲取到這兩個參數的值,相當于在return之前添加了一句代碼console.log(a,b),這樣便能輸出這兩個的值便于分析。那么可以使用如下的方式來復寫改函數,而這個方式在javascript也就是裝飾者模式

        let _add = add add = function () {   console.log('arguments', arguments)   let result = _add.apply(this, arguments)   console.log('result', result)   return result // 如果不需要result 則可直接return _add() }

        完整代碼

        function add(a, b) {   return a + b }   let _add = add add = function () {   console.log('arguments', arguments)   let result = _add.apply(this, arguments)   console.log('result', result)   return result  }   add(1, 2)

        再次調用add(1,2)便會輸出arguments參數以及結果3,一個很簡單HOOK就實現了。

        不過這個例子可能過于簡單,我所要表達的意思是,通過Hook,定位到我們想Hook的函數與變量,通過一系列操作(函數復寫,元編程),只要觸發該函數或使用(取值,修改)該變量,便能將我們想要的結果(前后的結果(如 加密前,加密后))獲取到。這才是我們的目的。

        書中給的例子想說明的,想為某個原函數(比如這里的add)添加一些功能,但該原函數可能是由其他開發者所編寫的,那么直接修改原函數本身將可能導致未知BUG,于是便可以用上面的方式進行復寫原函數的同時,還不破壞原函數。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 野狼第一精品社区| 99久久精品国内| 97精品国产福利一区二区三区| 国产亚洲精品线观看动态图| 国产成人精品视频一区二区不卡| 久久www免费人成精品香蕉| 国产精品麻豆高清在线观看| 亚洲av日韩av天堂影片精品| 久久精品国产福利国产琪琪| 老司机69精品成免费视频| 久久66热人妻偷产精品9| 亚洲精品和日本精品| 久久精品国产精品亚洲艾草网美妙| 四虎精品成人免费观看| 99久久精品国产高清一区二区| 久久久久女人精品毛片| 亚洲精品第一国产综合境外资源| 国亚洲欧美日韩精品| 99久re热视频这里只有精品6 | 国产精品欧美亚洲韩国日本久久| 国内精品久久国产大陆| 国产精品三级国产电影| 午夜精品乱人伦小说区| 亚洲精品国产高清不卡在线| 日韩精品无码Av一区二区| 久久久久国产精品嫩草影院| 精品无码综合一区| 久久精品视频91| 欧美成人精品网站播放| 人妻少妇看A偷人无码精品| 欧美精品综合视频一区二区| 免费精品久久久久久中文字幕| 久久久精品国产亚洲成人满18免费网站| 99精品国产福利在线观看| 国产69精品久久久久9999| 97久视频精品视频在线老司机| 亚洲愉拍自拍欧美精品| 成人国产精品一区二区视频| 国产精品无码一区二区在线| 国产精品伊人久久伊人电影| 精品欧美一区二区在线看片|