Open tesuji opened 6 years ago
Updated with radare/radare2
docker image.
x86.nz
plugin does not work either.
I think this goes under the same bug.
$ rasm2 -a x86 -b 32 'call dword [eax]'
ff10
$ rasm2 -a x86 -b 32 'call dword [10*eax]'
ff10
$ rasm2 -a x86 -b 32 'call dword [110*eax]'
ff10
$ rasm2 -a x86 -b 32 'call dword [4*eax]'
ff10
$ rasm2 -a x86 -b 32 'call dword [4*eax+7]'
ff5007
$ rasm2 -a x86 -b 32 'call dword [4*eax+0]'
ff10
$ rasm2 -a x86 -b 32 'call dword ptr [4*eax+0]'
ff10
Greetings,
x86.nz (x86 handmade assembler) is one of the many x86 assemblers available in radare2 and is updated frequently. Please add a test case so we can fix x86.nz in https://github.com/radare/radare2-regressions/tree/master/new/db/asm (See https://github.com/radare/radare2-regressions/blob/master/new/README.md) You can do so with github web editor without even cloning the repo.
You can contribute to x86.nz by completing the following file https://github.com/radare/radare2/blob/master/libr/asm/p/asm_x86_nz.c. You can also use keystone(http://keystone-engine.org) within radare2/rasm2 by installing the radare2 plugin via r2pm :
r2pm -i keystone-lib
r2pm -i keystone
then
rasm2 -a x86.ks…
or in radare2 session
e asm.assembler = x86.ks
Others x86 assemblers are also available trough r2pm or master (see rasm2 -L list):
a___ 16 32 64 x86.as LGPL3 Intel X86 GNU Assembler
a___ 16 32 64 x86.nasm LGPL3 X86 nasm assembler
a___ 16 32 64 x86.nz LGPL3 x86 handmade assembler
ad__ 32 x86.olly GPL2 OllyDBG X86 disassembler
And no @sudhackar this is not the same issue. Please open a new issue with that info.
Work environment
Expected behavior
x86
andx86.nz
asm plugins should work:Actual behavior
Additional information
The reversed operation works:
x86.as
andx86.nasm
plugins works well: