Open joelreymont opened 3 weeks ago
Going through the data and marking the missing bits as C strings (A
) does the trick.
This is related to how our string detection works -- it scans for strings and create a list of strings. During this process, short strings (length <4) are ignored to avoid too many false positives.
This should be improved and integrate information from multiple sources. For example, if we see a code xref to a candidate string, even if it is short, we should still create a string there. A more common case is code like printf("%d", ...)
, and right now we miss the string "%d" because it is short
Related to https://github.com/Vector35/binaryninja-api/issues/3428. Note they are not duplicates -- this issue talks about detecting these strings automatically, while #3428 talks about maintaining them inside of the list of strings
This is related to how our string detection works -- it scans for strings and create a list of strings. During this process, short strings (length <4) are ignored to avoid too many false positives.
This should be improved and integrate information from multiple sources. For example, if we see a code xref to a candidate string, even if it is short, we should still create a string there. A more common case is code like
printf("%d", ...)
, and right now we miss the string "%d" because it is short
So I've never had a complaint with the string detection logic... but now since you brought it up I suddenly find myself noticing cases where they could use some improvement and it would make my life easier if the usage context were to be evaluated around any "potential strings" that were initially skipped over for cases just like the printf example mentioned. I set my minimum string length to 3 typically so there are fewer cases that are skipped over (and a bit more garbage) but I would probably move it back to 4 if there were some context based cases being taken into consideration.
Version and Platform (required):
Internal binary
major dine favor
.DjiAircraftInfo_GetAircraftTypeByCameraVersion
...Note that BN picks up some of the strings but misses the others
What the data looks like