Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

plugins/cpu/arm_thumb: Supports only Thumb, not Thumb2 #24

Closed
pfalcon opened this issue Jun 5, 2017 · 4 comments
Closed

plugins/cpu/arm_thumb: Supports only Thumb, not Thumb2 #24

pfalcon opened this issue Jun 5, 2017 · 4 comments

Comments

@pfalcon
Copy link
Owner

pfalcon commented Jun 5, 2017

Continuing from #23 . See "orr/mov.w", "sub.w", "ldr" below.

│0802cf44 9878         ldrb     r0, [r3, #2]                                                                                           │
│0802cf46 5978         ldrb     r1, [r3, #1]                                                                                           │
│0802cf48 f268         ldr      r2, [r6, #12]                                                                                          │
│0802cf4a 41ea0021     orr/mov.w                                                                                                       │
│0802cf4e 0333         add      r3, #3                                                                                                 │
│0802cf50 0b44         add      r3, r1                                                                                                 │
│0802cf52 043a         sub      r2, #4                                                                                                 │
│0802cf54 7360         str      r3, [r6, #4]                                                                                           │
│0802cf56 f260         str      r2, [r6, #12]                                                                                          │
│0802cf58 fff732ba     b.w      0xa02c3c0                                                                                              │
│0802cf5c 5b10         asr      r3, r3, #1                                                                                             │
│0802cf5e 012b         cmp      r3, #1                                                                                                 │
│0802cf60 a5f10401     sub.w                                                                                                           │
│0802cf64 5ed0         beq      loc_0802d024                                                                                           │
│0802cf66 55f8042c     ldr                                  
@pfalcon
Copy link
Owner Author

pfalcon commented Jun 5, 2017

@dpgeorge, @flowergrass : FYI

@dpgeorge
Copy link

dpgeorge commented Jun 6, 2017

Only standard Thumb instructions were fully implemented. As such there's a lot of decoding missing from the Thumb 2 extensions.

@pfalcon
Copy link
Owner Author

pfalcon commented Jun 23, 2017

@dpgeorge : Thanks for emphasizing that. Added explicit note of that in 72da2e8 and keeping this open as a known issue.

@pfalcon pfalcon changed the title plugins/cpu/arm_thumb: Operands for some instructions aren't decoded plugins/cpu/arm_thumb: Supports only Thumb, not Thumb2 Jun 23, 2017
@pfalcon
Copy link
Owner Author

pfalcon commented Jan 30, 2018

The situation is now documented in https://github.com/pfalcon/ScratchABit/tree/master/plugins/cpu , and there's an alternative in the form of Capstone plugin.

@pfalcon pfalcon closed this as completed Jan 30, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants