protobuf协议逆向解析
protobuf协议逆向解析
地址:
1aHR0cHM6Ly93d3cudGlrdG9rLmNvbS9tZXNzYWdlcz9sYW5nPWVu
找到接口/v2/message/get_by_user_init
如图所示, 参数和响应并不是可直接使用的, 虽然部分内容可读。
跟栈到这里, 找到封包前的数据
打上断点, 查看变量t就是请求参数, 经过encode封包为二进制数据后 发送请求
把变量对象t复制到一个json格式化的地方, 方便后续查看
12345678910// 接收一个 ArrayBuffer, 转为base64字符串window.arrayBufferToBase64 = function(buffer) { let binary = ''; const bytes = new Uint8Array(buffer); const len = bytes.byteLength; for (let i = 0; i < len; i++) { binary += String.fromCharCode(by ...
Qexo
这是一篇在Qexo中写的新文章
原型与继承
原型与继承
在 JavaScript 中,对象有一个特殊的隐藏属性 [[Prototype]](如规范中所命名的),它要么为 null,要么就是对另一个对象的引用。该对象被称为“原型。
当我们从 object 中读取一个缺失的属性时,JavaScript 会自动从原型中获取该属性。在编程中,这被称为“原型继承”。
1234567891011121314151617181920212223242526272829303132333435363738394041'use strict';const user = { name: 'user', age: 18}const admin = { __proto__: user, // __proto__ 的值可以是对象,也可以是 null。而其他的类型都会被忽略。一个对象只能有一个 [[Prototype]]。一个对象不能从其他两个对象获得继承。 name: 'admin',}console.log(admin.na ...
websocket聊天室
websocket聊天
代码#
12345678910111213141516171819202122232425262728293031323334353637// server.jsconst http = require("http");const fs = require("fs");const ws = require("socket.io"); // 引入socket.ioconst server = http.createServer((req, res) => { const html = fs.readFileSync("./client.html"); // client.html是发送给客户端的文件(客户端界面) res.end(html);});server.listen(8000, () => { console.log("服务运行在8000端口");});// http服务与ws服务相关联, 返回io服 ...
Promise、async和await
Promise、async和await
async和await#
123456789101112131415161718192021222324252627282930313233343536function getName() { return new Promise((resolve, reject) => { setTimeout(() => { resolve("John Doe"); }, 2000); });}// 被async修饰的函数, 总是返回一个 promise, 其值被包装在一个Promise对象中返回async function getAge() { return 25;}function getPwd() { return Promise.resolve(123456); // 封装一个值为Promise对象}// await: 让 JavaScript 引擎等待直到 promise 完成(set ...
位运算的应用
位运算的应用
判断奇偶#
奇数的二进制最低位一定是1, 而偶数的二进制最低位一定是0, 所以有
123if((1 & num) == 1) // num 为奇数 if((1 & num) == 0) // num 为偶数
乘2除以2#
1234567num >> 1 == num / 2 num << 1 == num * 2 1 << n == Math.pow(2, n)
移除最低位的1#
比如num的二进制为0000 1010, 移除最低位的1后变成 0000 0100
1int res = num & (num - 1);
相关题:
191. 位1的个数 - 力扣(Leetcode)
231. 2 的幂 - 力扣(Leetcode)
461. 汉明距离 - 力扣(Leetcode)
获取最低位的1#
比如num的二进制为0000 1010, 获取最低位的1的值应该是 0000 0010, 即只保存最低位的1, 移除其他所有1
1int res = num & (-nu ...
模拟实现Spring的IOC
创建两个注解
@Bean实现类似@Component的作用
@DI实现类似@Autowired的作用
12345// 可使用的范围, 类、接口(包括注释接口)、枚举或记录声明@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)public @interface Bean {}
12345// 字段声明(包括枚举常量)@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME) // 运行时保留public @interface DI {}
1234public interface ApplicationContext { // 根据类型获取Bean对象 Object getBean(Class<?> clazz);}
12345678910111213141516171819202122232425262728293031323334353637383940414243444 ...
Spring中的AOP
现在有一个接口Calculator
123456public interface Calculator { int add(int a, int b); int sub(int a, int b); int mul(int a, int b); int div(int a, int b);}
其实现类CalculatorImpl实现了基本的算数
123456789101112131415161718192021public class CalculatorImpl implements Calculator { @Override public int add(int a, int b) { return a + b; } @Override public int sub(int a, int b) { return a - b; } @Override public int mul(int a, int b) ...
docker部署war包
docker部署war包
下载docker
1yum install docker
检查是否安装docker
123[root@alibaba-linux home]# docker -vEmulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.podman version 4.2.0
拉取tomcat镜像
12docker pull tomcat # 默认下载最新版本docker pull tomcat:8 # 下载tomcat8版本(指定版本)
查看镜像
123456[root@alibaba-linux home]# docker imagesEmulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.REPOSITORY TAG IMAGE ID CREATED SIZElocalhost/local- ...
Spring注册Bean对象的几种方式
一、xml配置文件形式#
1234package org.example.pojo;// 只是一个普通的Java类public class User {}
12345678<!-- bean.xml --><?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 注册到IOC容器中, 注册为bean对象 ...