自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

宇丁加

加丁宇

  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 2023寄语

研究生期间准备入手WebKit的安全方向,感觉原地待了好长时间,心情有点低落,确实要输出点东西来给自己一点信心。由于目前主要看JSC,所以关于JavaScript这方面可以空闲时间看看。单纯地看C++源码还是不太容易进入,打算可以先从外部进入。虽然资料较少,还是尽力挖掘吧。

2023-04-17 00:02:05 114

原创 ubuntu16 无法复制的问题

ubuntu 16 安装vmware tools也无法复制,针对该问题结合网上给出的方法实践,本人测试得出的有效方法

2022-07-26 20:48:36 299

原创 回文(先实现再说效率

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>typedef struct mys{ int maxlen; int low; int high;}mys;int isHuiwen(char* s,int forward,int backward) { int i, j; //统计.

2022-03-22 22:35:55 147

原创 JavaWeb 实验一:HttpServletRequest

公司的老师,给出的实验代码,很多都是一搜知道怎么用但是记不住,在此记录每个实验的关键点。我们在创建servlet时 会有 doPost 和 doGet函数 ,两个函数的参数 一个是request,另一个是response关于request 用到的函数String getParameter(String name):通过指定名称获取参数值;public void setAttribute(java.lang.String name,java.lang.Object o);向请求加入一个键值,

2022-02-23 22:55:49 1106

原创 const关键字、引用和指针

#include<iostream>using namespace std;int main() { //引用相当于一个常量指针,值得注意的就是 在创建的时候必须初始化 再更改就是重新赋值了 int a = 10; int& b = a;//创建一个引用,相当于一个别名 int c = 100; cout << "a=" << a << endl; cout << "b=" << b <<.

2022-01-24 00:29:51 86

原创 关于Java POI 操控Excel的染色问题

之前对cell染色的时候,总会发现染到一定数量时再也染不上色。网上大多数博客是给出了染色步骤,如果按照那样做很容易直接陷入误区,因为我们染cell的数量可能很多。这里直接给出错误点,我们很容易每染一个cell都会create 一个style,错误点就在此,此处的style是指工作簿的style,这个是有限制的。解决办法:只需创建一个style,然后染色直接用style即可,不要每染一个cell都去为工作簿创建一个style代码待补充......

2022-01-15 11:21:45 218

原创 2021-7-4-snprintf和不用第三个变量来交换值

snprintf函数函数原型:int snprintf(char* dest_str,size_t size,const char* format,...);所需头文件:<stdio.h>第一个参数可以是缓冲区,即目的地址第二个参数就是大小了,最多能写进缓冲区的字节数可以防止溢出第三个参数可以是带有格式的字符串犹如"asdasd%d%c"等等和printf一样第四部分及后就是接着上面的printf,为格式符 赋值。getc所需头文件:stdioint ge

2021-07-04 09:49:41 95

原创 DES加密与解密代码

置换矩阵的头文件//首先来一个置换缩减密钥长度char PC_1[] = {57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4 };char PC_2[] = { 14,17,11,24,1,5,3,28,15,6

2021-07-04 09:25:53 949

原创 MD5代码

#include<math.h>#include<stdio.h>#include<stdlib.h>#include<string.h>char* padding_(char* str, unsigned int* b_len) { unsigned int len = (*b_len) * 8;//Get the number of bits. unsigned long long len_b = len; unsigned int tem.

2021-07-04 09:22:56 78

原创 MD4 and NTLM 代码

//padding//要注意大小端的问题//保持比特流顺序#include<string.h>#include<stdlib.h>#include<stdio.h>char* padding(char* str,unsigned int *b_len) { unsigned int len = (*b_len)*8;//Get the number of bits. unsigned long long len_b = len; unsigned i.

2021-07-04 09:22:14 184

原创 DES原理及C语言实现

初始置换--->进行运算(下面单独)--->初始逆置换----->密文运算中涉及到:子密钥、F函数下面逐渐细说二、细节分析子密钥的生成64位密钥变成56位64密钥经过一个矩阵PC-1进行筛选得到有效56位密钥分为左右两部分左边28比特和右边28比特生成子密钥首先对左右两部分根据轮数循环左移相应的位数然后将移位后的左右两部分进行合并成56位,再经过PC-2的置换选择得到48位子密钥至此,一轮的子密钥的已经生成,下一轮的密钥生成就是利

2021-06-23 19:55:21 990

原创 MD5和C语言实现

前面已经分析过MD4算法,MD5是MD4的升级版,比其更安全,所以大致流程都一样,但是还有一些区别。现在说明有哪些不同。目录1.大循环不同2.小循环不同3.由三个函数FGH变为四个函数FGHI4.详细算法四个函数FGHI四大轮第一轮第二轮第三轮第四轮留言1.大循环不同首先就是大循环处,MD4是三轮,到MD5是4轮2.小循环不同每个大轮中的小循环次数是不变的,都是16轮,但是其中的函数变化了,并且多了一个变化的常数,这个常数是abs(sin(i)

2021-06-23 19:08:33 127

原创 MD4、NTLM

先介绍下MD4算法然后再看NTLM目录MD4补位512比特经历了什么NTLM留言MD4补位补的内容:首先是一个1,其余都是0补的数量:使得补后的比特长度和 448 模512同余。剩下的64比特:再补上之前输入串的比特流长度放入剩下的64比特中。至此补位后的比特长度恰好能够分成若干组,每组的比特流都是512比特。512比特经历了什么上面以512比特为一组,分好后,就可以进行相关运算了。512=32*161.首先总体上是三大轮:输入----&g

2021-06-23 00:01:11 368

原创 编译原理-语法分析-LR系列

前面说过了LLR(1)分析,它是自顶向下分析的,也就是推导。下面就说LR系列的,它是自底向上分析的,也就是规约。

2021-06-20 11:49:24 2122 1

原创 编译原理-语法制导翻译、后缀表达式、三元、四元

此时的每条规则后面会对应一条语义动作,即制导翻译。一、中间语言中间语言就是和源程序等价的一种编码方式,复杂性也是介于源程序和机器语言中间。

2021-06-19 21:01:53 5515

原创 相似矩阵及二次型

向量的内积和解析几何下的向量在坐标系中的向量的数量积一样。一、正交就是两个向量积[x,y]=0时称x,y正交。可见零向量和任何向量都正交。二、正交向量组

2021-06-12 00:42:44 3291

原创 向量组的线性相关性

n维列向量和n维行向量,分别是竖着的和横着的。aT=(a1,a2,a3,......,an) 横着的是行向量;a

2021-06-06 13:22:30 30808 2

原创 编译原理-First集-Follow集-LL(1)分析法、,详细步骤解析例子

在语法分析的开始,LLR(1)是一个 从左到右 自上而下分析 的思路较为简单的算法。但是细节上仍然可能会存在一些问题。shou

2021-06-05 17:16:16 3371

原创 汇编rep movsb,rep stosb,repne scasb

rep是循环的 意思,循环的次数由ecx决定movsb 是用于字符串传送的,由ds:[si]送到es:[di].stosb 将al中的值送到es:[di]处scasb是 用于扫描字符串的,repe(repeat equal就是如果比较两个字符相等则进行rep), repne(repeat not equal两个字符不等的时候则rep) (AL)和es:[di]比较分一下 上面的汇编语句。lea edi, [esp+4Ch+var_3A]//edi存着地址mov ...

2020-07-07 21:50:24 4679

原创 UPX手动脱壳

就是一道逆向的简单脱壳题, 由UPX加的壳。然后就要进行脱壳, 想着手动脱壳 熟悉一下UPX加壳的原理。首先UPX加壳就是压缩原程序的大小。UPX加壳就是在 原程序头部或者 其他地方插入一段代码,这段代码是用来解析后面被加密的代码(这种加密使原来的代码量变小)。1是插入的代码,234是 被加密的代码,56是其他1 2 3 4 5 6 1 7 8 9 5 6 789是原代码。在程序执行时,通过1处的代码对后面的代码进...

2020-07-07 20:40:25 268

原创 Base64编码【C语言】

密码学课程结束了,想着尽可能的 把每种加密算法都能用代码 实现以下。今天的是base64编码是比较简单的。1.首先就是将字符串分组,按位进行分,每6位一组;不足6位的补上0.2.然后分别将6位 变成字节的 形式,就是在每6位的前面加上 两个0凑够8位。3.然后在一个列表中根据这个值作为 索引找到编码后的字符。Q:整体上是输入的字符串3个字节一组,然后根据位,每6位 代表一个字符,然后转换成 字节,变成编码后的4个字节一组。 如果不能恰好按照3个字节转换成 编码后的4个字节, 就要在编码后

2020-07-04 14:26:59 362

原创 根据Excel表格里的名字在高德地图上查找相应的地址

现在需要高中的地址。高中是用Excel表格存着的,名字统一在第一列,可以有多个表格。利用高德地图自动查询并存储当时学了一些selenium的使用和对Excel的操作 然后写了一下:合理使用,当时可能 搜索的过于频繁,网页会出验证,然后只能就会退出重进重新访问。from selenium import webdriverfrom selenium.webdriver import ActionChainsimport xlrdimport xlwtfrom selenium...

2020-07-02 23:17:40 1508

原创 PE文件解析器

暂时先将代码贴出来。关于基础的知识,后续发。/******************************这是逆向课程中老师讲过PE结构的一个实验,老师让参考博客的源码。但是我想着,好好熟悉一下,自己动手跟着博客的思路自己写下。环境VS2010******************************/#include<stdio.h>#include<stdlib.h>#include<Windows.h>//#include"pe.h"

2020-06-29 12:30:56 1067

原创 二叉平衡树的理解

二叉平衡树就是在二叉搜索树的基础上进行了 优化二叉平衡树: 空二叉搜索树或者根的左右子树 高度之差绝对值 不超过1;左、右均是 二叉平衡树二叉树结点的平衡因子:结点的左右子树的高度差感觉二叉 平衡树主要内容就在于平衡调整上面在我们插入新的元素后可能会导致原来的二叉平衡树不再平衡,此时我们只需从新插入结点到根节点的方向找到最小二叉平衡树 将其调整为 平衡即可。可以分为单一型和混合型。单一 型:LL或RR混合型:LR或RL从最小不平衡的子树的根节点(平衡因子绝对值大于1)到新插入

2020-06-25 15:54:26 144

原创 二叉搜索树的理解

二叉搜索树:任意两个节点的关键字值不同;若左子树、右子树不空,左子树键值<根节点键值< 右节点键值;左右子树也分别是 二叉搜索树。性质:以中序遍历二叉 搜索树,那么将会得到一个递增的序列。...

2020-06-25 15:12:20 182

PE结构笔记,把经常用到的梳理一下

自己写的PE笔记,把经常用到的一些结构和元素梳理了一下,可能会有不足之处,也请大家进行实时补充。适合小白看

2020-08-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除