如何修复 radare2 中的“cannot assemble 'bl 0x400588' at line 3”
How to fix 'cannot assemble 'bl 0x400588' at line 3' in radare2
我正在挂接一个二进制文件 (aarch64),我想重写分支指令以分支到特定地址。我正在使用 Radare2 重写分支。但是只要分支的目标地址在当前指令地址之前,它就会说 'cannot assemble...' 。它也不能 assemble 'b.gt ...'
即使我尝试使用 (wa) 使用相同的操作码编辑指令,它也会给出相同的错误(不能 assemble),但如果我尝试使用 (wx) 复制十六进制指令,那么它就可以工作! .它也可以正常工作(使用 wa)用于其他指令,如 (mov)
$ r2 -A -w -b64 dummy
...
0x0040064c f3ffff17 b 0x400618
...
;-- branch:
0x00400588 e007bfa9 stp x0, x1, [sp, -0x10]!
...
[0x0040064c]> wa bl 0x400588
Cannot assemble 'bl 0x400588' at line 3
[0x0040064c]> wa b 0x400618
Cannot assemble 'b 0x400618' at line 3
[0x0040064c]> wx f3ffff17
[0x0040064c]> wa bl loc.branch
Cannot assemble 'bl loc.branch' at line 3
The instruction at 0x0040064c should be
bl 0x00400588
radare2 不支持 arm64。现在向后分支问题在 radare2 中得到修复。
我正在挂接一个二进制文件 (aarch64),我想重写分支指令以分支到特定地址。我正在使用 Radare2 重写分支。但是只要分支的目标地址在当前指令地址之前,它就会说 'cannot assemble...' 。它也不能 assemble 'b.gt ...'
即使我尝试使用 (wa) 使用相同的操作码编辑指令,它也会给出相同的错误(不能 assemble),但如果我尝试使用 (wx) 复制十六进制指令,那么它就可以工作! .它也可以正常工作(使用 wa)用于其他指令,如 (mov)
$ r2 -A -w -b64 dummy
...
0x0040064c f3ffff17 b 0x400618
...
;-- branch:
0x00400588 e007bfa9 stp x0, x1, [sp, -0x10]!
...
[0x0040064c]> wa bl 0x400588
Cannot assemble 'bl 0x400588' at line 3
[0x0040064c]> wa b 0x400618
Cannot assemble 'b 0x400618' at line 3
[0x0040064c]> wx f3ffff17
[0x0040064c]> wa bl loc.branch
Cannot assemble 'bl loc.branch' at line 3
The instruction at 0x0040064c should be
bl 0x00400588
radare2 不支持 arm64。现在向后分支问题在 radare2 中得到修复。