hanniba911 / zynamics

Automatically exported from code.google.com/p/zynamics
0 stars 0 forks source link

getReilCode failing on a block containing movsd instruction #37

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Call getReilCode in a block containing the instruction:
      from the gui: movsd qword ss:[void * esp], oword xmm0
      from the api: movsd qword ss:[esp+var_BC], oword xmm0
      instruction bytes: F2 0F 11 04 24
2. Got an exception

What is the expected output? What do you see instead?
Expect the reil translation, but I got an Exception instead.

What version of the product are you using? On what operating system?
Binnavi 6.0. The OS is Windows 7.

Please provide any additional information below.
Exception details:
com.google.security.zynamics.binnavi.API.reil.InternalTranslationException was 
unhandled
Message: An unhandled exception of type:
'com.google.security.zynamics.binnavi.API.reil.InternalTranslationException' 
occurred in BinNavi.exe

Additional information: 
com.google.security.zynamics.reil.translators.InternalTranslationException: 
Error: Argument instruction is not a movsd instruction (invalid number of 
operands)

--
$ printf "\xf2\x0f\x11\x04\x24" | ndisasm -b32 -
00000000  F20F110424        movsd [esp],xmm0

Original issue reported on code.google.com by cacho...@gmail.com on 8 Dec 2014 at 6:53

GoogleCodeExporter commented 8 years ago
Reviewing Binnavi's code, there is no distinction between x86's movsd and SSE's 
movsd. So a check there and classifying the SSE one as Uknown seems the best 
solution.

Original comment by cacho...@gmail.com on 8 Dec 2014 at 7:22

GoogleCodeExporter commented 8 years ago
Ok, I managed to patch Binnavi jar but an official release would be better.

Original comment by cacho...@gmail.com on 9 Dec 2014 at 1:16

GoogleCodeExporter commented 8 years ago
Hey,

can you ping me at timkornau@google.com

Original comment by timkor...@google.com on 28 Apr 2015 at 8:11