assembly

    0热度

    1回答

    我正面临一个相当大的问题。我需要修补一个可执行文件来修改它的行为。该程序是用C语言编写的,到现在为止我一直在使用IDA编辑它,但这样我就无法替换整个函数等等。在我看来,最简单的方法是创建一种加载器将加载程序并在运行之前对其进行修补。这会为我节省很多时间,所有的编辑都会更容易。 问题是我找不到任何有关如何操作的文章。你们能否解释我应该如何处理这个过程?加载器将用C/C++编写。

    13热度

    3回答

    我正在使用基于ARM Cortex-M3的微控制器(Thumb 2指令集)的汇编程序,使用GNU as。 在一些示例代码中,我发现像.size,.section和.type这样的指令,我知道这些指令是ELF指令。作为一个例子: .section .text.Reset_Handler .weak Reset_Handler .type Reset_Handler, %fun

    3热度

    2回答

    下面的图片是从调用堆栈维基百科entry并有东西,我不完全理解: 我想这是存储帧指针 push ebp ; Preserve current frame pointer mov ebp, esp ; Create new frame pointer pointing to current stack top sub esp, 20 ; allocate 20 bytes worth of lo

    1热度

    1回答

    问题 我一直在尝试各种字节计数试图让WriteFile工作。问题是它写入文件后立即崩溃。所有文本都在文件中,但是“程序已经崩溃,发送给微软?”错误对话框弹出。 注释掉调用WriteFile及其下的所有内容时,程序运行正常,不会崩溃。但是,当我取消注释WriteFile并将所有代码保留在下面时,它再次将其注释掉,从而增加了它的难题。代码如下,如果有人可以看到我错过的东西,非常感谢:-) 字节长度我试

    0热度

    1回答

    我已经意识到在尝试执行协程时,我必须学习汇编语言以深入理解编程。 所以我决定开始学习大会。我想通过仅使用纯装配来制作小程序来开始实现。需要什么,我应该从哪里开始?简易教程?任何指导将不胜感激。谢谢。 PS。 我在iMac Core i5机器上使用Mac OS X 10.6。

    2热度

    2回答

    我想得到一个变量的地址并由4096(它对应于它的内存页面的地址)来代替。由于这一点是可以离线我做了一件看起来像这样(v是可变的,v第应当包含其页面的地址)来计算: .data v: .zero 0x100 vpage: .long v & 0xfffff000 试图编译与x86汇编结果在这个文件出现以下错误: test.S: Assembler messages: te

    -1热度

    1回答

    明天我有一个大会决赛。 任何人都有一些编程练习的想法? 我需要MULS,div的,循环和这样.. 所有x86指令,我将通过使用irvine32 LIB 进出口寻找初学者中级练习1实现作弊位3小时 请在理由之内,我会张贴我的批评的最终答案。

    0热度

    2回答

    使用Assemply 我需要一个简单的代码,填补二维数组 更新: 这是我走到这一步。但是我仍然在打印阵列时遇到问题! .data arrayf: .word 600 msg1: .asciiz "Enter N: " msg2: .asciiz " rows by " msg3: .asciiz " values. Enter them: " doneFill: .asciiz "Do

    0热度

    3回答

    我正在学习一些linux的汇编程序,我有这个示例程序只是应该调用write syscall并在屏幕上打印'Hello,World!',但它会产生段错误。我在空闲时间学习,而不是作业,我不再去学校! 任何人都可以看到这个代码有什么问题吗? xor eax,eax xor ebx,ebx xor ecx,ecx xor edx,edx jmp short string code: pop

    0热度

    2回答

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