JS Hook物件屬性

2021-10-07 10:28:28 字數 1130 閱讀 1999

我們要想hook物件屬性,需要用到object.defineproperties或者object.defineproperty方法,它可以直接在乙個物件上修改原有屬性或者定義新的屬性,如下所示。

props)

/**obj: 將要被新增屬性或修改屬性的物件

props: 該物件的乙個或多個鍵值對定義了將要為物件新增或修改的屬性的具體配置

**/var obj =

newobject()

;object.

defineproperties

(obj,

, age:})

`在這裡插入**片`

只要物件生成之後,我們就可以hook。比如下邊的hook,會在每次設定物件引數的時候debugger。

prop, descriptor)

/**obj: 需要被操作的目標物件

prop: 目標物件需要定義或修改的屬性的名稱

descriptor: 將被定義或修改的屬性的描述符

**/var obj =

newobject()

;object.

defineproperty

(obj,

'name'

,//被賦值後斷下來

})

對於內建物件屬性的hook,我們需要在文件載入之前hook,這時候就需要用到chrome拓展外掛程式了。比如document.cookie中的各種cookies,我們要想知道cookies是從**生成的,使用chrome拓展是很方便的,如果要使用斷點除錯可能比較麻煩一點,我們可以在js檔案頭部下斷點,在console裡邊輸入如下**。

object.

defineproperty

(document,

"cookie",}

)

然後讓**開始執行,就會看到cookie被列印在控制台了。

如果要檢視cookie在**被定義,可以寫入debugger

如果要檢視特定的cookie,可以在裡邊使用indexof指定引數名字。

JS Hook原理與作用

假設我們現在有這樣乙個js function test aa,bb test 100 200 我們在console中可以修改這個函式,比如讓它列印各個引數的輸出結果,這就是乙個js hook,和frida的hook很相似。var test test test function aa,bb conso...

JS Hook過反除錯

從上一小節我們可以發現js hook是比較容易實現的,但是對 的破壞性卻比較大。所以有些 會有js hook的檢測,最常見的就是比對關鍵函式前後的js文字,如果不一致就進入迴圈debugger。function test x,y setinterval function console.log 未修...

爬蟲逆向之 js hook 方法

前段時間朋友告訴我有乙個活,要抓取某 上去一看 這 有字型反爬。經過一番分析。找到了他的字型反爬的方法。這個時候我想用一些巧妙 且簡單的方式去獲取我想要的引數,特地去請教了 js大神,大神給了我一段js 我一試 果然好用。特此記錄下來,以備後用 function hook func prototyp...