标签 nasm 下的文章

  • 📂CentOS7源码编译FFmpeg的坑教程

    目录前言编译FFmpeg报错编译x265报错前言由于不能访问第三方源,因此没办法yum安装FFmpeg,只能选择按照官方文档源码编译。 CompilationGuide/Centos – FFmpeg 该文主要记录遇到的问题,细节步骤请按官方文档操作。编译FFmpeg报错ERROR: freetype2 not found using pkg-config 报上述错误,搜到了不少同样错...

  • 📂linux – 如何使用汇编语言中的errno打印错误消息教程

    我正在使用sys\_write系统调用以汇编语言写入stdout,如果在写入期间发生错误然后正常退出,我想打印错误消息.我只能退出但不能使用errno和perror打印错误消息.如果系统调用失败,如何处理错误的任何建议.我想根据发生的错误类型打印错误消息. 我在Ubuntu 14.04上,我正在使用nasm来编译汇编代码. 目前我只做这个:test rax,rax ; Lets m...

  • 📂linux – 需要了解基本程序集的指导教程

    我已经涉足到了解如何在汇编中进行一些简单的编程.我正在阅读一个教程hello world程序,他们解释的大部分内容都很有意义,但是他们真的很喜欢它.我想帮助理解程序的某些不同部分.这是他们的教程示例 –section .text global main ;must be declared for linker (ld) main: ;tells l...

  • 📂linux – 如何在汇编程序中打开文件并进行修改?教程

    我开始学习汇编程序,我在Unix工作.我想打开一个文件并在上面写上“Hello world”.section.data textoutput db 'Hello world!', 10 lentext equ $- textoutput filetoopen db 'hi.txt' section .text global _start _start: mov eax, 5 ...

  • 📂linux – 将字符与Intel x86_64程序集进行比较教程

    我是汇编(Intel x86\_64)的新手,我正在尝试从C库中重新编写一些函数.我在64位Linux上并使用NASM进行编译.我的strchr函数有错误,我找不到解决方案……这里提醒一下strchr手册的摘录:char *strchr(const char *s, int c);The strchr() function returns a pointer to the first occ...

  • 📂linux – 如何调试需要用户输入的NASM汇编程序?教程

    我正在阅读杰夫的惊人书籍assembly step by step,我在第8章,他展示了一个汇编程序的例子,它以这种方式从用户那里获取文件:SECTION .bss ; Section containing uninitialized data BUFFLEN equ 1024 ; Length of buffer Buff: resb BU...

  • 📂linux – x86_64程序集execve * char 【】系统调用教程

    我试图在不使用标准库的情况下进入一些Linux 64位x86程序集,但是我在处理提交给我的程序(argv)的参数时遇到了一些问题.我认为(基于文档)rsp标志着argc qword的开始,而[rsp 8]将是argv.不幸的是情况并非如此,以下(删节)程序会导致EFAULT(错误地址).sys_execve equ 59 sys_exit equ 60 section .data ...

  • 📂Linux x86 ASM – 获取用户输入教程

    希望这是一个简单的问题:首先,我想知道是否有人知道如何在Linux上使用x86 NASM语法汇编来获取用户输入.现在,我有:section .data greet: db 'Hello!', 0Ah, 'What is your name?', 0Ah ;simple greeting greetL: equ $-greet ...

  • 📂linux – 在没有printf的NASM中打印ARGC教程

    有没有好的NASM /英特尔组装程序员?如果是这样,我有一个问题给你!我可以在网上找到的每个教程都显示了“printf”的用法,用于将ARGC的实际值打印到屏幕上(fd:/ dev / stdout).是不是可以简单地用sys\_write()打印它,例如:SEGMENT .data ; nothing here SEGMENT .text ; sauce global _...

  • 📂linux – strlen in assembly教程

    我在汇编中创建了自己的strlen实现,但它没有返回正确的值.它返回字符串长度4.因此.我不明白为什么……我希望你们中的任何一个…… 装配来源:section .text [GLOBAL stringlen:] ; C function stringlen: push ebp mov ebp, esp ; setup the stack fram...

  • 📂linux – 汇编:为什么跳转到通过ret返回的标签会导致分段错误?教程

    Linux Assembly Tutorial州:there is one very important thing to remember: If you are planning to return from a procedure (with the RET instruction), don’t jump to it! As in “never!” Doing that will c...

  • 📂linux – 在x86中将字符串定义为字节(db)和将字符串定义为单词/双字(dw / dd)之间的区别是什么教程

    我正在尝试研究在程序集中定义标签之间的区别,这是一个例子ALabel: db 'Testing' AAnotherLabel: dw 'Testing' 现在,让我将它们加载到32位寄存器中:mov eax, [ALabel] mov ebx, [AAnotherLabel] 在使用gdb进行调查后,我发现eax和ebx的所有子寄存器都包含相同的值,请看这里:info register ea...

  • 📂linux – 如何在x86程序集中调用fgets?教程

    根据the documentation for fgets(),该函数有三个参数:char * – 一个保存输入的字符串 int – 一个整数,表示要读取的最大字符数 FILE * – 要读取的流的FILE *我可以轻松调用该函数.我只需将三个参数压入堆栈,调用该函数,并将ESP增加12.我的问题是参数#3.作为标准输入的FILE *应该传递什么?在C中,我可以使用stdin,但我不知道...

  • 📂如何避免不适合缓冲区的stdin输入在Linux 64位Intel(x86-64)程序集中发送到shell教程

    编辑:标题已更改,因为@Gunner指出这不是缓冲区溢出.在Linux 64位Intel汇编中使用NR\_read读取stdin的用户输入时,我想知道如何避免输入缓冲区中的输入不能发送到Linux shell,例如.庆典?例如,在这个示例程序中,我定义了一个255字节的输入缓冲区(缓冲区的大小可以是> = 1).剩余的输入超过255个字节被发送到bash(如果从bash运行),这显然是...

  • 📂linux – 如何通过ld将NASM程序链接到libc?教程

    我有一个针对NASM的以下程序(ArchLinux i686)SECTION .data LC1: db "library call", 0 SECTION .text extern exit extern printf ;global main ;main: global _start _start: push LC1 call printf push...