function signatures uniquely identifies a function within a program or module. it refers to the specific way a function is defined, including details about its name, return type, parameters, and additional attributes. ghidra can help fix function signature's to greatly improve decompiler output.
root@sre:~$ man {scanf}
...
* the output will display the function signature for the specified C functions
- doesn't work on "main()" as there is no manual for it
root@sre:~$ ./ghidra
ghidra > decompile > right-click the {functionName} > Edit Function Signature
name: {undefined main(int argc, char **argv)}
* only modify the area where the Application Binary Interface (ABI) is constant in the ABI
- ABI is a standard that defines how application programs interact with the
operating system at the binary level. It specifies conventions for calling
functions, passing arguments, returning values, and handling system calls,
ensuring compatibility between different software components on
Unix-like operating systems
- Windows/Microsoft have its own ABI for it OS