hook过无限debugger
时间: 2023-11-08 17:46:33 浏览: 55
当我们遇到无限debugger的情况时,可以使用hook的方法来解决。Hook定时器是一种常见的方法,它通过修改定时器函数的执行属性,使其执行且不影响正常功能,同时可以绕过无限debugger的代码。
具体操作如下:
1. 定义一个变量来接收定时器函数:var _setInterval = setInterval
2. 修改定时器函数的执行属性:setInterval = function() {}
3. 这样就完成了hook,可以继续执行代码并绕过无限debugger的部分。
需要注意的是,在hook定时器时,断点的位置很重要。确保在函数还未执行之前下断点,这样在加载代码时就会断住。然后在控制台输出hook代码,并执行。最后点击跳到下一个断点,就可以成功地绕过无限debugger了。
相关问题
hook debugger
引用中提到了hook下断点的位置很重要,可以在点击跳到下一个断点之前,在控制台输出hook代码并执行,从而绕过debugger。引用中介绍了JS Hook过反调试的方法,可以通过修改关键函数的执行属性或过滤含有debugger的代码来绕过debugger。引用中提到了两种hook debugger的方法,一种是打开禁止断点功能,另一种是修改定时器函数的执行属性。
综上所述,hook debugger是一种通过修改代码执行属性或绕过关键函数的方式来绕过debugger的技术手段。
_CRT_DEBUGGER_HOOK
_CRT_DEBUGGER_HOOK是一个宏定义,用于在调试器中处理内存错误的回调函数。在你提供的引用中,它出现在gs_report.c文件的298行位置。这个宏定义可能与你的程序在Release模式下出现内存溢出导致崩溃的问题有关。然而,根据提供的引用内容,无法得出更具体的结论。你可能需要进一步检查你的代码和调试器输出来解决这个问题。
#### 引用[.reference_title]
- *1* *3* [VC内存溢出一例 –- 调用约定不一致 (_CRT_DEBUGGER_HOOK(_CRT_DEBUGGER_GSFAILUR](https://blog.csdn.net/weixin_39640543/article/details/111519905)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [VC内存溢出一例 –- 调用约定不一致 (_CRT_DEBUGGER_HOOK(_CRT_DEBUGGER_GSFAILURE)](https://blog.csdn.net/jiangxinyu/article/details/7844414)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]