本课程中我们从无到有,给大家介绍一下数据的概念,我们所说的数据,比特和字节是什么意思?然后我们介绍所有数字设备的基本元素:晶体管。
然后我们用晶体管来创建逻辑门,与非门和非门。但是我们只有在需要的时候才会创建它们,所以在创建任何东西之前,我们会问一个问题:“为什么我需要这个?”。然后我们开始对什么是计算机,为什么我们需要它,以及我们将如何创建它进行概述。这就给我们带来了这样一个概念:作为人类,我们不可能记住所有的东西,所以我们需要一个能记住多久就记住多久的东西,更重要的是,我们希望它的计算速度比我们想象的快得多。这是计算机控制人脑的仅有的两件事。基于此,我们继续,一个用于记忆的内存和一个用于处理的Cpu。所以我们开始使用与非门来创建内存和Cpu。我们测试它,排除故障,给它添加功能,直到我们有了电脑。现在,我们将程序保存为内存中的一组指令,Cpu将获取这些指令,并执行它们,然后移到下一个指令,它会一次又一次地执行这些指令。计算机中的一切不是硬件,而是一个程序,一个简单的文件。
所以在第二章我们开始讨论文件。如果计算机所能知道的都是1和0,它怎么能向我们显示文本、图像、电影和可执行文件呢。这是我们讨论的文件扩展名和头。因此,这本书可以让我们了解Elf文件格式,Linux中的可执行文件和二进制文件。因为如果我们想反转文件,激活它们,首先我们需要了解它们。所有的段和节头,但不只是一个概述,深入,不知何故,我们理解它的每一个字节。现在是时候让我们知道它们是如何被执行的,或者它们是如何被创造出来的了?使用编程语言:汇编
在下一章中,我们将进入组装世界。为什么我们需要它,就像往常一样,这将是主要的问题,如果我们能回答它,那么我们就进入如何去做。我们教你所有需要知道的组装知识。当我们编写一个程序时,我们使用Gdb调试它,逐个分析指令,这样您就知道每个指令的原因。同时将汇编语言与其他高级编程语言进行了比较。
我们为什么需要C语言编程将引发下一章的创作。变量、指针、格式说明符、函数,它们都只是没有概念和理解的名称,这就是为什么每一个抽象都有一个单独的讲座来描述内存和堆栈(我们以直观的方式解释这是什么)的组织以及它是如何变化的。
当我们以如此不同的方式了解所有这些科学时,当我们进入逆向工程和开发时,最后两章,你会看到,这些只是我们迄今所学一切的不同面貌。只是换个角度看,保持记忆。利用这些我们将能够逆向工程恶意软件,黑客和激活软件。也就是说,如果你没有攻击性的技能,你就不可能成为真正的黑客。
您将学到:
计算机体系结构
装配语言
C程序设计语言
逆向工程
开发利用
记忆组织
文件结构
Linux中的文件结构
Elf文件
Elf文件中的段和节标题
Txt,Bmp头文件
图像的标题
Linux中的可执行文件
计算机中的晶体管
Nmos与Pmos晶体管
带直流和交流输入的晶体管电路
使用Nmos和Pmos晶体管创建非门
使用Nmos和Pmos晶体管创建与非门
使用与非门创建内存位
解码器
从头开始使用与非门创建Ram
什么是多路复用器?为什么我们需要它们
计算机中的数据通路
中央处理器的控制单元
从头开始创建Alu
图灵整机
为什么电脑很快
为什么电脑很强大
Linux中的系统调用
分解.text节
用汇编语言创建程序
汇编语言、Python语言和C语言的比较
程序集中的跳转和条件跳转
汇编语言中的Jz、jnz、je、jne、jc、jnc
装配中的功能和程序
C中的格式说明符
C中的变量
C中的指针
使用Gdb单步执行C程序
将C程序编译成汇编程序
C语言程序的堆栈布局
C语言程序的内存布局
内存和堆栈中的指针
在C中创建一个类似Printf的函数
在C中创建一个类似Strcmp的函数
比较C中的字符串
用C语言创建静态库
用C语言创建共享库
C语言中的静态库与共享库
逆向工程恶意软件
参数传递和函数调用
Computer Architecture, File Structure, Assembly And C Programming Language, Reverse Engineering And Exploit Development
MP4 | Video: h264, 1280×720 | Audio: AAC, 44.1 KHz, 2 Ch
Genre: eLearning | Language: English + srt | Duration: 136 lectures (16h 22m) | Size: 9.1 GB