avast / avast/retdec-idaplugin
Decompilation of object or rebased files
- Dominant language
- C++
- Stars
- 799
- Forks
- 132
- PR merge metrics
- No merged PRs in 30d
Description
Decompilation via RetDec idaplugin gets into troubles if IDA has the file mapped on a different address than RetDec. In such a case, all metadata that come from IDA in config database are wrong when applied on image loaded by RetDec's image loader library.
This happens for object files. E.g. [hello.zip](https://github.com/avast-tl/retdec-idaplugin/files/1674373/hello.zip), where IDA has `main()` on address `0x8000000` and RetDec has it on `0x34`.
The same thing happens if user makes a rebase in IDA. E.g. here [mytest.zip](https://github.com/avast-tl/retdec-idaplugin/files/1674394/mytest.zip), `main()` is at `0x8900180`, but in IDA, we can do _Edit→Segments→Rebase program_ to `0x1000000` and run decompilation.
Solution: Probably get segments mappings from IDA and apply them in RetDec. This might be tricky, since RetDec libraries are probably not ready for it.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.