IN Blog

Thinking will not overcome fear but action will.

软件安全分析与应用(7)

Hello world,hello blog!

前言 这一篇博客的内容主要是最近通过课本以及在网络上找到的关于程序切片的学习资源的笔记。 程序切片的起源与发展 产生:1979年,美国Mark Weise首次在他的博士论文中提出了程序切片思想。 用途:程序切片技术在计算机学科的很多方面都产生了丰硕的结果;此外在软件开发的各个阶段、各种计算机语言的分析、形式化模型的分析以及软件测试方面都发挥了不可低估...

软件安全分析与应用(6)

Hello world,hello blog!

软件安全分析基础工具 静态分析工具 IDA Pro IDA Pro简称为IDA,是一款交互式的反汇编工具。 IDA使用递归下降算法进行 代码扫描,从而反汇编。 IDA也有强大的反编译功能,在汇编代码页面点击F5,即可得到反编译后的伪代码。 IDA的导入表与导出表函数的解析功能具备提取导入表的地址、函数名、动态库...

软件安全分析与应用(5)

Hello world,hello blog!

反汇编及对抗技术 汇编语言 寻址方式:寄存器寻址、立即寻址、直接寻址、寄存器间接寻址、基址变址寻址、寄存器相对寻址和相对基址加变址寻址、比例变址寻址。 这里主要介绍两种寻址方式:直接数据寻址和寄存器间接寻址。 直接数据寻址:将位移量加到默认数据段地址或其他段地址上形成地址。 特点:操作数或源操作数中有一项为寄存器,另一项为存储有数据的地址存储单元。 ...

软件安全分析与应用(4)

Hello world,hello blog!

程序切片 思想:程序切片主要通过分析程序代码之间的依赖关系来分析指令的相关性,从而帮助用户提取其所感兴趣的代码片段。 程序切片根据用户所关注的指令和指令相关的操作数,提取与该指令及操作数相关联的代码,从而在软件逆向分析中减少其他无关代码的干扰。 程序切片即可以应用于程序的源代码分析,也可以用于对可执行代码反汇编得到的汇编代码进行分析。...

软件安全分析与应用(3)

Hello world,hello blog!

软件后门 定义:软件后门是指软件开发人员有意设计,可以对用户隐瞒的一些功能,往往这些功能用于软件产品应用之后的一些特殊目的。 优点 难发现:对于目前大规模的软件产品,难以对软件漏洞进行全面的检测。 易利用:如果是有意设计的软件后门,使用者可以充分利用软件产品的权限和资源,绕过系统的各种安全防护和安全检测机制。 难取证:无法证实此后门是开发...

软件安全分析与应用(2)

Hello world,hello blog!

恶意软件 传统的恶意软件:主要是指病毒、木马、蠕虫、僵尸网络、间谍软件; 特点:在用户不知情的情况下实施一系列破坏功能、窃取信息、远程控制或实施破坏等功能。 相关能力:渗透与扩散能力、隐蔽能力、破坏能力。 恶意软件的发展 恶意软件随着信息技术的发展和应用而发展,当当前计算机应用的技术得到发展时,恶意软件的形式也随之发展,并且破坏能力与日增长。 APT...

软件安全分析与应用

Hello world,hello blog!

前言 由于快递寄错了地方,导致我在这两天只能看文泉书局的电子试读版,只有1.1-1.4小节的内容,不过我会先认真寻找1.2节中案例的资源。 学习笔记 软件安全问题主要有两种:一种是软件漏洞,另一种是恶意软件。 软件漏洞是由于软件设计开发过程中的缺陷带来的安全隐患; 恶意软件是攻击者有意设计的具有破坏性的软件工具。 近些年的研究热点是实现不依...

CSAPP lab1实验(2)

Hello world,hello blog!

前言 CSAPP的内容并没有完全吃透,关于曲老师指定的六月份学习书籍《软件安全分析与应用》已经在网上购买,六月的前一段时间同时学习两本书的内容,后面的时间就学习下一本书的内容。 补码 tmin /* * tmin - return minimum two's complement integer * Legal ops: ! ~ & ^ | + <&...

CSAPP lab1实验尝试

Hello world,hello blog!

前言 lab1实验分为位操作、补码和浮点数三大部分,这两天尝试的是位操作和补码的实验,今天先总结位操作的解题。 位操作 每个题都规定了只能使用的操作符号,以及0-255的常数,声明int变量以及赋值,其余的操作都不行。 bitAnd 要求:只能用非~和或 来实现与&操作。 ...

寻址方式

Hello world,hello blog!

前言 由于一直没弄清楚myvm中的寻址方式是什么,故我这几天到处找书本看来学习相关的寻址方式。 寻址方式 ps:计算机指令是由操作码字段和操作数地址码字段两部分组成的,操作码字段指示计算机要执行的操作,操作数地址码字段则指出在指令执行操作的过程中所需要操作数的地址。 立即寻址:指令中的操作数为常数,则存储时紧跟在操作码之后,作为指令的一部分存在代码段里,这种操作数称为立即数。 ...