我是 ASM 的新手。在 64 位可执行文件上使用 IDA Pro 6.8。
我无法修改此指令的 jmp 地址:
........
.text:0000000141BAFB57 loc_141BAFB57:
.text:0000000141BAFB57 lea rcx, [rbp+520h+var_20]
.text:0000000141BAFB5E lea rdx, abc_data
.text:0000000141BAFB65 call sub_141CCAC80
.text:0000000141BAFB6A jmp loc_141BAF9D6
.text:0000000141BAFB6A subroutine endp
.text:0000000141BAFB6A
.text:0000000141BAFB6F
我想要么将 jmp 地址从 loc_141BAF9D6 更改为 loc_141BAFA9C 要么只是 nop 指令...
每次我在 IDA Pro 6.8 中尝试此操作时,它都会将 jmp(或 nop)指令移到子例程 endp 关闭之外,因此 IDA 现在给我一个 SP-Analysis failed 错误...例如:
.text:0000000141BAFB57 loc_141BAFB57:
.text:0000000141BAFB57 lea rcx, [rbp+520h+var_20]
.text:0000000141BAFB5E lea rdx, abc_data
.text:0000000141BAFB65 call sub_141CCAC80
.text:0000000141BAFB65 subroutine endp ; sp-analysis failed
.text:0000000141BAFB65
.text:0000000141BAFB6A jmp loc_141BAFA9C
.text:0000000141BAFB6F
我已经尝试通过 Edit > Patch Program Assemble 直接在 HEX 视图中编辑指令,使用 IDAPatcher,并使用 Fetanyl 插件......它总是将指令移到 endp 语句之外,破坏代码......
这在一般情况下是不可能的还是我做错了什么?
我试过 OllyDbg 但它不能打开 64 位文件...