本站浏览须知
浏览须知
本站源站 IP 可能在香港/新加坡/德国/美国,所以推荐使用科学上网浏览本站,提高访问速度和稳定性。
推荐使用 PC 端/Pad 端等大屏设备浏览,以获得最佳阅读体验。
本站所有文章均为原创,不代表本站立场。
本站所有文章仅代表作者个人观点,不代表本站立场。
本站所有文章仅供学习交流,不得用于商业用途。
本站所有文章仅供个人学习交流,不得转载或用于任何商业用途。
隐私政策:
尊敬的用户:
感谢您访问我们的网站。我们非常重视您的隐私保护和个人信息安全。请在使用我们的服务之前仔细阅读本隐私政策,以了解我们收集、使用、存储和保护您的个人信息的方式。
信息收集与使用:
我们可能会收集您的部分个人信息,包括但不限于您的IP地址、浏览器类型、操作系统、访问时间、访问页面等信息,以优化网站性能并提供更好的服务。我们承诺不会将您的个人信息用于任何其他目的,也不会与任何第三方共享,除非经过您的明确授权或法律要求。
Cookie和数据分析:
我们可能会使用Cookie技术和第三方数据分析工具,来收集和分析用户的行为数据,以改善用户体验和网站服务质量。这些数据将被用于统 ...
汇编语言与逆向工程实验报告12
VM 指令:0 1 dup 11 == 17 9 if jmp swap over + swap 1 + 2 jmp swap print
地址
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
指令
0
1
dup
11
==
17
9
if
jmp
swap
over
+
swap
1
+
2
jmp
swap
print
解释:
压栈 0 1
dup 复制栈顶元素
11 == 比较栈顶元素是否等于 11
17 9 if 若栈顶元素等于 11,则跳转到第 17 行指令;否则跳转到第 9 行指令
jmp 无条件跳转
swap 交换栈顶两个元素
over 复制栈顶元素的上一个元素
+ 相加栈顶两个元素
swap 交换栈顶两个元素
1 + 加 1
2 jmp 无条件跳转
print 输出栈顶元素
最终输出:55
记一次不一样的UPX脱壳
记一次不一样的 UPX 脱壳
前言
今天早上打 LitCTF 的时候有个 hello_upx 题,一开始以为只是简单的工具脱壳,没想到 upx -d 没成功,报错 upx: hello_upx.exe: CantUnpackException: file is possibly modified/hacked/protected; take care!
然后就搜了一下这个报错,找到了这篇文章:记一次没遇到过的 UPX 脱壳
长知识了,原因是 UPX 加壳的文件被修改了,导致无法正常脱壳
脱壳过程
一开始脱壳失败,经过查资料发现解法
拉进 winhex 发现文件被修改
正常的文件应该是大写的UPX
修改之后保存文件
再用工具upx -d 脱壳即可
解密
分析可得,flag 就是 v4+i
EXP:
12345v4 = "Lhr@PAup+cY%aXQe NZ\x1E`N^Oe"v5 = ""for i in range(0, 25): v5 += chr(ord(v4[i]) + i)print(v5)
操作系统实验6——信号量的实现与应用
解压环境
创建并编辑 pc.c
创建并编辑 sem.h
创建并编辑 sem.c
编辑 unistd.h
编辑 system_call.s
编辑 sys.h
编辑 makefile
后续操作
cp 命令 | 复制操作
编译
运行
编译
挂载
操作系统实验5——基于内核栈切换的进程切换
解压环境
编辑 kernel/sched.c
编辑 include/linux/sched.c
编辑 kernel/system_call.s
编辑 include/linux/sched.h
编辑 kernel/sched.c
编辑 kernel/system_call.s
编辑 kernel/fork.c
编辑 kernel/system_call.s
编辑 kernel/system_call.s
编辑 kernel/fork.c
编译
运行
汇编语言与逆向工程实验报告11
查壳
是 upx 工具的壳
手动脱壳
OD 打开
定位到 PUSHAD
ESP 定律,下个断点
找到 POPAD,找到入口点 OEP
Dump 出 exe 文件
修补 IAT 表
成功脱壳
工具脱壳
工具:UPX
可以使用 upx -d xxx.exe 直接脱壳
反汇编
找到关键函数
分析可得 flag: HappyNewYear!
汇编语言与逆向工程实验报告10
搭建实验环境
安装 nasm 和 r2
1sudo apt install nasm
123git clone https://github.com/radareorg/radare2.gitcd radare2sys/install.sh
实验内容
然后建立 zero.asm 文件。将编译好的程序输入
对文件进行编译
通过 r2 看到对应的汇编指令和二进制指令
新建一个 pack.asm 文件,对刚刚的程序进行加壳操作将二进制指令加密。
新建 pack_zero.asm 文件对刚刚加壳的程序进行脱壳,得到原始二进制指令。
对文件进行编译。输入./pack_zero 111 脱壳成功。
Mbps,Mb/s, MB/s的区别
为了搞懂这几个单位之间的区别,我们首先需要弄懂这其中的最重要的 B 与 b 分别代表了什么
b,通常为 bit 的简称,中文为比特,计算机存储传输中的最小单位
B,通常为 Byte 的简称,中文为字节,其中 1Byte=8bit
其中,bit 这个单位太小了,通常只在数据通信形容带宽时出现
单位转换
1 Byte = 8 bit
1 KB = 1024 B (KB, KiloByte)
1MB = 1024 KB (MB, MegaByte)
1 GB = 1024 MB (GB, GigaByte)
1 TB = 1024 GB (TB, TeraByte)
这些单位通常用来指代某个文件大小,或者说存储设备的存储容量
以上通常用来指代存储大小,而如果形容传输速度或者下载速度的话
那么,很明显我们还需要结合时间单位 s,秒
加上了秒,我们就可以得到更加丰富的单位
Mbps, Megabits per second,兆比特每秒
Mb/s, Megabits per second,兆比特每秒
MB/s, MegaByte per second, 兆字节每秒
值得注意的是,在描述计算机网络传 ...
操作系统实验4——步骤进程运行轨迹的跟踪与统计
挂载
上传process.c
修改main.c
修改printk.c
修改fork.c
修改sched.c
修改exit.c
启动挂载
执行make all
运行
编译process
编辑Python脚本
这里什么也没有
5bb2d19671370e6d0a648364fe5f3156ca80a1cc9c57643d2cf379261bd4fdfdc8eae74cba51b02d5bdcff9f4438cd44b4a7bf73561ef6dad32da320abba877373daf8ff66d66ae68223c06475bf732c120ccafcca4076ee3c0fc8337394a5dbed9e60b074e3bfd2c73e98253498c29e97cf10598b4c622bed33a11374f34f71c7a6f3411f11f37e9dcf584d01c8601ec418e078ee6f52074f3b64e2cbc74221385bf7d03cd912b7415e5199c474160b3598f6342beb856dbcf40470ae23d4dd8e5df28b47a23c1a6902df9bfdad215e113bf1bef5eb77b94b31fc9170c209c5ca479e47c5ac7debc23b4be42a236431d9020db60fd8346b3 ...
网络安全实验报告7——慢 DDos 拒绝服务攻击
安装 Java 环境
下载 Java
验证 Java 环境是否安装成功:
配置环境变量
安装 Tomcat
提权
环境变量
新建系统变量
验证 javac
启动 Tomcat
靶机安装 MySQL
安装
安装成功,启动数据库
Navicat 安装、激活及连接
安装
激活 Navicat
打开桌面的 Navicat,连接数据库,密码是 123456
确认连接
新建数据库
目录部署
运行 SQL 文件
重启 Tomcat
下载安装 AWVS
安装完成
运行激活软件
AWVS 登录
进行许可证激活
输入命令
以管理员身份运行 cmd,输入以下命令
cacls“C:\AWVS\shared\license\license_info.json” /t /p everyone:r
cacls “C:\ProgramData\Acunetix\shared\license\wa_data.dat” /t /p everyone:r
成功登录
打开 Acunetix,添加目标
查看本机地址
添加目标
开始扫描
扫描结果出 ...
A replacement method for inaccurate date display in Mkdocs-material
There is another Chinese translation for this article:https://blog.w1ndys.top/posts/512a6b20
Note:A more efficient approach:https://github.com/squidfunk/mkdocs-material/discussions/7135#discussioncomment-9277842
Question background.
After a deployment to Vercel, the date display was found to be inaccurate.
I asked the community for help, details can be seen: https://github.com/squidfunk/mkdocs-material/discussions/6924/, finally found that Vercel does not support this operation, so after two wee ...
关于Mkdocs-material日期显示不准确的一种平替方法
本文另有英文版:https://blog.w1ndys.top/posts/fa88f28c
注意:更高效的方法:https://github.com/squidfunk/mkdocs-material/discussions/7135#discussioncomment-9277842
问题背景
在一次部署到 Vercel 之后,发现日期显示不准确。我向社区求助,详情可见:https://github.com/squidfunk/mkdocs-material/discussions/6924/,最后发现是 Vercel 并不支持此操作,于是我经过长达两周的测试,找到了一种平替的解决方案
具体思路就是在每一个 Markdown 文件底部添加一个时间信息的文本,使用 Python 脚本+自动化工作流实现自动更新日期。
本方案适合:
部署到 Vercel 平台的 material 站点
文档仓库使用 GitHub
文档仓库的提交记录与文档内容同步
解决方案
Python 脚本
123456789101112131415161718192021222324252627282930313 ...