feat: add ARM disassembler operation #2156
Open
+8,544
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Details
Supported Architectures
Features
Why Capstone?
Capstone is the industry standard disassembly framework used by:
This ensures accurate disassembly for security research and binary analysis.
Test plan
11 automated tests covering ARM32, ARM64, and Thumb modes
Manual test vectors
ARM32:
Input: 0100a0e3 001081e0 001041e0
Output:
mov r0, #1
add r1, r1, r0
sub r1, r1, r0
ARM64:
Input: fd7bbfa9 fd030091 c0035fd6
Output:
stp x29, x30, [sp, #-0x10]!
mov x29, sp
ret
Thumb:
Input: 80b5 0844 80bd
Output:
push {r7, lr}
add r0, r1
pop {r7, pc}
Files changed
package.jsonsrc/core/operations/DisassembleARM.mjssrc/core/vendor/capstone.min.jssrc/core/config/Categories.jsontests/operations/tests/DisassembleARM.mjstests/operations/index.mjs