JS逆向:Hook 技術在 JS 逆向中的相關應用 1. Hook 技術原理

1. Hook 技術原理

客戶端擁有 JS 的最高解釋權,可以決定在任何時候注入 JS,而服務器無法阻止或干預。

服務端只能通過檢測和混淆的手段,領 Hook 難度加大,但是無法直接阻止。

Hook 的目:

  • 一是尋找函數入口;
  • 二是分析參數的變化,便於分析 JS 邏輯。
old_func = 被 hook 函數
被 hook 函數 = function(arguments){
  my_task;
  return old_func.apply(arguments)
}
func.prototype.xxx = xxxx
odl_attr = obj.attr
Object.defineProperty(obj, 'attr', {
  get: function(){
    debugger;
    console.log(cookie_cache);
    return old_attr
  },
  set: function(val){
    debugger;
    return ...
  }
})
  • 實例:查找 cookie 生成入口
document.cookie_bak = document.cookie
Object.defineProperty(document, 'doockie',{
  get: function(){
    debugger;
    return document.cookie_bak;
  },
  set: function(){
    debugger;
    return;
  }
})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章