You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello, I am a user of Mcsema, and I have pushed some code to Mcsema before PL#780(which is not very important just a script).
and I want to contribute my tool to the community, is it ok? I am not sure my tool can be contributed to anvill project or Mcsema project。
During my use of Mcsema, I find that it can`t give out the correct parameters and return type of externally- defined functions in binaries (e.g. libc, libc++, libstdc++). Mcsema always completes the parameters with int64(as explained in the annotation, Mcsema supplies all the parameters with int and can pass nearly 80% of the test cases ). example as bellow:
as we all know cos comes a double and returns a double.
Although Mcsema leaves an interface --abi_loader and a generate_abi_wrapper.py, it still has some bugs with the above script, and the script can't deal with the C++ Name Mangling problem.
Inspired by the script, I write a tool that imports an elf file and outputs the complete details (in LLVM IR) of the external functions of the elf(with the help of readelf and clang). And my tool can deal with the C++ Name Mangling problem.
Here is an example。
the c++ source code is:
after compiler this source code into an elf, the symtable contains these external functions:
put this elf as input to my tool, part of the outputs are:
as we can see the outputs LLVM IR give the complete details of the external functions in this elf. and this file can be a input to Mcsema through --abi_loader。and this really works for Mcsema to lifting。my tool is automated.
in the previous issue in Mcsea #748, dear @pgoodman told me that Mcsema will no longer be maintained, and suggested me use the anvill. so i open an issue here and it seems that my tool may be a solution to the "anvill-specify-bitcode(Currently unsupported)" problem.
and I want to contribute my tool to the community, is it ok? I am not sure my tool can be contributed to anvill project or Mcsema project。
thank you very much!
The text was updated successfully, but these errors were encountered:
Hello, I am a user of Mcsema, and I have pushed some code to Mcsema before PL#780(which is not very important just a script).
and I want to contribute my tool to the community, is it ok? I am not sure my tool can be contributed to anvill project or Mcsema project。
During my use of Mcsema, I find that it can`t give out the correct parameters and return type of externally- defined functions in binaries (e.g. libc, libc++, libstdc++). Mcsema always completes the parameters with int64(as explained in the annotation, Mcsema supplies all the parameters with int and can pass nearly 80% of the test cases ). example as bellow:
as we all know cos comes a double and returns a double.
Although Mcsema leaves an interface --abi_loader and a generate_abi_wrapper.py, it still has some bugs with the above script, and the script can't deal with the C++ Name Mangling problem.
Inspired by the script, I write a tool that imports an elf file and outputs the complete details (in LLVM IR) of the external functions of the elf(with the help of readelf and clang). And my tool can deal with the C++ Name Mangling problem.
Here is an example。
the c++ source code is:
after compiler this source code into an elf, the symtable contains these external functions:
put this elf as input to my tool, part of the outputs are:
as we can see the outputs LLVM IR give the complete details of the external functions in this elf. and this file can be a input to Mcsema through --abi_loader。and this really works for Mcsema to lifting。my tool is automated.
in the previous issue in Mcsea #748, dear @pgoodman told me that Mcsema will no longer be maintained, and suggested me use the anvill. so i open an issue here and it seems that my tool may be a solution to the "anvill-specify-bitcode(Currently unsupported)" problem.
and I want to contribute my tool to the community, is it ok? I am not sure my tool can be contributed to anvill project or Mcsema project。
thank you very much!
The text was updated successfully, but these errors were encountered: