Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 出于安全原因学习汇编_Assembly_Secure Coding - Fatal编程技术网

Assembly 出于安全原因学习汇编

Assembly 出于安全原因学习汇编,assembly,secure-coding,Assembly,Secure Coding,如果出于安全原因,我想学习汇编,从哪里开始?我想如果我想避免犯错误,最好是知道你在做什么。如果我将有符号整数转换为无符号整数会发生什么情况。一旦我收到一条奇怪的错误消息,说明变量没有正确对齐。这时我不知道什么是对齐。我的两分钱 除非你们觉得汇编很有趣,并且有很多时间,否则我建议你们学习这些东西:如何表示,如何表示,以及什么是 我强烈建议您学习汇编,因为它非常有趣,但我认识到,对于初学者来说,有目的地学习汇编是一项巨大的努力。 学习汇编不是学习一系列的指令,实际上没有必要记住这些指令。学习汇编意味

如果出于安全原因,我想学习汇编,从哪里开始?我想如果我想避免犯错误,最好是知道你在做什么。如果我将有符号整数转换为无符号整数会发生什么情况。一旦我收到一条奇怪的错误消息,说明变量没有正确对齐。这时我不知道什么是对齐。

我的两分钱 除非你们觉得汇编很有趣,并且有很多时间,否则我建议你们学习这些东西:如何表示,如何表示,以及什么是

我强烈建议您学习汇编,因为它非常有趣,但我认识到,对于初学者来说,有目的地学习汇编是一项巨大的努力。 学习汇编不是学习一系列的指令,实际上没有必要记住这些指令。学习汇编意味着学习计算机工作的各个方面,从硬件数据表到操作系统的实现。 这是一个很多的材料,所以它甚至很难作出一个清单,更不用说学习它

我十几岁的时候就开始学习组装,因为我被它迷住了,除了知识之外没有别的目的。我这样做是为了好玩,这让事情变得简单,我没有最后期限。 那时我有足够的时间一次一个地学习拼图的各个部分,最终得到我希望的是整个事物的完整视图。 我花了几天的时间研究一个单一的、平庸的、小的方面,这是我在做一个更大的项目时突然出现的。 这是你必须得到的行为,如果你开始忽略细节,一切都会变得模糊。 始终在脑海中快速追踪幕后发生的事情,并记下你的疑虑。 稍后调查这些疑问,并编写一个带有注释和注释的文本文件 发现

以下几点试图为您提供一条可遵循的路径。 我假设您对汇编语言本身和系统编程不感兴趣,所以我跳过了向您推荐这本古老但必须的书:。 我还假设您有IA32e架构,即英特尔或AMD处理器

1.阅读文档需要时间 读这本书。 第一次阅读时,您可能会在第一本手册的第7章停下来,但请尽快回来完成阅读

用作汇编程序。 您将需要一个链接器,在Linux上使用GCC,在Windows上使用CL。Visual Studio提供的Express edition是免费的

不要使用C运行时或任何read-to-use库。 学习这些知识。 学习这些知识。 学习这些知识。 学习这些知识

在网上查找不完整的、蹩脚的教程,了解它的工作原理

了解如何正确编写函数序言和结束语以及如何使用堆栈。 做很多练习。编写简单愚蠢的程序

了解这些操作系统的系统调用是如何工作的,在引导过程中做了什么,如何解析符号和加载库

在线搜索C编程练习并在汇编中进行,而不使用C运行时。 使用C运行时再次执行这些操作

2.经常使用编译器。 用C编写测试程序,看看它是如何实现的。 做假设测试论文周期。 始终记住C标准所说的,因为它在编译器决策中起着重要作用,并且您无法从反汇编中推断出它