- 博客(12)
- 收藏
- 关注
原创 JavaScript 栈的数据结构实现
1.栈数据结构本小节实现的内容创建我们自己的JavaScript数据结构库栈数据结构向栈添加元素从栈移除元素如何使用Stack类十进制转二进制1.栈数据结构栈是一种遵从后进先出LIFO)原则的有序集合。新添加或待删除的元素都保存在栈的同一端,称作栈顶,另一端就叫栈底。在栈里,新元素都靠近栈顶,旧元素都接近栈底。
2024-06-20 10:20:33 223
原创 hook window全局对象(hook 框架完结)
window对象下面不是所有对象下面的属性都能hook,我们只能hook。复制粘贴将代码 直接复制粘贴到 浏览器的代码片段 然后运行。执行我们的 hook函数 ld.hookWindow()configurable可配置属性为true。下面是完整的hook 框架。
2024-06-03 20:00:01 362
原创 hook框架设计
(在学习js逆向之前呢给大家一点小小的建议就是先对js基础有一个了解,系统的学习一下js这门语言 这里呢我推荐一门课程)【【路飞学城】JavaScript核心编程详解】https://www.bilibili.com/video/BV1Dv411y7Z9?承接上一节讲的讲的如何hook对象属性的原理 ,我们今天这节讲的是把上一节的内容封装成一个函数以便于反复调用。
2024-06-03 13:03:07 396
原创 重写函数的name属性
为什么要重写函数的name 属性呢那肯定是在 补环境的过程中 我们要过掉环境检测, 环境检测要检测我们所补的环境中函数的name 属性值。这样子 输出无疑是add ,但是他作为一个属性 我们之前讲过一个修改一个属性值的方法。Object.defineProperty 可以在不改变函数名子的情况下修改属性名字。1. 我们要了解在js环境中 每一个函数都有一个name属性。所以说我门在补环境的过程中我们要与环境做到一致。
2024-06-03 12:21:56 212
原创 hook检测与保护
承接上篇 当我对一个系统级别的函数进行hook(也就是改写系统级函数)时,在别人写的JavaScript的脚本中会有 对系统级函数的检测(也就是看看系统级函数有没有被改写)检测的方法有很多种 ,本节专注于讲一种 toString()检测。
2024-06-02 17:16:17 782 1
原创 如何在浏览器环境中进行hook 系统函数
下面我们进行实战:比如我们想要对浏览器的atob函数进行hook。如何在hook函数在我第一篇文章中已经有所讲解。1. 检查atob 函数是否存在。2. 保存原来的atob函数。
2024-06-02 16:40:50 296
原创 hook 对象属性
首先我们要从对象属性的描述符入手(每一个对象的属性他都会有一个描述符,这个描述符其实也是一个对象)(在读取访问器属性时,会调用获取函数,这个函数的责任就是返回一个有效。在写入访问器属性时,会调用设置函数并传入新值,这个函数必须决定对数据做出什么修改。在严格模式下,尝试写入只定义了获取函数的属性会抛出错误。默认情况下,所有直接定义在对象上的属性的这个特。默认情况下,所有直接定义在对象上的属性的这个特性。:包含属性实际的值。默认情况下,所有直接定义在对象上的属性的。对一个对象的一个属性的hook 的简单原理。
2024-06-01 11:29:37 1208
原创 hook函数的原理与基本实现
/ hook使用场景:: 我们想知道js脚本中某一函数在哪执行了 ,和执行的逻辑的时候 我们就可以使用hook函数、// hook 函数的原理 hook函数要满足两个条件 第一个条件 就是在js脚本加载完之后 &&函数调用用之前。如有错误改正的地方请指出。
2024-06-01 10:48:08 157
空空如也
就是在定位文字验证码的时候为什么要
2024-04-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人