nasm

    0热度

    2回答

    我想通过编写“Hello World”到控制台(使用Windows XP 32位)来测试缓冲区溢出。 shellcode需要是无空的,以便通过“scanf”传递到我想溢出的程序中。我发现很多Linux的汇编教程,但是没有一个适用于Windows。有人可以请我通过这个使用NASM? Thxxx!

    0热度

    1回答

    我有NASM和ld这里麻烦的是我做的: 来源: EXTERN SDL_Init SECTION .text global _start _start: push 0x20 call SDL_Init mov eax, 1 mov ebx, 0 int 0x80 编译: nasm -f elf64 sdlini.asm 链接: ld -dynamic-linker /l

    3热度

    1回答

    我决定编写一个简单的asm引导程序和一个C++内核。我看了很多教程,但我不能编译汇编文件看起来是这样的: [BITS 32] [global start] [extern _k_main] start: call _k_main cli hlt (我想从C文件中日k_main函数调用) 编译/汇编/链接错误: nasm -f bin -o kernelsta

    0热度

    1回答

    所以我想学习一些x86汇编,我使用NASM作为我的编译器。我正在编写this code,但是当我编译时,出现错误。 $ nasm -f bin -o myfirst.bin myfirst.asm myfirst.asm:46: error: parser: instruction expected 任何想法什么是错的?谢谢!

    0热度

    1回答

    我试图勾搭一些组件不显示,创建操作系统。当该代码被加载进入bootloader,它是假设输出“这是我很酷的新的操作系统!哇噢!ChigginsOS”但现在它说,减去“Chiggins”结尾。我哪里错了? BITS 16 start: mov ax, 07C0h add ax, 288 mov ss, ax mov sp, 4096 mov a

    1热度

    2回答

    我需要设置某个标签地址/偏移的最高位。 我想: test.nasm: BITS 32 dw mylabel | 0x8000 mylabel: dd 0 但试图组装这个当我: nasm -f bin test.nasm test.nasm:3: error: `|' operator may only be applied to scalar values 为什么它不看myla

    1热度

    3回答

    我想知道是否有更有效的方法来查找程序集中的子串,然后我正在计划做什么。 我知道字符串指令“scansb/scasw/scads”可以将EAX中的值与EDI中的值进行比较。不过,据我所知,我只能使用这种方法搜索一个角色。因此,如果我想在字符串“pleasehelpme”中找到“帮助”的位置,我可以使用scansb找到h的偏移量,然后跳转到另一个函数,在此处我比较余数。如果余数不正确,我跳回到scan

    2热度

    1回答

    这与操作系统引导装载程序是一样的。我有一个C源代码和汇编源代码。我想汇编代码将控制权交给C应用程序。我正在使用Linux并使用GCC + NASM进行编译。我需要以特殊方式编译它们吗?用于加载c应用程序并启动它的汇编代码是什么?

    0热度

    1回答

    我希望能够在nasm程序集中使用对printf的多个调用时打印到同一行。 如: SEGMENT .text mov eax,5 push eax push format_num call printf add esp,8 ...other code mov eax,6 push eax push format_num call printf add esp,8 SEG

    0热度

    2回答

    我想要像1 == 1这样的关系表达式,如果为true,则为1;如果为false,则为0。有没有一种简单的方法在nasm程序集中执行此操作?