摘要:
一、仿射密码加密 仿射密码仿射密码也是一般单表替代密码的一个特例,是一种线性变换。仿射密码的明文空间和密文空间与移位密码相同,但密钥空间为 K={(k1,k2)| k1,k2∈Z26,gcd(k1,26)=1}对任意m∈M,c∈C,k = (k1,k2)∈K。定义加密变换为:c = Ek (m) = 阅读全文
摘要:
一、欧几里得算法 欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。 例:(1)求解55 22 的最大公约数,则利用欧几里得算法: gcd(55,22)=gcd(22,55mod22) 阅读全文
摘要:
一、PE结构分析 要使用任何一个DLL所提供的函数,我们需要将它导入,也就是用到了导入表。然而对于那些提供了被导出的函数的DLL程序来说,他们必须使用导出表将函数导出,之后别的程序才可以使用。 以dos MZ header开始。 1、 DOS头结构 两个重要字段,e_magic如果标记不为M 阅读全文
摘要:
恢复内容开始 恢复内容开始 实验环境 操作系统:Vmware Windows xp sp3 Office 版本:Microsoft Office Word 2003 漏洞文件:MSO.DLL 11.0.5606.0 调试器:Windbg:6.12.0002.633 x86 漏洞描述 Microsof 阅读全文
摘要:
Stack Canaries Stack Canaries(取名自地下煤矿的金丝雀,因为它能比矿工更早地发现煤气泄漏,有预警的作用)是一种用于对抗栈溢出攻击的技术,即ssp安全机制,有时也叫做Stack cookies。Canary的值是栈上的一个随机数,在程序启动时随机生成并保存在比函数返回地址更 阅读全文
摘要:
1)如果要返回父程序,则当我们在堆栈中进行堆栈的操作的时候,一定要保证在RET这条指令之前,ESP指向的是我们压入栈中的地址。2)如果通过堆栈传递参数了,那么在函数执行完毕后,要平衡参数导致的堆栈变化。 含义就是 当函数在一步步执行的时候 一直到ret执行之前,堆栈栈顶的地址 一定要是call指令的 阅读全文
摘要:
首先拿到elf文件(刚开始并不知道是elf文件)(这是Linux下的运行文件,类似windows的exe) 文件我更名成“bron”,再在Linux系统下用flie指令识别文件信息。 发现文件为x86-64位,并且为Linux下运行的文件。 我先尝试运行bron文件。 先不管运行结果,查一下“bro 阅读全文
摘要:
转载自:https://www.cnblogs.com/sunnydou/p/5801760.html 通过几次 pip 的使用,对于默认的 pip 源的速度实在无法忍受,于是便搜集了一些国内的pip源,如下: 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中 阅读全文
摘要:
assume cs:code,ss:stack stack segment db 128 dup (0) stack ends code segment start: mov ax,stack mov ss,ax mov sp,128 call copy_boot ;设置CS:IP为0:7e00h 阅读全文