Better support for Delphi programs.
- Dominant language
- C++
- Stars
- 8.6k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Description
Since the new adjustments, the decompiler works much better with Delphi programs than before. The result is really impressive, and is more than many decompilers achieved. The recognition of standard functions works well, and the parameters are also recognized correctly.
Personally I think that you can get a lot more out of Delphi. Best example is the [IDR](https://github.com/crypto2011/IDR). This was once an interesting decompiler for Delphi programs, but apparently will not be further developed. The last commmits were several months ago. In the issues there is also a point for decompiling x64 programs. There it was mentioned that for this the complete decompiler core would have to be rewritten. But nothing's happened since.
What I think you should do: IDR contains a lot of know-how about the structure of Delphi programs. This recognizes inheritance of classes, interfaces and even events of controls, for example OnButtonClick. The assignment of methods to classes also works without any problems, which of course makes it much easier to understand the context of a function. All the methods are also recognized by RetDec and decompiled correctly. Wouldn't it make sense to somehow integrate all these possibilities into the RetDec environment, which have certainly been painstakingly developed by hand within several years? Somehow that would be cool if you could access all the metadata available in Delphi programs and integrate these names and prototypes directly into the decompilation.
In issue #116 a part of Delphi was already mentioned. The methods, which are in the header of a file, should also be read over it. That was already part of point #116.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing issue #116 and the referenced IDR project to understand the existing Delphi support and proposed metadata. The issue does not name RetDec files, tests, or an implementation entry point; completion would require defining and implementing a concrete scope for Delphi classes, interfaces, events, methods, names, and prototypes.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers, reverse-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100