x86-64是Intel x86架构的64位扩展
我正在尝试做一个简单的事情(只是为了学习),我希望在64位linux上拦截clock_gettime,读取输出并对其进行修改,以便将flase日期/时间返回到tracee(/ bin / date)。我...
在x86系统上,一个内存位置可以容纳4个字节(32/8)的数据,因此在64位系统中,单个内存地址可以为每个内存地址保留8个字节。当在GDB中检查堆栈时...
我有一小段代码,有些内联汇编在O0中正确打印argv [0],但在O2中不打印任何内容(另一方面,当使用Clang时,GCC打印存储在..中的字符串。 。
因此AFAIK的syscall指令,等同于AMD的sysenter。因此,从理论上讲,应该只在AMD芯片上找到系统调用指令,对吗?好吧,显然不是这样,因为我在弄乱...
程序进行编译,但是启动后冻结。如果替换该格式并包含32位版本或注释掉MessageBox,则一切正常。格式PE64 GUI包括'E:\ Fresh \ ...
Im负责将逆向工程汇编代码转换回C代码jge .L4 movq $ 76,-16(%rbp)movq $ 87,-24(%rbp)jmp .L5 .L4:movq -16(%rbp),% rax imulq -24(%...
汇编代码返回数组中的最小整数,而不是随机返回倒数第二个或倒数第二个
我正在尝试在nasm中创建一个函数,给定一个整数数组和该数组的长度,该函数将返回最小的整数。这是基于CodeWars问题“在...
UEFI引导服务CreateEvent()返回状态EFI_INVALID_PARAMETER
我正在用NASM程序集编写一个简单的UEFI应用程序,并且试图为一个自由运行的计时器创建一个事件,但是对CreateEvent的调用始终返回EFI_INVALID_PARAMETER,我不确定为什么。 ...
Windows x64 vs x86:硬件vs. OS vs.进程
我在Windows 3上基于x86和x64的东西遇到问题时遇到麻烦。我需要知道我的Python程序是否正在运行:在x64与x86硬件上,在x64与x86操作系统上,在x64上...
我试图参加一些集会。我的理解是,系统调用是通过syscall指令生成的中断进行的。但是,在我的计算机上编译了一个简单程序后...
我的任务是将x86-64汇编代码转换回简单的C函数。我正在使用的C函数采用4个参数(长a,长b,长c,长d)。如预期的那样...
考虑以下简单功能:struct Foo {int a; int b; int c; int d;诠释int f; }; Foo foo(){Foo f; f.a = 1; f.b = 2; f.c = 3; f.d = 4; f.e = 5; f.f = 6;返回...
如何遍历汇编中的字符串,直到达到null为止? (strlen循环)
现在,我只是想知道如何遍历一个字符串。如果代码没有意义,那是因为我将某些信息解释为错误的。最糟糕的是,我真的不知道自己在做什么。 ...
我正在尝试在x86-64程序集中制作一个将两个数字x和y相乘并返回输出的函数,而不使用循环或mul运算符。这是我想出的代码,但我没有...
我一直在尝试将值放入通过地址传递的参数中。它在堆栈中的某个位置。该函数通过链接到汇编程序的C ++程序调用。它通过8 ...
我试图遍历汇编中的字符串,并将小写字母更改为大写字母,并在字符串为0时停止,但是似乎有些错误(我似乎缺少一个概念)。我可以...
在运行Ubuntu 19.10的x64系统中,文件描述符的大小是多少?
[文件描述符,例如标准输入和标准输出的位的大小是多少,它是32位整数吗?
假设此C代码:int main(){返回0; }在汇编中看起来像这样:main:pushq%rbp movq%rsp,%rbp movl $ 0,%eax popq%rbp ret我知道Frame ...
为什么Linux在x64中使用两个GOT部分? .GOT与.got.plt
我试图弄清楚这两个部分之间的区别,这似乎是这个问题的重复,但是那里给出的答案并没有说明太多,因此,我想详细一点。 。
所以我正在处理这种汇编代码片段,但遇到一个奇怪的问题:XMM1寄存器在执行过程中似乎失去了它的值,即使我不认为我使用了任何...