att

    1热度

    1回答

    我想了解汇编代码。我停留在指针被分配的部分和所述代码之后leaq命令 这是我的C代码: #include <stdio.h> #include<stdlib.h> int main(){ int x=50; int *y=&x; return 0; } 这是我的对应汇编代码: .file "AssemlyCode.c" .def __main;

    2热度

    1回答

    我目前正在研究二进制炸弹分配的阶段2。我无法准确解读某个函数在被调用时会发生什么。我一直坚持了几天。 功能是: 它被调用在较大功能 “phase_2”: 0000000000400f4d <phase_2>: 400f4d: 53 push %rbx 400f4e: 48 83 ec 60 sub $0x60,%rsp 400f52: 48 c7 44

    -2热度

    1回答

    所以我学习大会,我都碰到过这样的代码: movl num(,%eax,4), %eax 有人能解释一下NUM()函数是什么?

    -2热度

    3回答

    我最近开始学习从Windows移植到Linux。我一直在翻译从英特尔语法的程序到AT & T语法也将它从x32转换为x64。而且,由于我足够新的汇编程序,尤其是在移植时遇到了一些麻烦。只需提及:我故意不使用.intel_syntax指令。 所以我就用stucked翻译这些命令: RTLWriteIntegerBuffer: TIMES 3 DB 0x90,0x8D,0x40,0x00 依次为:

    0热度

    1回答

    我是新来的程序集,并且我正在使用ATL & T语法在linux 64位编程。如果我将数字1存储在一个寄存器中,我怎样才能将它转换为ASCII字符“A”?例如: movl $1, %ebx addl $64, %ebx 我可以添加64到1,使65(A的十进制值),然后以某种方式将其转换为“A”和使用写系统调用发送该到缓冲区? 编辑1:在这里发布我的程序代码。 .section .data

    0热度

    1回答

    我试图破译简单的汇编代码,但我对该语言不是很有经验。如果我的代码主要以下块: push %ebp 8048a45: 89 e5 mov %esp,%ebp 8048a47: 53 push %ebx 8048a48: 83 e4 f0 and $0xfffffff0,%esp 8048a4b: 83 ec 10 sub $0x10,%esp 8048

    0热度

    2回答

    add -0x4(%r12), %eax cmp %eax, %r12 我在汇编中给出了这两行。 我的猜测是,你在R12的值中减去4,然后添加到EAX。 不R12继续-4从它原来的,还是价值保持它的原始价值? 例如,如果R12 = 5,和EAX = 3,附加功能将导致EAX = 4; r12仍然是5还是1?

    1热度

    1回答

    我使用的是ubuntu64 + gas 我使用AT & T程序集,我试图给一个'e'分配al寄存器,并将其编译为32位程序 $猫c2.s .code32 .globl _start _start: movb 'e',%al # Problem here!!!! mov $1,%eax mov $0,%ebx int $0x80 $为-g c2.s -o c2.o & & LD c2

    0热度

    1回答

    支付我想建立发送和接收消息,如位置信息等 其他自定义数据的应用程序,但这里是我要解决的挑战 - 我不希望用户收取数据使用费。该应用应该是完全免费的。我想进一步说,该应用程序不需要任何数据/移动计划或手机中的WIFI连接。该应用程序应该是自力更生的。它应该安全地连接到服务提供商并执行所有任务。这可能吗? 我想知道是否有某种服务提供这样的接口,我们可以直接支付这种服务的使用。 以前有人做过这个吗? 这

    0热度

    1回答

    我是新来学习汇编语言,遇到了下面的表达式: 9(%rax, %rdx) 0xFC(,%rcx,4) (%rax, %rdx, 4) 我会,如果有人能够真的很感激指向我可以理解这些命令或向我解释它的资源。 谢谢。