-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Problem with read_unicode_str_va function #67
Comments
Hi, Can you paste the full stack trace, so that we can see which line throws the error ? Also, can try to repro this issue with the C library and see if it works (or not ?) Thanks. |
Ok, thanks for the help. I tested with C library, it's working, the return string is 'Process' which is the expected result. and here is the stack trace:
|
I investigate the problem further, it seems like ffi.string() function, if cdata point to pointer of bytes (in our case uint8_t *contents) stop at first null. One solution is to use ffi.unpack() instead. |
@0xarash thanks for investigating. Could you make a pull request when you have a working solution ? |
@Wenzel OK I would create a PR today. |
Hello,
I'm trying to read UNICODE_STRING from a structure but hadn't any luck. Here is a info I have about the problem:
I did test on different structures, I could extract the string and the length manually with vmi.read_va, and some other functions
I checked read_unicode_str_va, the returned value.encoding and value.length seems correct, but value.contents not. extracted buffer just have one character of the string.
The host is CentOS 7 and python version is 3.6.8
Here is the error message I receive:
UnicodeDecodeError: 'utf-16-le' codec can't decode byte 0x50 in position 0: truncated data
Here is the snipped code I'm using for test.
Any idea how to deal with this problem
The text was updated successfully, but these errors were encountered: