软件漏洞逆向分析都包含哪些内容?



      打开文件或者用浏览器打开网站的时候,读者可能会很快被文件和网页上丰富的内容所吸引

,但是不知道。木马可能在自己的电脑里安静地留下后门。你的游戏账号、隐私信息等被屏幕对

面的某人拿走了。如今应用软件层出不穷,无论是微软、Adobe这些大公司,还是一些不知名的

小公司旗下都有很多产品。一位大牛曾经说过绝对不可能存在安全的软件。在这章中,笔者带大

家去脆弱的世界,看看小逻辑错误会产生什么样的严重结果。
 
 
本章涉及许多编辑语言和c语言的知识,笔者尽量减少难易度,恢复漏洞触发和攻击的全过程,

介绍编辑语言和c语言的知识。什么是软件漏洞分析。网络终端有网络终端的脆弱性,系统有系

统的脆弱性,应用程序有应用程序的脆弱性,大部分是由于简单的逻辑错误,从另一个角度来

看,黑客和程序员也有千丝万缕的联系。有时当程序员花了几个月的时间写了几十万行代码,

黑客的小操作可能会重写这个程序。
 
 
 
事实上,漏洞的分析是一个反向发生漏洞的过程。如果该程序因功能和一些畸形字符串而崩

溃,并且在崩溃的瞬间被称为犯罪现场,我们将回到程序崩溃之前,分析原因并找出错误。

在此之前,我们需要理解一些概念。首先,堆栈的概念对漏洞分析至关重要。其实,无论

是漏洞还是反向的反汇编操作,还是正向的编程,都需要知道PC方面和移动方面一样,有

堆栈操作。堆栈实际上可以看作空间。调用函数参数时,该参数进入该堆栈。这个空间就

像死胡同,先进的是最里面,后面依次排列,堆栈对参数的操作先进后出,后进后出。
 
 
实际上,一个程序的操作是在堆栈中继续操作,调用函数时,打开堆栈空间,将该函数所

使用的参数全部放入堆栈中,经过一系列操作,释放这些参数,回到外层的调用函数,最

后释放这个空间,缓冲区溢出可分为堆栈溢出和堆栈溢出。说白了,在进行这些函数操作

时,由于if语句和strcpy函数,堆栈和堆栈被破坏,程序无法正常执行该执行的内容,可能

会崩溃,也可能会发生漏洞。
分享: