摘要:
目录Burp Suite是什么?HTTP/HTTPS协议内容简要划分插件的调用原理介绍Burp Suite的API的简要划分开发流程简介案例1 —— 对HTTP\HTTPS数据流处理案例2 —— 高亮、新标签界面 功能实现高亮非常简单新标签界面插件的断点调试UI界面Reference Burp Su 阅读全文
摘要:
目录1. 基本概念2. 主要组成部分3. 代码示例1. 元素和操作2. 示例定义元素接口实现具体元素定义访客接口实现具体访客使用示例3. 总结4. 访客模式的优势 访客模式(Visitor Pattern)是一种行为设计模式,主要用于分离算法和对象结构。它允许你在不改变对象结构的情况下,增加新的操作 阅读全文
摘要:
目录It can explain what ?How explain ?Grammar ConceptSentenceSyntax Tree终结符和非终结符解释器模式的思想解决的问题要解释的内容举个例子Key ElementsExample —— 公交车身份识别系统Interpreter Examp 阅读全文
摘要:
网上查到的设计模式有23种,通过归纳去认识他们也是一种不错的视角。 我这边不按照主流的观点去划分为创建型、结构型、行为型三大类 其实程序设计模式里,大多数的考虑初衷都是为了面向未来未知情况,在当前就先规划做好扩展方式,方便能让未来使用者使用方便的代码结构。 也有能节省资源的设计模式、方便解耦的设计模 阅读全文
摘要:
Mediator Pattern 就类似现实生活中的中介(中间人),房屋中介、媒婆中介、权利寻租中介... ,现实中为什么需要中介,在现实中的原因主要是两个 一为了保护双方当事人的安全,只要中介人不泄密,他们双方就可以秘密的把交易完成,并且双方都是安全的。二是买卖双方并不信任双方,但是他们都共同的信 阅读全文
摘要:
目录What is Bridge PatternExample What is Bridge Pattern 桥接模式(Bridge Pattern),旨在将抽象部分和实现部分解耦,使它们可以独立地变化。 该模式通过将抽象和实现分离,使它们可以独立地进行扩展和修改,同时通过桥接(Bridge)将它们 阅读全文
摘要:
目录Hook MethodWhat is TemplateCompare between Template and BuilderKey ElementsSimple Example Hook Method 钩子方法(Hook Method)之所以被称为“钩子”,是因为它在算法或流程中提供了一个“钩 阅读全文
摘要:
目录核心思想工作原理适用场景优点缺点What is Flyweight PatternComparison between prototype and FlyweightKey ElementsExample 1Example 2 享元模式在主流的标准里是放到结构大类下的,但我感觉这个模式的最终作用 阅读全文
摘要:
目录六大设计原则 + 合成复用原则依赖倒置原则(依赖抽象接口,而不是具体对象)单一职责原则(类、接口、方法)开闭原则 (扩展开放,修改关闭)里氏替换原则(基类和子类之间的关系)接口隔离原则(接口按照功能细分)最少知道原则 (类与类之间的亲疏关系)合成复用原则(Composite Reuse Prin 阅读全文
摘要:
目录CoreKey elementsExample of House building Core 建造者模式又称为生成器模式,主要用于对复杂对象的构建、初始化,它可以将多个简单的组件对象按顺序一步步组装起来,最终构建成一个复杂的成品对象。 与工厂系列模式不同的是,建造者模式的主要目的在于把烦琐的构建 阅读全文
摘要:
目录Oberver DefineExample Oberver Define Observer Patterns 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。 核心思想 发布-订阅机制:对象之间的解耦。 动态更新:观察者可以在运行时添加或 阅读全文
摘要:
目录核心思想组件类型工作原理适用场景优点缺点示例应用场景What is Composite Pattern关键要素Example —— 读取文件夹和文件Example —— 统计城市人口数 组合模式是一种结构型设计模式,用于将对象组合成树形结构以表示“部分-整体”的层次结构。它让客户端可以统一对待单 阅读全文
摘要:
目录Background knowledgeWhat is Prototype PatternKey elementsExample of Draw shape —— shallow cloneReference Background knowledge 在Java中,Cloneable 接口是一个 阅读全文
摘要:
目录What is Factory Pattern?三种工厂模式的识别工厂模式和抽象工厂模式的关系Simple Factory PatternFactory Method PatternAbstract Factory Pattern 工厂模式定义: 工厂模式是一种创建型设计模式,它提供了一种将对象 阅读全文
摘要:
目录单例设计模式的需求场景GuideWhat is singleton 单例应该是一个入门的设计模式了。 先来复习一下Java原生的语法创建一个对象的语法: // 创建一个 Book 对象 Obj obj = new Obj(); 在 Java 中,使用 new Obj() 创建对象是常见的做法,但 阅读全文
摘要:
> Interface is a broad concept, So to understand it please use multiple perspectives. 中文日:君子不器。 # Vision One —— Program design 接口是类的一种扩展,可以以一种居高临下的视野去 阅读全文
摘要:
目录Core集合的表示集合的三特性元素与集合的关系集合间的关系集合间的运算总结Reference 集合(Set)就是一种用来装事物的容器(或者称为结构),它所装的东西叫元素(Element)。集合这个容器的逻辑性很强,可以说是现在比较严谨的工具,不熟悉逻辑符号和逻辑思想的话,可以先去了解一下。 集合 阅读全文
摘要:
# The difference beteen two way 总所周知,Java实现多线程有两种方式,分别是继承Thread类和实现Runable接口,那么它们的区别是什么? **继承 Thread 类:** 通过继承 Thread 类,你可以创建一个直接表示线程的类。你可以覆盖 Thread 类 阅读全文
摘要:
如果只看代码的话,应该可以说Facade pattern(门面设计模式,也可以叫前台接待模式)是一种最简单的代码结构,不就封装吗!这玩意谁不会! 还是看它背后所蕴含的思想吧,看了之后发现背后的思想也很简单,非常好理解。 - -。 Think Encapsulation: 在物理世界中,从古代的弹药到 阅读全文
摘要:
目录Strategy Pattern and State PatternStrategy Pattern and PolymorphismWhat is Strategy Pattern and State PatternKey ElementsStrategy Pattern VS State P 阅读全文
摘要:
# What is Polymorphism 这个多态看中文确实有点费解,多态的英文是Polymorphism,它的翻译含义是: n. 多态性 (可以看出是比较宽泛的) n. 多型现象 从翻译也看不出啥, 我举一个生活中的例子来引入多态: 生活中有很多常见的物体具有多态性。例如,一张纸可以用来写字、 阅读全文
摘要:
目录Include ExampleWhat is CallbackThe difference between Callback function and Event functionUnderstanding callbacks from an assembly language perspect 阅读全文
摘要:
The difference about digital certificates. Firefox See the alarm info. Summary: Mozilla Company manage some open CA lib。该(CA)存储库帮助确保这些数字证书认证机构遵循最佳实践,以 阅读全文
摘要:
什么是JS-Forward? 不了解的同学,可以先看看JS-Forward的Github仓库介绍,https://github.com/G-Security-Team/JS-Forward JS-Forward是一款可以配合类似Burp Suite等抓包软件的脚本,脚本的功能是可以将js里面的参数通 阅读全文
摘要:
Description A bank webside , I can caught the https flows when to use fiddle ; And I caught fail of the https flows when to use mitmproxy , Status Cod 阅读全文
摘要:
目录ReferenceStep of windowsFirefoxChrome 一款支持手机端抓包的工具:mitmproxy中间人代理工具。 Mitmproxy是一个基于python的中间人代理的框架。它的功能强大,使用简单。支持SSL的HTTP中间人代理工具,它允许你检查HTTP和HTTPS流量并 阅读全文
摘要:
What is Matrix? What is Vector ? 在数学里,用有序的数字列表来描述的对象被称为向量(vector),有一个领域专门研究它,称为线性代数。例如,一辆二手车可能对应的是一个四维向量,也就是一个包含四个数的元组。 例如: (2015, 41429, 22.27, 16980 阅读全文
摘要:
目录What is Counting Principle应用时需要注意应用场景 —— 程序测试Reference What is Counting Principle 计数原理涉及到计算和统计对象的数量,而不需要列举出每个对象。 计数原理包括两个基本原则: 乘法原理 加法原理 乘法原理(乘法法则): 阅读全文
摘要:
目录SummaryReferenceOnline ToolCracking the Safe!计算比赛前三名有多少种排列方式?Can you win the lottery?How make a pill?Think Summary 如果你遇到的问题,自己不确定是排列还是组合,但确定想求出摆放的全部 阅读全文
摘要:
监管合规 Camille - App隐私合规检测辅助工具 https://github.com/zhengjim/camille ApplicationScanner - App等保的预检测工具 https://www.freebuf.com/sectool/270360.html https:// 阅读全文
摘要:
# What is static and dynamic libraries 他们有什么相同点吗? 都是库文件。对于调用库文件的使用者来说,不管是静态库还是动态库,调用的方式都是一样的,没什么区别。 # Differences between static and dynamic libraries 阅读全文
摘要:
Introduce 之前在虚拟机、远程的服务器,如果因为一些硬性限制,但又想传输的文件的时候,没有太好的办法的时候,系统如果默认安装了Python3,可以使用python自带的server服务来进行文件传输, // python 2.X temp$ python -m SimpleHTTPServe 阅读全文
摘要:
Why need the UDS Service 0x10? ECU在正常工作时会处于某一个会话模式下,上电后会自动进入默认会话模式,所以ECU启动后我们不需要输入0x10 01来进入该会话模式。ECU的不同会话模式间存在一定的状态转换关系规则(特定逻辑)。 初次接触UDS的话,可能不太理解这个0x 阅读全文
摘要:
# Whay need the CMake? 如果只是构建一个只有一个main.cpp的小型项目,那么确实不需要CMake, 直接GCC、G++编译,或者写个build.sh脚本即可, 不需要把简单的问题搞复杂化。 ``` $ g++ main.cpp -o cmake_hello ``` 但是如果 阅读全文
摘要:
step frist add Makefile Target second add CMake Application reference https://blog.csdn.net/m0_53820941/article/details/127543871 阅读全文
摘要:
目录Ed25519的特点Ed25519与RSA和DSA算法的主要区别Generate Key、SignVerifyEd25519常用场景和趋势 Ed25519就是用来代替RSA、DSA的。 它如何做到替代旧的算法?它的优势是什么? Ed25519的特点 Ed25519是一种现代的公钥签名算法。它具有 阅读全文
摘要:
Mode 1 cmake_minimum_required(VERSION 3.19) project(test_sha_aes) set(CMAKE_CXX_STANDARD 14) add_executable(main main.cpp sha/sha2.c aes/aes.c aes/aes 阅读全文
摘要:
# Problem description ```C unsigned char key[16] = {0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01}; u 阅读全文
摘要:
# Lead into 指针其实跟一些运算符的表达式类似(例如i++,i--),它通过符号隐藏了内部的计算过程,只要学习者逐步的分解开,就很容易理解了。学习指针的时候,尽量想象底层硬件的工作方式,也能有助理解。 为什么会觉得指针难? 因为指针在现在的高级语言上基本不使用了,不使用的东西就会觉得很遥远 阅读全文
摘要:
Convention 口 = 1 Byte,用于具象化,方便眼睛对比长度; void = 空类型; C语言中,short、long、singned、unsigned都为说明符,可以改变标识符存储大小; C语言中,在声明整型变量时,如果声明中已经有一个其他的(同等)说明符,那么关键字int可以省略; 阅读全文