Assembly 如何在IDA中使用JMP?

Assembly 如何在IDA中使用JMP?,assembly,x86,ida,Assembly,X86,Ida,如果我想将jz(顶部)更改为jmp并将其设置为addesp,8。我怎样才能做到呢 我知道如何修补程序并进行汇编,但我会键入关于jmp的哪些内容?您可以在英特尔手册中查找操作码以获得简短的jmp。我手边没有,但如果内存可用的话,它是0xEB 用于计算jmp偏移量的公式是(目标地址-jmp指令的地址-2)。(2是因为这是短跳转指令的长度,包括它的参数-CPU将偏移量添加到跳转指令后面的指令指针值上)。您未能提供一个。@RohanPas啊!!!你回来了。正如我现在所知道的那样,帮助你是没有希望的,我会

如果我想将jz(顶部)更改为jmp并将其设置为
addesp,8
。我怎样才能做到呢


我知道如何修补程序并进行汇编,但我会键入关于jmp的哪些内容?

您可以在英特尔手册中查找操作码以获得简短的jmp。我手边没有,但如果内存可用的话,它是0xEB


用于计算jmp偏移量的公式是(目标地址-jmp指令的地址-2)。(2是因为这是短跳转指令的长度,包括它的参数-CPU将偏移量添加到跳转指令后面的指令指针值上)。

您未能提供一个。@RohanPas啊!!!你回来了。正如我现在所知道的那样,帮助你是没有希望的,我会给你最后的建议——如果你不知道“操作码”是什么(或者数据如何存储在
.data
中)。另外,请注意@500是如何给你和我完全相同的JMP偏移方程的?)。在再次使用IDA之前,先阅读书籍。试试像《K&R C》这样的书,然后是像《逆向工程的艺术》@ZephyrPellerin你知道有什么好书吗?我看见你在编辑。谢谢,我会查出来的@RohanPas如果你不知道如何用C语言编程,这对于逆向工程来说是必不可少的。所以像《K&R C》这样的书很好。之后,我亲自从一本名为《逆向工程的艺术》的书中学习了x86汇编的基础知识,这本书面向新手读者。今天还有其他一些非常好的东西,比如“实用逆向工程”,虽然有点先进,但非常好。谢谢。但是这个地址是004430FE-0044313E-2,是吗?
.text:004430FE                 jz      short loc_44311B
.text:00443100                 push    30h             ; uType
.text:00443102                 push    offset Athingy; "Hello"
.text:00443107                 push    offset AnotherThingy; "Works"
.text:0044310C                 call    sub_438090
.text:00443111                 add     esp, 0Ch
.text:00443114                 push    0
.text:00443116                 call    sub_44C424
.text:0044311B
.text:0044311B loc_44311B:                             ; CODE XREF: sub_442C70+48Ej
.text:0044311B                 mov     ecx, 0FAh
.text:00443120                 mov     esi, offset buf
.text:00443125                 lea     edi, [ebp+var_3FC]
.text:0044312B                 rep movsd
.text:0044312D                 push    offset aTest; "test"
.text:00443132                 lea     eax, [ebp+var_3FC]
.text:00443138                 push    eax
.text:00443139                 call    sub_465450
.text:0044313E                 add     esp, 8