JonathanSalwan / Triton

Triton is a dynamic binary analysis library. Build your own program analysis tools, automate your reverse engineering, perform software verification or just emulate code.
https://triton-library.github.io
Apache License 2.0
3.4k stars 524 forks source link

Fix descriptions (disassembly) for movss instructions in x86 tester #1230

Closed Trust04zh closed 1 year ago

Trust04zh commented 1 year ago

descriptions for movss instructions in x86 tester do not match the real instructions, this impacts the debugging information but does not undermine the effectiveness of the testing.

some references:

movss instruction formats at https://www.felixcloutier.com/x86/movss

result of disassembly obtained by capstone

>>> from capstone import *
>>> 
>>> CODE = b"\xf3\x0f\x10\xc1" \
...             + b"\xf3\x0f\x11\x03" \
...             + b"\xf3\x0f\x10\x03"
>>> 
>>> md = Cs(CS_ARCH_X86, CS_MODE_32)
>>> for i in md.disasm(CODE, 0x1000):
...     print("0x%x:\t%s\t%s" %(i.address, i.mnemonic, i.op_str))
... 
0x1000: movss   xmm0, xmm1
0x1004: movss   dword ptr [ebx], xmm0
0x1008: movss   xmm0, dword ptr [ebx]