python
芳芳超人爱学习
这个作者很懒,什么都没留下…
展开
-
【c调用python时PyImport_ImportModule生成的pModule为空】
c调用python时PyImport_ImportModule生成的pModule为空原创 2022-11-26 14:56:02 · 548 阅读 · 1 评论 -
IDAPython实现Halstead复杂度
官方文档:IDAPython documentation1 直接执行在ida界面,使用"shift+F2"打开编程界面,Scripting language选择"python",将下述代码放入右侧空白的编程区中代码如下from idaapi import *import idcimport osfuncs=[xx1,xx2] #xx为想要计算的函数,如funcs=['main'] total_halstead=0for func_name in funcs: #获取函数开始地址原创 2022-05-19 16:48:20 · 170 阅读 · 0 评论 -
Angr安装与使用之使用篇(十八)
针对angr提供的练习题,现在进行求解16_angr_arbitrary_write,它也是关于hook输入的问题,需要使用angr求解出正确密码。但是需要提供排除地址以减少路径求解时间。具体代码如下所示import angrimport claripyimport sysdef main(argv): path_to_binary = argv[1] project = angr.Project(path_to_binary) initial_state = project.fa原创 2021-12-23 14:52:22 · 1171 阅读 · 0 评论 -
Angr安装与使用之使用篇(十六)
针对angr提供的17道练习题,现在进行求解15_angr_arbitrary_read,它也是关于hook输入的问题,需要使用angr求解出正确密码。但是需要提供排除地址以减少路径求解时间。具体代码如下所示import angrimport claripyimport sysdef main(argv): path_to_binary = argv[1] project = angr.Project(path_to_binary,auto_load_libs=False) ini原创 2021-12-21 18:01:00 · 730 阅读 · 2 评论 -
Angr安装与使用之使用篇(十五)
针对angr提供的17道练习题,现在进行求解14_angr_shared_library,它也是关于外部导入在动态库的问题,需要使用angr求解出正确密码。但是需要提供排除地址以减少路径求解时间。具体代码如下所示import angrimport claripyimport sysdef main(argv): path_to_binary = 'lib14_angr_shared_library.so' #定义基本地址,共享库文件中的地址是基本地址+偏移地址,偏移地址就是文件中的地址原创 2021-12-14 15:40:15 · 600 阅读 · 0 评论 -
Angr安装与使用之使用篇(十四)
针对angr提供的17道练习题,现在进行求解13_angr_static_binary,它也是关于hook输入的问题,需要使用angr求解出正确密码。但是需要提供排除地址以减少路径求解时间。具体代码如下所示import angrimport claripyimport sysdef test(): file='13_angr_static_binary' project=angr.Project(file) initial_state=project.factory.entry_state原创 2021-12-12 21:57:59 · 158 阅读 · 0 评论 -
Angr安装与使用之使用篇(十三)
针对angr提供的17道练习题,现在进行求解12_angr_veritesting,它也是关于hook输入的问题,需要使用angr求解出正确密码。但是需要提供排除地址以减少路径求解时间。具体代码如下所示import angrimport claripyimport sysdef test(): file='12_angr_veritesting' project=angr.Project(file) initial_state=project.factory.entry_state()原创 2021-12-10 20:35:52 · 267 阅读 · 0 评论 -
Angr安装与使用之使用篇(十一)
针对angr提供的17道练习题,现在进行求解10_angr_simprocedures,它是关于Hooking Symbols的问题,需要使用angr求解出正确密码。但是需要提供排除地址以减少路径求解时间。具体代码如下所示import angrimport claripyimport sysdef main(argv): path_to_binary = argv[1] project = angr.Project(path_to_binary) initial_state = p原创 2021-12-01 21:04:06 · 184 阅读 · 0 评论 -
Angr安装与使用之使用篇(十)
针对angr提供的17道练习题,现在进行求解09_angr_hooks,它也是关于hook的问题,需要使用angr求解出正确密码。但是需要提供排除地址以减少路径求解时间。具体代码如下所示import angrimport claripyimport sysdef main(argv): path_to_binary = argv[1] project = angr.Project(path_to_binary) initial_state = project.factory.ent原创 2021-11-17 22:05:57 · 147 阅读 · 0 评论 -
Angr安装与使用之使用篇(九)
针对angr提供的17道练习题,现在进行求解08_angr_constraints,需要使用angr求解出正确密码。但是需要提供排除地址以减少路径求解时间。具体代码如下所示import angrimport claripyimport sysdef main(argv): path_to_binary = argv[1] project = angr.Project(path_to_binary) start_address = 0x8048625 initial_state原创 2021-11-17 21:15:49 · 235 阅读 · 0 评论 -
使用angrutils生成控制流图出错的解决过程
在使用angrutils生成控制流图时出错,它先报FileNotFoundError: [Errno 2] No such file or directory: ‘dot’ : ‘dot’,然后再处理此错误时又引发"dot" not found in path错误,现在记录一下解决错误的过程。1 首先贴出angr源码import angrimport claripyfrom angrutils import *def main(): proj = angr.Project('aa',load_原创 2021-11-17 15:36:40 · 669 阅读 · 0 评论 -
Angr安装与使用之使用篇(八)
针对angr提供的17道练习题,现在进行求解07_angr_symbolic_file,它也是关于符号寄存器的问题,需要使用angr求解出正确密码。但是需要提供排除地址以减少路径求解时间。具体代码如下所示import angrimport claripyimport sysdef main(argv): path_to_binary = argv[1] project = angr.Project(path_to_binary) start_address = 0x80488ea原创 2021-11-16 20:47:11 · 152 阅读 · 0 评论 -
Angr安装与使用之使用篇(七)
针对angr提供的17道练习题,现在进行求解06_angr_symbolic_dynamic_memory,它也是关于符号寄存器的问题,需要使用angr求解出正确密码。但是需要提供排除地址以减少路径求解时间。import angrimport claripyimport sysdef main(argv): path_to_binary = argv[1] project = angr.Project(path_to_binary) start_address = 0x0804869原创 2021-11-15 20:46:39 · 536 阅读 · 0 评论 -
Angr安装与使用之使用篇(六)
针对angr提供的17道练习题,现在进行求解05_angr_symbolic_memory,它也是关于符号寄存器的问题,需要使用angr求解出正确密码。但是需要提供排除地址以减少路径求解时间。import angrimport claripyimport sysdef main(argv): path_to_binary = argv[1] project = angr.Project(path_to_binary) start_address = 0x08048601 init原创 2021-11-14 21:53:18 · 150 阅读 · 0 评论 -
Angr安装与使用之使用篇(五)
针对angr提供的17道练习题,现在进行求解04_angr_symbolic_stack,它也是关于符号寄存器的问题,需要使用angr求解出正确密码。但是需要提供排除地址以减少路径求解时间。参考博客具体代码如下所示import angrimport claripyimport sysdef main(argv): path_to_binary = argv[1] project = angr.Project(path_to_binary) start_address = 0x原创 2021-11-11 22:17:58 · 241 阅读 · 0 评论 -
Angr安装与使用之使用篇(四)
针对angr提供的17道练习题,现在进行求解03_angr_symbolic_registers,它也是关于符号寄存器的问题,需要使用angr求解出正确密码。但是需要提供排除地址以减少路径求解时间。参考博客点这里具体代码如下所示# Angr doesn't currently support reading multiple things with scanf (Ex: # scanf("%u %u).) You will have to tell the simulation engine t原创 2021-10-28 21:43:13 · 122 阅读 · 0 评论 -
Angr安装与使用之使用篇(三)
针对angr提供的17道练习题,现在进行求解02_angr_find_condition,它也是关于输入密码的问题,需要使用angr求解出正确密码。但是需要提供排除地址以减少路径求解时间。参考博客点这里具体代码如下所示import angrimport sysdef main(argv): path_to_binary = argv[1] project = angr.Project(path_to_binary) initial_state = project.factory.原创 2021-10-28 15:10:43 · 142 阅读 · 0 评论 -
Angr安装与使用之使用篇(二)
针对angr提供的17道练习题,现在进行求解01_angr_avoid,它也是关于输入密码的问题,需要使用angr求解出正确密码。但是需要提供排除地址以减少路径求解时间。参考博客点这里具体代码如下所示import angrimport sysdef main(argv): path_to_binary = "01_angr_avoid" project = angr.Project(path_to_binary) initial_state = project.factory.e原创 2021-10-28 11:31:05 · 234 阅读 · 0 评论 -
Angr安装与使用之使用篇(一)
针对angr提供的17道练习题,现在进行求解00_angr_find,它是关于输入密码的问题,需要使用angr求解出正确密码。参考博客点这里#1 创建项目project = angr.Project(“00_angr_find”)#2 通过entry_state()创建一个默认初始状态,这个状态是为了告诉angr该从哪里开始initial_state = project.factory.entry_state() 查看当前initial_state的值,为0x8048450。使用I原创 2021-10-28 10:57:12 · 992 阅读 · 0 评论 -
【系列二之图像处理系列】波形处理(3)
1 巴特沃斯滤波器使用巴特沃斯滤波器进行处理,输入频率范围与阶数,返回值是IIR滤波器的分子b和分母a的多项式系数向量。我们所设定的带通频率在0.5-2HZ之间。又根据采样定理,采样频率要大于两倍的信号本身最大的频率,才能还原信号,所以要归一化截止频率。经过调试发现滤波器阶数是4时效果最好。代码如下所示。def butter_bandpass(lowcut, highcut, fs, order=4): nyq = 0.5 * fs low = lowcut / nyq hi原创 2021-02-18 18:39:59 · 3070 阅读 · 0 评论 -
【系列二之图像处理系列】波形处理(2)
1 波形处理针对实验视频v1.mp4。图像分辨率568*320像素,帧率为30帧/秒,颜色空间为RGB,拍摄1分30秒,共2700帧左右。为了对应心率为30次/分-120次/分,我们选用通带频率为0.5-2hz这一频率区间。经过滤波器处理、滑动平均滤波、插值处理之后,效果如下图所示。使用傅立叶变换可以观察到初步处理之后噪声已消除。初步处理前后效果如下图所示。初步处理前初步处理后取出各峰值点,并标为红色,在初步处理的波形上绘制峰值点及峰值走势,并每隔一秒用黄线划分图像,效果如下图所示。从中,我原创 2021-02-18 18:17:37 · 1253 阅读 · 0 评论 -
报文摘要算法
1 报文摘要算法报文摘要算法是一种将任意长度报文转换成固定长度的报文摘要算法。它具有以下六个特点:能够作用于任意长度的报文;产生有限位数的标识信息;易于实现;具有单向性;具有抗碰撞性;具有高灵敏性。1.1 MD51.1.1 添加填充位将报文X添加首位为1,其余为0的填充位,填充位长度为Y,使得X与Y的和模512为448。最后加上表示报文长度的64位二进制数,共同组成数据序列。1.1.2 分组操作将数据序列分割成512位的数据段,对每一段数据段单独进行报文摘要运算,报文摘要运算的输入是512的数原创 2021-02-18 18:03:00 · 3910 阅读 · 0 评论 -
【系列二之图像处理系列】提取图片(1)
1 从视频中提取图片1.1源代码1.2解析1.2.1 os.mkdir()用于创建目录,只创建最后一级目录。1.2.2 cv2. VideoCapture()参数是path,用来读取本地视频,若为0则表示打开笔记本内置摄像头。cv2. VideoCapture().open(path)1.2.3 cv2. VideoCapture().get(param)获得对应属性,如param为cv2.CAP_PROP_FRAME_COUNT表示获得视频的总帧数1.2.4 cv2. VideoCap原创 2021-02-18 16:58:03 · 340 阅读 · 0 评论