Skip to content

Variable name propagation #2558

@yrp604

Description

@yrp604

Is your feature request related to a problem? Please describe.
Reversing code is hard, and I need all the help I can get.

Describe the solution you'd like
Some APIs provide named parameters in their type signatures. For example, opening and reading a file currently might look something like this:

HANDLE rax_1 = CreateFileA(...)
BOOL rax_2 = ReadFileA(rax_1, ...)

If the type signatures provide file names, this could potentially default to something like this:

HANDLE hFile_1 = CreateFileA(...)
BOOL  rax_2 = ReadFileA(hFile_1, ...)

Notably in this case, rax_1 now autodefault to being named hFile_1 due to it being consumed by ReadFileA. This behavior (as in the name coming from the use site) isn't the specific request, but rather just an example. This request is general -- through some mechanism it would be great if variable names could be inferred, even in a subset of cases.

Describe alternatives you've considered
The alternative here is not inferring names, which would be kinda a bummer so I didn't consider it.

Additional context
I believe this is a recent IDA feature.

Metadata

Metadata

Assignees

Labels

Component: UIIssue needs changes to the user interfaceEffort: HighIssue should take > 1 monthImpact: HighIssue adds or blocks important functionality

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions