ICode9

精准搜索请尝试: 精确搜索
  • 莫比乌斯反演学习笔记2022-08-10 13:52:11

    前置知识 数论分块 一些基础数论知识 积性函数 定义:如果一个数论函数 \(f(x)\),对于任意的在其定义域中的 \(x,y\),满足 \(f(xy)=f(x)f(y)\ \ (\gcd(x,y)=1)\),则称 \(f(x)\) 为积性函数(Multiplicative Function)。 若 \(f(xy)=f(x)f(y)\),则称其为完全积性函数(Completely Multipl

  • struts2的ognl表达式注入漏洞2022-08-07 08:30:30

    原理就是对用户的参数没有进行过滤,导致恶意参数直接传入到ognl的方法中命令执行 ognl不仅可以执行简单计算(首先生成一个ongl上下文,context) ongl还可以对类和对象进行操作。 通过context来put的对象都会放入value属性中,穿进去的字符串就是该属性中的key,通过#key的形式来指定对象

  • console.log调试变量,发现有问题2022-08-04 19:01:56

    注意: 我们调试代码时,除了debugger还有consolelog即clog方式;简单的代码可能就直接clog调试了。 但是有个问题,比如说我们在const ast = parse(template.trim(), options)代码后,打印ast     但是clog一个引用数据类型,在后续optimize(ast, options)会对变量ast做修改, 所以,当我们我

  • vue源码阅读—07—编译原理之parse2022-08-04 19:01:20

    ast树是一个js对象,ast树是对模板的一种描述; 类似于vnode是对真实dom的一种描述, ast树是对模板的一种描述;     注意: 我们调试代码时,除了debugger还有consolelog即clog方式;简单的代码可能就直接clog调试了。 但是有个问题,比如说我们在const ast = parse(template.trim(), options)

  • 理解虚拟DOM2022-08-04 14:31:40

    什么是虚拟DOM     虚拟DOM是对真实DOM的抽象,它表现为一个JavaScript对象,该对象的属性存储了某个节点所包含的信息,如标签名、标签用到的HTML属性、子元素对象等,来描述一个DOM元素,存储在内存中。每次页面重新渲染时,会先使用VNode类去实例化不同类型的DOM节点,生成vnode实例,然后

  • pve安装时候出现找不到 ast_dri.so,无法启动 x server 解决方案.2022-07-29 04:31:06

    报错大概如下; X.Org X Server 1.20.13 X Protocol Version 11, Revision 0 Build Operating System: linux Ubuntu Current Operating System: Linux research-1 5.4.0-100-generic #113-Ubuntu SMP Thu Feb 3 18:43:29 UTC 2022 x86_64 Kernel command line: BOOT_IMAGE=/vmlinu

  • V8引擎如何运行代码2022-07-17 17:38:39

    V8引擎如何运行代码 1. 第一步 生成AST语法树 第一阶段是分词(tokenize),又称为词法分析,其作用是将一行行的源码拆解成一个个 token。所谓 token,指的是语法上不可能再分的、最小的单个字符或字符串。你可以参考下图来更好地理解什么 token。 第二阶段是解析(parse),又称为语法分析,其作

  • SAST2022-07-07 23:35:11

    本文转载:https://xz.aliyun.com/t/10216 SAST(Static Application Security Testing):静态应用程序安全测试技术,通常在编码阶段分析应用程序的源代码或二进制文件的语法、结构、过程、接口等来发现程序代码存在的安全漏洞。 目前有多款静态代码检测的开源项目,通过对几款项目的调研,

  • 利用ast和jscodeshift统计项目文件中接口重复使用率2022-07-01 22:03:21

    第一阶段: 由于有的接口最多只有两层 /xx/xx,所以查找出所有接口截取最后两层进行统计 grep -Er 'ur[il]\s*\=|url:|action\=' ./src | awk -F "[\'\`]" '{print $2}'| grep -Eo "(\/[^\/]+){2}$" |sort | uniq -c | sort -r 这样的话有几个问题:1、yy/xx/xx 和 xx/

  • 新一代构建工具(1):对比rollup/parcel/esbuild—esbuild脱颖而出2022-06-25 19:04:04

    文章内容来源: 字节前端是如何基于 ESBuild 的做现代化打包设计? https://mp.weixin.qq.com/s/bS_qwiOIMqFN1sfuPKTUbA 新世代建置工具解析(esbuild、Snowpack、Vite、wmr) https://andyyou.github.io/2021/04/25/new-generation-of-build-tools-comparsing/ Esbuild 为什么那么快

  • govaluate规则引擎原理解析2022-06-22 11:33:46

    序言 首先明确引入规则引擎的目的是, 从 if... else ...中解放出来。规则引擎可依据不同项目进行选型,本次主要分享bsp中使用到的govaluate规则引擎。 其输入为规则表达式和k-v键值对条件对象,通过规则引擎执行表达式,得到表达式的结果。 AST Abstract Syntax Tree简称AST,中文叫做

  • 初识CEL(一)2022-06-16 23:35:14

    一、cel简介 1.1 什么是CEL CEL是一种非图灵的完整表达式语言,被设计为快速、可移植和安全执行。CEL可以单独使用,也可以嵌入到一个更大的产品中。 CEL被设计成一种可以安全执行用户代码的语言。虽然在用户的python代码上盲目地调用eval()是危险的,但你可以安全地执行用户的CEL代码。

  • 【JS 逆向百例】AST 脱混淆实战,某 ICP 备案号查询接口 jsjiami v6 分析2022-05-26 11:35:12

    关注微信公众号:K哥爬虫,持续分享爬虫进阶、JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请在公众号联系我立即删除! 逆向目标 目标:站 Z 之家网站

  • TypeScript AST Viewer All In One2022-04-24 01:34:39

    TypeScript AST Viewer All In One type ItemType = string | number | object | Array<any> | null; // type ItemType = string | number | object | any[] | null // interface Array<T> interface ObjectInterface { // dynamic key type [key: string]: I

  • babel使用2022-04-14 18:01:45

    Babel 的三个主要处理步骤分别是: 解析(parse),转换(transform),生成(generate)1.解析步骤接收代码并输出 AST2.转换步骤接收 AST 并对其进行遍历,在此过程中对节点进行添加、更新及移除等操作。 插件就是在这部分介入工作3.代码生成步骤把最终(经过一系列转换之后)的 AST 转换成字符串形式的

  • 浅析狄利克雷卷积2022-03-01 22:00:21

    定义 狄利克雷卷积是定义在数论函数间的一种二元运算: \[(f\ast g)(n)=\sum_{xy=n}f(x)g(y) \]也等价于下面这种形式: \[(f\ast g)(n)=\sum_{d\mid n}f(d)g(\frac{n}{d}) \]性质 若 \(f,h\) 是积性函数,则 \(f\ast g\) 也是积性函数 狄利克雷卷积满足交换律 \[(f\ast g)(n)=\sum_

  • JavaScript运行原理2022-02-26 16:32:16

    浏览器渲染过程 HTML解析的时候遇到了JavaScript标签,会停止解析HTML,而去加载和执行JavaScript代码。  常见的JavaScript引擎 SpiderMonkey:第一款JavaScript引擎,由Brendan Eich开发(也就是JavaScript作者);Chakra:微软开发,用于IT浏览器;JavaScriptCore:WebKit中的JavaScript引擎,Apple公

  • 58同城面试盘点2022-02-22 00:01:52

    58同城面试盘点 1.一张订单表,有user_name,order_id,order_time,order_amount 四个字段,怎么取出每个用户2021年10月以来第一个订单的金额(下单时间格式为’yyyy-MM-dd HH:mm:ss’)? select user_name, order_id, order_amount from( select user_name, order_id, order_am

  • 编译三个步骤2022-02-21 11:04:24

    在传统编译语言的流程中,程序中的一段源代码在执行之前会经历三个步骤,统称为“编译”。 1、分词/词法分析(Tokenizing/Lexing) 这个过程会将由字符组成的字符串分解成(对编程语言来说)有意义的代码块,这些代码块被称为词法单元。 2、解析/语法分析(Parsing) 这个过程是将词法单元流(

  • 从0到1手写babel插件2022-02-05 17:01:56

    概要 当我们对babel工作原理有了较为深入的了解后,我们就可以根据日常的业务场景开发一些实用的babel插件用于优化我们的业务代码,使我们打包后的代码更加小巧快速。这篇文章主要介绍如何实现babel插件的开发,从0到1手摸手,成为大佬不是梦。 餐前准备 一顿好的饭菜不仅需要高超的技

  • lambda解释器_Lambda Interpreter2022-01-16 13:31:04

    代码参考: 200行JS代码实现lambda解释器 PP大佬代码 解释器构造 一个lambda interpreter主要由一下几个方面构成: 词法分析器(Lexer):将字符流分解为符号流(token流)语法分析器(Parser):根据语法,利用符号流构建抽象语法树AST语法解释器/语法制导的翻译(Interpreter):遍历处理AST,进行对语法

  • vue 快速入门 系列 —— 模板2022-01-12 23:34:23

    其他章节请看: vue 快速入门 系列 模板 前面提到 vue 中的虚拟 dom 主要做两件事: 提供与真实节点对应的 vNode 新旧 vNode 对比,寻找差异,然后更新视图 ①、vNode 从何而来? 前面也说了声明式框架只需要我们描述状态与 dom 之间的映射关系。状态到视图的转换,框架会给我们做。 ②、

  • 关于ASTER L1T产品介绍及预处理流程2022-01-12 12:31:49

    最近在处理ASTER L1T数据,但是网上关于这种级别的数据介绍资料比较少、零碎,查阅了很多文献、资料,处理的都是L1A和L1B数据,历时一个星期,总结出来这份笔记,希望能对你以及以后的自己有所帮助,另一方面通过码字来增强自己的记忆,为后续科研铺路,如有不足之处,敬请批评指正。 首先介

  • SQL 解析原理和使用场景2022-01-09 16:33:45

    SQL解析是一项复杂的技术,一般都是由数据库厂商来掌握,由于这几年MySQL数据库中间件的兴起,需要支持读写分离、分库分表等功能,就必须从SQL中抽出表名、库名以及相关字段的值。因此像Java语言编写的Druid,Go语言编写的Kingshard等,都会对SQL进行部分解析   我们部门最近做的星云平台,

  • 某酷ckey签名生成算法系列--(四)ast代码字符串反混淆与回填2021-12-30 23:58:55

    某酷ckey签名生成算法系列--(四)ast代码字符串反混淆与回填 上一篇中,我们已经把控制流完全去掉了,但是存在的字符串混淆,依然阻挡了调试的脚本,本篇文章尝试对这部分进行还原,减少调试点击的次数 最明显的形如上面图片中的代码,加密字符串En最终异或解密赋值给Ne,使用ast的话可

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有