Vector35 / binaryninja-api

Public API, examples, documentation and issues for Binary Ninja
https://binary.ninja/
MIT License
900 stars 204 forks source link

invalid translation from xmm0 to zmm0 breaking decompilation #4370

Closed psifertex closed 1 year ago

psifertex commented 1 year ago

Discussed in https://github.com/Vector35/binaryninja-api/discussions/4343

Originally posted by **sunbo2001** May 25, 2023 ![image](https://github.com/Vector35/binaryninja-api/assets/83763549/89eccc10-2359-4c55-93a2-cda1f5d91cfd) The 'chart_course' function is supposed to take only one argument, arg1, but the parsing results in a second argument, zmm0. Now I Edit the Function with 'Edit Function Properties' : ![image](https://github.com/Vector35/binaryninja-api/assets/83763549/e286e74b-ce2d-4990-be85-426a9da0063b) I unchecked zmm0,but it still appears: ![image](https://github.com/Vector35/binaryninja-api/assets/83763549/8238d8e9-9bf4-4937-b80b-ac959ade2dca) another question is function 'atof’,: ![image](https://github.com/Vector35/binaryninja-api/assets/83763549/e0851ff2-5a61-4af6-9b41-09bf4bb753d8) as you see, the return register of this function should be xmm0,and I also used the same way to edit function properties,but nothing happen. ![image](https://github.com/Vector35/binaryninja-api/assets/83763549/d5a3b807-4526-4e5e-aaab-55169c85ac38) in next picture, the arg2 should be replaced by var_78. ![image](https://github.com/Vector35/binaryninja-api/assets/83763549/2ca7555e-59c8-4240-9b9b-5c7ad96be307) is it a bug? the binary file is here: https://github.com/guyinatuxedo/nightmare/blob/master/modules/08-bof_dynamic/fb19_overfloat/overfloat

TL;DR

psifertex commented 1 year ago

Looks like we also have https://github.com/Vector35/binaryninja-api/issues/4027 which this is a duplicate of so you can track when that is resolved and this should also be fixed.