IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 2021-08-24 CTF学习记录 -> 正文阅读

[C++知识库]2021-08-24 CTF学习记录

写在前面

由于比赛的方向分配,我开始学习逆向,学习逆向有一些基础知识需要补充,因此这周的学习内容是汇编语言。

逆向学习路线

一、语言

学习逆向,需要掌握四门语言,分别是C、C++、Python和汇编。C和C++在开发杀毒引擎中能起到很大的作用,而且使用IDA pro翻译出的伪代码是C语言格式的。C和C++也是开发shellcode最高效的语言,也可以用来写驱动代码。因此,C和C++是学习逆向的两门重要语言。Python可以辅助我们开发一些分析工具,可以快速降低重复劳动的成本。汇编语言是在逆向分析过程中不可避免的。因此,这四门语言是学习逆向必须掌握的。

二、Windows编程

在逆向学习、二进制安全学习中,我们要掌握系统编程,学习如何写安全工具、Windows下的API编程、Windows的文件结构,即PE(Protable Executable)这一部分可以帮助到我们日后分析病毒以及漏洞分析。

三、逆向

在学习好基础知识后,我们可以开始学逆向以及恶意代码分析、漏洞分析。

汇编语言基础知识

语言特性

汇编语言是直接作用在硬件上的编程语言,对硬件系统有一定了解后,才能有效地应用汇编语言编程。汇编的研究重点应放在如何利用硬件系统的编程结构和指令集有效灵活的控制系统进行工作。

1.机器语言

机器语言是机器指令的集合,机器指令就是一台机器可以正确执行的命令,形式为二进制代码。机器语言出现错误,查错成本高,可读性差,因此需要汇编语言方便编程。

2.汇编语言

汇编语言的主题是汇编指令
汇编指令是机器指令便于记忆的书写格式
汇编指令是机器指令的助记符
汇编语言的写法与人类语言接近,便于阅读和记忆

寄存器:CPU中可以存储数据的器件,一个CPU中有多个寄存器
工作方式:汇编指令通过编译器转换成机器指令,传给机器,并执行

3.汇编语言的组成

汇编语言由一下三类组成:
1.汇编指令(机器码的助记符)
2.伪指令(由编译器执行)
3.其他符号(由编译器识别)

4.存储器

CPU是计算机的核心部件,它控制整个计算机的运作并进行运算,要想让一个CPU工作,就必须向它提供指令和数据
指令和数据在存储器中存放,也就是内存
磁盘上的数据或程序,如果不读到内存中,就无法被CPU使用

5.指令和数据

在内存或磁盘中,指令和数据都是二进制信息

6.存储单元

存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号,如有128哥存储单元,编号则为0~127
存储单元的容量单位有bit、B、KB、MB、GB、TB等

7.CPU对存储器的读写

CPU对数据进行读写,则要进行三类信息的交互:
1.存储单元的地址(类似C语言中的指针)(地址信息)
2.器件的选择,读或写命令(控制信息)
3.读或写的数据(数据信息)

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-25 12:01:58  更:2021-08-25 12:02:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 6:26:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计