lifting-bits / remill

Library for lifting machine code to LLVM bitcode
Apache License 2.0
1.22k stars 143 forks source link

Fix big endian type conversions for registers #699

Closed 2over12 closed 4 months ago

2over12 commented 4 months ago

In the sleigh lifter parameters are sometimes lifted as word type, regardless of their varnode size in order to produce an address (ie. at CPUI_LOAD/STORE). Previously this was transparently handled by the Register param loading. This doesnt really work on big endian systems since we will load the high bits. We now insert explicit integer<->integer conversion