Which ARM64 disassembler engine best to use in a driver?
I'm porting a driver over to ARM64, that driver relays crucially on some un-exported kernel symbols,
it currently finds in exported functions the required addresses, in x86/x64 that's quite nice. Ho weever the ARM64 ISA seams to be quite a terrible mess in comparison, no way to find there anything "by hand", so to say. Hence I need a ARM64 disassembler engine that I could use to find what I need, could anyone here recommend me a reliable lightweight and free ARM64 disassembler engine which I could use? Cheers David |
capstone ?
|
ARM64 code is pretty simple to disassemble: four bytes per instruction, and it is enough to apply a bit mask (and a substraction sometimes, if register is encoded) to distinguish the required instructions.
|
Yea seams not to be soo bad after all, i went with an approach like this:
Code:
for (i = 0; i < 0x40; i += 4, ptr += 4) { |
Capstone would be the most complete, battle proved and standalone disassembler framework that doesn't need to be part of other software to function. it's disassembly/disassembler framework that just works.
Also from its website Quote:
- reliable [✓] - lightweight [I don't know, it's it's a framework and support multiple architectures not just ARM64] - free ARM64 disassembler engine [✓] Edit: It look like you can build only selected architectures to suite your need, so lightweight [✓] I guess? https://www.capstone-engine.org/compile.html |
1 Attachment(s)
For my use it still seam overkill, a small custom approach worked out great, see attachment.
|
All times are GMT +8. The time now is 07:20. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX