I am using radare2 to analyze libpng_amd64.so.1.6.34, commands are as follows:
r2 = r2pipe.open(binary_file) r2.cmd('aaa') funcs = r2.cmdj('aflj')
len(funcs) is 461, but the number of functions got by IDA is 526, besides the numbers of strings, imports, exports... are also different.
I checked the result of radare2 and found some issuses, for example, the function
png_write_row is followed by
png_write_rows. Radare2 can not identity the second function
png_write_rows and consider all code of those two functions to
png_write_row. IDA works correctly.
Why they are different? and Why radare2 can not identity functions correctly? how can I use it to get correct results?