第9节:汇编学习环境搭建
1、学习环境win7系统安装
2、用到的工具:OLLDebug
这节开始学习汇编,在讲具体的内容之前,我们要搞清楚几个问题:
1)我们学习汇编用在什么地方。
2)我们学习到什么程度。
3)我们在什么情况下学习汇编,学习那种汇编。
那我们一个个解答一下:
1、我们学习汇编在什么地方用,首先要强调一点,我们学习汇编不是为了写代码,我们在后面做项目或者做练习也好,没有地方是要写汇编实现的。那我们学习汇编,主要目的是做什么呢?是为了理解程序到底是怎么运行的,大家想一想c\c++ 有那么的概念,那么你们也看过其他视频或者其他的教程,有很多的概念你无法理解,那理解不了怎么办呢?你只能通过强迫自己背下来,你就这样去记,去这样用,但是你并不知道它到底为什么,那么这种问题其实你懂汇编的话,是很好解决的,你只要切换到汇编的界面上看一下立马就知道了。它到底是怎么回事,而且你学到的是本质。所有的概念在汇编上其实都是浮云,那么可以这么讲你学会汇编会痛苦几天,但是你会受益匪浅,你可以节省很多很多痛苦的时间,而且汇编也是高手进阶的必经之路,那么从事的是正常的应用开发的话,不管你是做PC上的应用,还是手机和平板上的应用只要学习到c\c++和汇编对应关系就够用了,当别人在调试不了的问题的时候,你会很容易调试出来(只要看看汇编就知道了,就能看到问题出在哪里)。在比如你接触某个知识点或接触某个概念你会很快学会它,那么这是讲的是正常应用开发的人。如果你想从事安全相关行业,如:安全公司病毒和反病毒,还有就是游戏公司的防外挂,你必须要懂得汇编,而且你必须懂汇编和二进制之间的关系,从事安全行业的人除了要了解c\c++和汇编之间关系还有懂得汇编和二进制之间的关系。
2、汇编到底要学到什么程度呢?要学习到看得懂普通的应用程序,这句话怎么理解呢?就是是要olldebug,打开一个exe应用程序或者在linux上用调试工具打开一个应用程序,看懂里面的代码是怎么回事,那块是程序的调用,那块是参数,这些必须要看懂的。
3、学习汇编的语法特性就是足够了,但是要研究操作系统的话,只看应用程序是不够的,还要看看操作系统的内核的这类的程序,在后面的章节里会介绍到。如:操作系统的保护模式等。这些学完后你才能研究操作系统,那么如果你保护模式和汇编都掌握了,你在看操作系统里面的源文件,就没有太大的障碍,有没有源代码其实都一样,都能看得懂。
4、配置汇编的学习环境
1)下载olldebug工具
2)配置olldebug
option——>Appearance——>Directories
将UDD Path和Plugin Path 对应的插件工具设置好路径
3)olldebug的界面介绍
分为四个界面,我们来简单介绍一下,当你想用olldebug编写代码的时候,随便用一个exe文件拖到olldebug工具中,看到界面左上方有一个小黄框(Paused) 这个表示程序停在这个位置,在这个位置下面是汇编窗口你就可以进行编写汇编代码了,实际上我们称这个窗口叫反汇编窗口,在反汇编窗口右侧是寄存器窗口,再往下看(右下角)是堆栈窗口,再往左边看(左下角)是内存窗口,只要记住这四个窗口就可以了,在后面的章节会介绍到,给大家简单实现一下功能例子:
mov eax,1
mov ecx,2
mov edx,3
mov ebx,4
这四行代码就是把四个值往寄存器添加值,它们的值分别是1、2、3、4。当存储完之后,需要一行行执行吗?按下F8,看右侧的寄存器窗口eax~ebx的值的变化,用这个工具学习汇编是非常方便的,如果在linux或者osx等系统中也有相同的工具学习,学好一个系统中的工具,另一个也会了,万变不离其宗。
总结:
今天这节课主要是把环境搭建起来,熟悉一下olldebug的四个窗口,并且知道这四个窗口叫什么名字,当我提到的时候你知道到什么地方去找,然后你也要向我一样写几行代码执行一下。
1、学习环境win7系统安装
2、用到的工具:OLLDebug
这节开始学习汇编,在讲具体的内容之前,我们要搞清楚几个问题:
1)我们学习汇编用在什么地方。
2)我们学习到什么程度。
3)我们在什么情况下学习汇编,学习那种汇编。
那我们一个个解答一下:
1、我们学习汇编在什么地方用,首先要强调一点,我们学习汇编不是为了写代码,我们在后面做项目或者做练习也好,没有地方是要写汇编实现的。那我们学习汇编,主要目的是做什么呢?是为了理解程序到底是怎么运行的,大家想一想c\c++ 有那么的概念,那么你们也看过其他视频或者其他的教程,有很多的概念你无法理解,那理解不了怎么办呢?你只能通过强迫自己背下来,你就这样去记,去这样用,但是你并不知道它到底为什么,那么这种问题其实你懂汇编的话,是很好解决的,你只要切换到汇编的界面上看一下立马就知道了。它到底是怎么回事,而且你学到的是本质。所有的概念在汇编上其实都是浮云,那么可以这么讲你学会汇编会痛苦几天,但是你会受益匪浅,你可以节省很多很多痛苦的时间,而且汇编也是高手进阶的必经之路,那么从事的是正常的应用开发的话,不管你是做PC上的应用,还是手机和平板上的应用只要学习到c\c++和汇编对应关系就够用了,当别人在调试不了的问题的时候,你会很容易调试出来(只要看看汇编就知道了,就能看到问题出在哪里)。在比如你接触某个知识点或接触某个概念你会很快学会它,那么这是讲的是正常应用开发的人。如果你想从事安全相关行业,如:安全公司病毒和反病毒,还有就是游戏公司的防外挂,你必须要懂得汇编,而且你必须懂汇编和二进制之间的关系,从事安全行业的人除了要了解c\c++和汇编之间关系还有懂得汇编和二进制之间的关系。
2、汇编到底要学到什么程度呢?要学习到看得懂普通的应用程序,这句话怎么理解呢?就是是要olldebug,打开一个exe应用程序或者在linux上用调试工具打开一个应用程序,看懂里面的代码是怎么回事,那块是程序的调用,那块是参数,这些必须要看懂的。
3、学习汇编的语法特性就是足够了,但是要研究操作系统的话,只看应用程序是不够的,还要看看操作系统的内核的这类的程序,在后面的章节里会介绍到。如:操作系统的保护模式等。这些学完后你才能研究操作系统,那么如果你保护模式和汇编都掌握了,你在看操作系统里面的源文件,就没有太大的障碍,有没有源代码其实都一样,都能看得懂。
4、配置汇编的学习环境
1)下载olldebug工具
2)配置olldebug
option——>Appearance——>Directories
将UDD Path和Plugin Path 对应的插件工具设置好路径
3)olldebug的界面介绍
分为四个界面,我们来简单介绍一下,当你想用olldebug编写代码的时候,随便用一个exe文件拖到olldebug工具中,看到界面左上方有一个小黄框(Paused) 这个表示程序停在这个位置,在这个位置下面是汇编窗口你就可以进行编写汇编代码了,实际上我们称这个窗口叫反汇编窗口,在反汇编窗口右侧是寄存器窗口,再往下看(右下角)是堆栈窗口,再往左边看(左下角)是内存窗口,只要记住这四个窗口就可以了,在后面的章节会介绍到,给大家简单实现一下功能例子:
mov eax,1
mov ecx,2
mov edx,3
mov ebx,4
这四行代码就是把四个值往寄存器添加值,它们的值分别是1、2、3、4。当存储完之后,需要一行行执行吗?按下F8,看右侧的寄存器窗口eax~ebx的值的变化,用这个工具学习汇编是非常方便的,如果在linux或者osx等系统中也有相同的工具学习,学好一个系统中的工具,另一个也会了,万变不离其宗。
总结:
今天这节课主要是把环境搭建起来,熟悉一下olldebug的四个窗口,并且知道这四个窗口叫什么名字,当我提到的时候你知道到什么地方去找,然后你也要向我一样写几行代码执行一下。