You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This code uses ctypes to normalize the constant values to their respective bit sizes, but erroneously assumes c_long/c_ulong to always be 64 bit in size. This is however platform dependent, as the c standard only guarantees the following minimum bit sizes: char: 8, short: 16, int: 16,, long: 32
The text was updated successfully, but these errors were encountered:
This should be easy to fix as soon as #318 is merged, because that pull request adds a new method normalize_int(v: int, size: int, signed: bool) -> int which could be reused here to replace the ctypes usage.
When decompiling functions on windows, 64 bit constants are truncated to 32 bit.
This is caused by the following code in the backend:
dewolf/decompiler/backend/cexpressiongenerator.py
Lines 83 to 94 in d4b9357
dewolf/decompiler/backend/cexpressiongenerator.py
Lines 296 to 307 in d4b9357
This code uses ctypes to normalize the constant values to their respective bit sizes, but erroneously assumes
c_long
/c_ulong
to always be 64 bit in size. This is however platform dependent, as the c standard only guarantees the following minimum bit sizes:char: 8
,short: 16
,int: 16,
,long: 32
The text was updated successfully, but these errors were encountered: