12 2023 档案
摘要:1.分析 mprotect(&dword_400000, 0xF000uLL, 7); 在这段代码中,mprotect 是一个 Unix/Linux 系统调用,用于更改一个进程地址空间中某个区域的保护属性。 &dword_400000:这是要更改保护属性区域的起始地址。 0xF000uLL:这指定了
阅读全文
摘要:1.UPX 010修改特征码后 脱壳 2.分析 ida python导出数据和后 写脚本爆破即可 注意 task()中的HIDWORD在我们写脚本是没意义的,它只是手动修改防止溢出而已 导出C数据脚本 import ida_bytes start_addr = 0x405020 end_addr =
阅读全文
摘要:RC简介 在密码学中,RC4(来自Rivest Cipher 4的缩写)是一种流加密算法,密钥长度可变。它加解密使用相同的密钥,因此也属于对称加密算法。RC4是有线等效加密(WEP)中采用的加密算法,也曾经是TLS可采用的算法之一。 特点 RC4由伪随机数生成器和异或运算组成。RC4的密钥长度可变,
阅读全文
摘要:def tea_encrypt(v, k): # TEA加密 delta = 0x9e3779b9 sum = 0 v0, v1 = v[0], v[1] for _ in range(32): sum += delta v0 += ((v1 << 4) + k[0]) ^ (v1 + sum) ^
阅读全文
摘要:第二章-02-Linux命令基础 第二章-03-ls命令入门 第二章-04-ls参数和选项 第二章-05-cd pwd命令
阅读全文
摘要:#include<iostream> #include<cstring> #include<algorithm> using namespace std; const int N=510,M=100010; int h[N],e[M],ne[M],w[M],idx; int state[N]; in
阅读全文
摘要:#include<iostream> #include<algorithm> #include<cstring> #include<queue> using namespace std; const int N=1e5+10; int e[N],ne[N],h[N],idx; int d[N],n,
阅读全文
摘要:#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<queue> using namespace std; const int N=1e6+10; int n,m; int h[N],e
阅读全文
摘要:#include<iostream> #include<cstring> #include<algorithm> using namespace std; int n; const int N=2e6+10; int ne[N*2]; int h[N]; int e[N]; int idx; int
阅读全文
摘要:设置IP方法: 当是直接在这里修改函数名的 这里用设置IP的方法 拓展一下知识 在此下断点 运行到这里 如上设置IP 运行得到flag 还有一种方法是: 慢慢跟getflag函数的伪代码,本质上是函数嵌套,可以慢慢跟。 另外: 为什么直接改了会崩溃,这是因为printf后面的参数传少了"%d",导致
阅读全文
摘要:1.逻辑分析 这是什么加密 不知道0.0 看看findcrypt插件 发现是这种加密方式 和题目名字相对应 而这里数组[4]中存储着我们的key 也就是这个 后面我们发现是Blowfish ECB加密算法 接下来我们是可以写脚本了 2.开始解密 先用C++得出第一步的数据 后面不写了 待研究 这是p
阅读全文
摘要:1.分析还原逻辑 这是一道需要nc的RE远程题,但是也给了我们文件进行分析 这是我么进去后的main,进introduce()和work()看看 这里的介绍告诉我们这个地图明显就是一个动态的地图,没走一步变一次 我们nc也是知道的 这个work()函数里面则是我们重点要分析的 move()里面看看
阅读全文
摘要:1.分析题目 这个文件是sb3后缀 非常得奇怪 拖到如下看看发现zip? 解压后得到这三个文件? Open all types of files through your browser (openfiles.online)在网上查找相关资料后发现这个网站 把json文件拖到这里面看看 这里有一些我
阅读全文
摘要:AcWing 844. 走迷宫 #include<iostream> #include<cstring> #include<queue> using namespace std; const int N=110; typedef pair<int,int> PII; int n,m; int g[N
阅读全文
摘要:序列(上) 可变序列和不可变序列: 列表、元组、字符串都统称为序列 根据是否能被修改这一特征可以将序列分为可变序列和不可变序列,比如说列表就是一个典型的可变序列,而元组和字符串则是不可变序列 发现他们是同一个对象? 在python中每一个对象都有三个基本属性,第一个是唯一标识,第二第三个是类型和值。
阅读全文
摘要:1.切片操作 列表的基本正序和倒序在python中切片操作的详细用法 - wakappxc - 博客园 (cnblogs.com)中有解释 2.一些方法 append方法: a=["w","s"] a.append("d") print(a) #输出 ['w', 's', 'd'] extend方法
阅读全文
摘要:在8086CPU中,字型(word)和字节型(byte)的主要区别在于它们的大小和存储方式。 字型数据是2个字节(16位)的数据,可以处理128到127之间的数。字节型数据是1个字节(8位)的数据,可以处理0到255之间的数。 举例来说,如果有一个字型数据1234H,那么它会在内存中由两个连续的地址
阅读全文
摘要:AcWing 775. 倒排单词 s = input().split(' ') s.reverse() s = ' '.join(s) print(s) s = input().split(' '): 这一行代码首先使用input()函数获取用户的输入,然后通过split(' ')方法将输入的字符串
阅读全文
摘要:在Python中,range() 是一个内置函数,用于生成一个包含等差数列的可迭代对象。range() 函数有三种不同的用法: range(stop): 生成一个从 0 开始到 stop-1 结束的整数序列。 例如:range(5) 生成的序列是 0, 1, 2, 3, 4。 for i in ra
阅读全文