Wrong result for x64-lea with different prefixes
- Dominant language
- C++
- Stars
- 8.6k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Description
Subject: https://github.com/rfalke/decompiler-subjects/blob/master/from_holdec/x64_lea/x64_elf/subject.exe
Output:
```
int main(int argc, char ** argv) {
// 0x401040
printf("lea1 should=0x1a2a3a4a5a6a7b8b/1885383485026892683 is=0x%016lx\n", 0x5a6a7b8b);
printf("lea2 should=0x1a2a3a4a5a6a7b8b/1885383485026892683 is=0x%016lx\n", 0x5a6a7b8b);
printf("lea3 should=0x000000005b6b7b8b/ 1533770635 is=0x%016lx\n", 0x5b6b7b8b);
printf("lea4 should=0x000000005b6b7b8b/ 1533770635 is=0x%016lx\n", 0x5b6b7b8b);
printf("lea5 should=0x1b2b3b4b5b6b7b8b/1957723657864969099 is=0x%016lx\n", 0x5b6b7b8b);
printf("lea6 should=0x000000005b6b7b8b/ 1533770635 is=0x%016lx\n", 0x5b6b7b8b);
return 0;
}
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the linked x64_elf/subject.exe and the six expected-versus-actual printf results in the issue. Trace how the decompiler handles the x64 LEA cases with different prefixes, then verify that all six reported values match the expected 64-bit and 32-bit results.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- reverse-engineering
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100