Herschel
Herschel copied to clipboard
HrDecoder: invalid decoding of PUSH R8..15
This is e0301dc20bbe201b0e6476709fafeb45e0d6de0b.
HrDecoder output:
00018060 55 push RBP
00018061 48|89 E5 mov RBP, RSP
00018064 41 inc ecx
00018065 57 push RDI
00018066 41 inc ecx
00018067 56 push RSI
00018068 41 inc ecx
00018069 55 push RBP
0001806A 41 inc ecx
0001806B 54 push RSP
0001806C 53 push RBX
0001806D 48|81 EC 08 01 00 00 sub RSP, 264
00018074 41 inc ecx
00018075 89 F6 mov esi, esi
00018077 48|89 FB mov RBX, RDI
Correct output:
.text:0000000000018060 push rbp
.text:0000000000018061 mov rbp, rsp
.text:0000000000018064 push r15
.text:0000000000018066 push r14
.text:0000000000018068 push r13
.text:000000000001806A push r12
.text:000000000001806C push rbx
.text:000000000001806D sub rsp, 108h
.text:0000000000018074 mov r14d, esi
.text:0000000000018077 mov rbx, rdi
I added x86_64 and SSE support to my ElfDecoder (https://github.com/X547/OberonUtils/tree/master/PE%20Decoder). Disassembler is good enough to correctly handle various PE and ELF binaries. Tested on Windows and Haiku system executables and libraries. Also I wrote RISC-V disassembler from scratch (WorkDecRISCV) in 2 days.
Thank you for the feedback and reports; i am currently in a deep 'sprint' since Jan 1st. Once I'm thru with it, I'll get back to the issues you've discovered.