某志愿网js逆向

C++逆向分析——模版

模版 假设有一个冒泡排序的函数: void Sort(int* arr, int nLength) { int i, k; for (i = 0; i < nLength; i++) { for (k = 0; k < nLength-1-i; k++) { if(arr[k] > arr[k+1] ......
模版

C++逆向分析——运算符重载

运算符重载 现在有一个类,其中有一个函数用于比较2个类的成员大小: #include <stdio.h> class Number { private: int x; int y; public: Number(int x, int y) { this->x = x; this->y = y; } ......
运算符

C++逆向分析——继承

继承 struct Person { int age; int sex; }; struct Teacher { int age; int sex; int level; int classId; }; 如上代码中可以看见,Teacher类与Person类都存在着相同的2个成员age和sex,那么这 ......

C++逆向分析——引用

引用类型 引用类型就是变量的别名,其在初始化时必须要赋值。 // 基本类型 int x = 1; int& ref = x; ref = 2; printf("%d \n",ref); // 类 Person p; Person& ref = p; ref.x = 10; printf("%d \n ......

C++逆向分析——继承与封装

面向对象程序设计之继承与封装 之前已经学习过继承和封装了,但是要在实际开发中使用,光学语法和原理是不够的,在设计层面我们需要做一些优化。 如下代码是继承的例子: #include <stdio.h> class Person { public: int Age; int Sex; void Work ......

C++逆向分析——多态和虚表

虚表 上一章了解了多态,那么我们来了解一下多态在C++中是如何实现的。 了解本质,那就通过反汇编代码去看就行了,首先我们看下非多态的情况下的反汇编代码: 然后再来看下多态情况下的反汇编代码: 很明显这里多态的情况下会根据edx间接调用,而非多态则会直接调用。 那么我们来看下间接调用的流程是什么: e ......

C++逆向分析——类成员的访问控制

类成员的访问控制 课外 → 好的编程习惯:定义与实现分开写,提升代码可读性。 如下代码,Student这个类的所有成员我们都可以调用,但是我们不想让被人调用Print1这个方法该怎么? struct Student { int age; int sex; void Print1() { printf ......
成员

C++逆向分析——new和delete new[]和delete[]

在堆中创建对象 我们可以在什么地方创建对象? 全局变量区,在函数外面 在栈中创建对象,也就是函数内 在堆中创建对象 注意:之前一直提到的堆栈实际上是两个概念->堆、栈,我们之前所讲的就是栈,从本章开始要严格区分。 在C语言中,我们可以通过一个函数去申请一块内存,就是malloc(N);申请的这一块内 ......
delete new

C++逆向分析——构造函数和析构函数

构造函数与析构函数 构造函数 struct Student { int a; int b; Student() { printf("Look."); } void Init(int a, int b) { this->a = a; this->b = b; } }; 如上代码中,我们发现了存在一个函 ......
函数

龙龙自己写的 JS表格 生成函数

function getTable(tr,td){ var num=1; document.write('<table border="1" width="600px">') //var tr=10; for(var i=1;i<=tr;i++){ document.write('<tr>') // ......
函数 表格

不引入外部包、使用原生js发送请求的几种方式

参考文档:https://www.freecodecamp.org/chinese/news/the-most-popular-ways-to-make-an-http-request-in-javascript/ 1.form表单提交 <form action="http://www.baidu. ......
方式

JS事件监听

事件绑定 方式一:通过HTML标签中的事件属性进行绑定 <input type="button" onclick="on()" value="按钮1"> <script> function on(){ alert( '我被点击了!') }; < /script> 方式二:通过DOM元素属性绑定 <i ......
事件

Js聊天项目-删除输入聊天的emoji表情

Js聊天软件-删除输入文字中emoji表情的处理 1.问题描述 当我们点击右下角的删除键,希望删去这个表情时,会出现这种情况 ​ 这种情况是,当我们点击删除按钮时,就删除最后一个字符,但emoji表情占位可不止一个字符,但如果删除长度固定成emoji表情的长度,文本内容就不能正常删除了,下面时这样上 ......
表情 项目 emoji

通过JS赋值日期框

java代码 JavascriptExecutor js=(JavascriptExecutor)driver; js.executeScript("document.getElementById('beginDate').value='2020-05-10'"); ......
日期

js slice

在 JavaScript 中,slice() 是字符串、数组、类数组对象常用的 Array 方法之一,用来截取一个字符串或数组的一部分,并返回一个新的字符串或数组。 slice() 方法接受两个参数:起始位置和结束位置(不包括结束位置)。具体用法如下: const str = 'Hello Worl ......
slice js

Js 之art-template模板引擎

一、文档 http://aui.github.io/art-template/zh-cn/ 二、示例代码 <html> <head> <title>art-template模板引擎</title> </head> <body> <div> <div id="span"> <div id="tpl1" ......
art-template template 模板 引擎 art

在Blazor中使用Chart.js

1. 在Blazor中使用Chart.js 首先,从Chart.js官方网站下载Chart.js库文件。 推荐下载这个构建好的版本https://cdnjs.com/libraries/Chart.js,最新版是v4.2.1 在Blazor项目中把刚刚下载好的Chart.js放到wwwroot目录下 ......
Blazor Chart js

JS对象

基础对象 Array数组 JavaScript 中 Array对象用于定义数组。 定义方式一 var 变量名=new Array(元素列表);//方式一 var arr =new Array (1,2,3,4); 定义方式二 var变量名=[元素列表];//方式二 var arr = [1,2,3, ......
对象

导入 three.js 库

发现导入 three.js 文件的时候,官方文档的写法是: import * as THREE from 'three'; 我并不清除 three 指的是文件夹还是 js 文件,如果是后者,应当加上 .js 后缀 由于我并没有使用任何框架,我发现只有导入 Three.js 文件才能运行: impor ......
three js

JS函数

介绍: 函数(方法)是被设计为执行特定任务的代码块。 定义:JavaScript函数通过function关键字进行定义,语法为: 方式一: function functionName(参数1,参数2..){ //要执行的代码 } 注意: 形式参数不需要类型。因为JavaScript是弱类型语言 返回 ......
函数

JS基础语法

书写语法 区分大小写:与Java一样,变量名、函数以及其他任何一切东西都是区分大小写的 每行结尾的分号可有可无,建议写上 注释 单行注释: // 多行注释:/* */ 大括号表示代码块 输出语句 一: window.alert写入警告框 window.alert('hello 1'); 二:docu ......
语法 基础

js数组对象如何改变里面对象键名

方法二中,怎么就通过改变item,arr的值就直接改变了的呢? 在 JavaScript 中,对象是引用类型,当你将一个对象赋值给一个变量时,实际上是将该对象的引用赋值给了变量,而不是复制了该对象本身 let obj = {name:'jack',age:23} let obj_son = obj; ......
对象 数组

js反调试

var startTime = new Date (); debugger; var endTime = new Date (); var isDev = endTime-startTime> 100; var stack = []; if (isDev){ while(true){ stack.p ......
反调

js实现将秒数格式化为HH:MM:SS的形式

function formatSeconds(value) { let secondTime = parseInt(value); let minuteTime = 0; let hourTime = 0; if (secondTime >= 60) { minuteTime = parseInt( ......
形式 格式 HH MM

npm is known not to run on Node.js v8.15.0

########### >npm install --legacy-peer-deps ERROR: npm is known not to run on Node.js v8.15.0 You'll need to upgrade to a newer Node.js version in ord ......
known Node 15.0 npm not

第135篇:Three.js基础入门

好家伙,这东西太帅了,我要学会 先放张帅图(都是用three.js做出来的,这我学习动力直接拉满) 还有另外一个 Junni is... 帧数太高,录不了 开始学习 官方文档 1.Three.js是什么? Three.js是一款运行在浏览器中的 3D 引擎(基于WebGL的API的封装),你可以用它 ......
基础 Three 135 js

逆向基础知识——软断点、硬件断点和内存断点

逆向基础知识——软断点、硬件断点和内存断点 1 寄存器 EAX : 累加器,加减和比较运算都借助 EAX 来达到指令优化的效果,乘除必须在 EAX 中进行。 EDX:数据寄存器,EAX 的延伸。 ECX:计数器 ESI:源变址寄存器,存储输入数据流位置信息,“读” EDI:目的变址寄存器,指向相关数 ......
断点 基础知识 内存 硬件 基础

JS遍历数组的几种方法

在 JavaScript 中,遍历数组有多种方法,下面介绍几种经典方法。 for 循环 用 for 循环遍历数组是最基础、最原始的方法。 const arr = [1, 2, 3, 4, 5]; for (let i = 0; i < arr.length; i++) { console.log(a ......
数组 方法

【官方】山石网科Hillstone SCVPN(Hillstone Secure Connect)客户端下载

下载链接:山石网科Hillstone SCVPN(Hillstone Secure Connect)客户端下载 山石网科是中国网络安全行业的技术创新领导厂商,由一批知名网络安全技术骨干于2007年创立,并以首批科创板上市的网络安全公司身份,在2019年9月登陆科创板(股票简称:山石网科,股票代码:6 ......
Hillstone 山石 客户端 Connect 客户

JS生成随机颜色

// 传统写法 function randomColor1() { var r = Math.floor(Math.random() * 256), g = Math.floor(Math.random() * 256), b = Math.floor(Math.random() * 256); r ......
颜色