随笔分类 -  逆向 / web_js逆向

摘要:1、websocket new WebSocket() 是固定的语法,可以作为定位的关键词 常见用法 ws.send 用于向服务器发送数据 ws.onopen 用于指定连接成功后的回调函数 ws.onmessage 用于指定收到服务器数据后的回调函数 定位 定位send 可以先搜索new WebSo 阅读全文
posted @ 2024-04-08 01:00 eliwang 阅读(181) 评论(0) 推荐(0)
摘要:protobuf是Google公司推出的一种轻便、高效的结构化数据存储格式,比XML、JSON传输效率更高 一、环境配置(以windows系统下能正常运行的版本为例) 下载protoc(protobuf编译器) https://github.com/protocolbuffers/protobuf/ 阅读全文
posted @ 2023-09-08 01:08 eliwang 阅读(326) 评论(0) 推荐(0)
摘要:一、Worker 使用 创建worker实例 var worker = new Worker(url); // 创建Worker对象 只会执行url指定的脚本,必须同源 主线程 // 监听接收worker线程信息 worker.onmessage = (e) => console.log(`接收到w 阅读全文
posted @ 2023-04-23 03:16 eliwang 阅读(1329) 评论(0) 推荐(0)
摘要:一、WebAssembly 简介 WebAssembly是一种可以使用非JavaScript编程语言编写代码,并且能在浏览器上运行的技术方案。借助Emscripten编译工具,能将C/C++文件转成wasm格式,JavaScript可以直接调用该文件并执行其中的方法。 好处 可以隐藏核心逻辑,增大逆 阅读全文
posted @ 2023-04-02 17:51 eliwang 阅读(1148) 评论(0) 推荐(0)
摘要:对于obfuscator混淆,可以利用AST进行处理,此外还有一些比较特殊的混淆方式,如AAEncode、JJEncode、JSFuck 特殊混淆 1、AAEncode 特征:将js代码转换成颜文字来表示 示例网站:https://utf-8.jp/public/aaencode.html 示例代码 阅读全文
posted @ 2023-03-31 19:04 eliwang 阅读(1517) 评论(0) 推荐(0)
摘要:一、webpack大致处理流程 webpack打包代码结构示例: window.cache_obj = {} // 用于存储所需要的模块对象 !function (n) { // 参数n:包含所有模块的大数组或对象 var r = {}; // 缓存 window.loader_ = i; // 导 阅读全文
posted @ 2023-03-31 19:02 eliwang 阅读(1253) 评论(0) 推荐(0)
摘要:一、准备工作 在线工具网站 在线ob混淆:https://obfuscator.io/ 在线AST解析:https://astexplorer.net/ babel官方手册:https://babeljs.io/docs/ NodeJS安装: 参考:https://www.cnblogs.com/e 阅读全文
posted @ 2023-03-08 14:19 eliwang 阅读(2696) 评论(0) 推荐(0)
摘要:js混淆是把原本可读性比较高的代码,用另外一种或者几种代码进行替换,降低代码的可读性,但是执行效果又等同 常见混淆 字符串转十六进制、unicode编码 //字符串转ASCII码 console.log('abc'.charCodeAt(0)) // 97 console.log('bcd'.cha 阅读全文
posted @ 2023-02-26 01:14 eliwang 阅读(2120) 评论(0) 推荐(0)
摘要:常见加密、解密算法特征及实现 base64 逆向特征 字符串的长度为4的整数倍 字符串的符号取值只能在 A-Z、a-z、0-9、+、/、= 共计65个字符中,且 = 如果出现,就必须在末尾 索引表:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxy 阅读全文
posted @ 2023-02-16 14:17 eliwang 阅读(2182) 评论(0) 推荐(0)
摘要:常见HOOK脚本 hook脚本注入的时机: 对于系统函数,选择在网页运行之前进行hook 对于普通函数,在调用的地方设置断点,运行时注入js hook,在函数被调用之前就进行修改 扩展参考 链接1 链接2 cookie (function () { 'use strict'; var cookie_ 阅读全文
posted @ 2023-02-14 16:57 eliwang 阅读(2586) 评论(0) 推荐(1)
摘要:一、创建对象的方式 字面量 let a = {} new关键字 let b = new Object() Object.create()方法 let c = Object.create(Object.prototype) 二、function、Function、prototype、construct 阅读全文
posted @ 2022-12-23 02:46 eliwang 阅读(1260) 评论(0) 推荐(0)
摘要:1、安装PyExecJS包 pip3 install PyExecJS 2、本地安装Node.js: 执行js有时需要浏览器环境,需要window对象和document对象,所以需要安装Node.js环境 Node.js 安装包及源码下载地址为:https://nodejs.org/en/downl 阅读全文
posted @ 2021-09-10 22:28 eliwang 阅读(4035) 评论(0) 推荐(0)