keystone
keystone copied to clipboard
adr register,constant error
`>>> import keystone
import capstone KS_THUMB = keystone.Ks(keystone.KS_ARCH_ARM, keystone.KS_MODE_THUMB) encoding, count = KS_THUMB.asm("adr r8,0x8fb8",0x13AAE) bytes(encoding).hex() 'aff6f828'
`

constant should be 0x8fb8, but when the code is decompiled, the constant becomes 0x12FB8
when i use capstone,the result becomes
`>>> import keystone
import capstone KS_THUMB = keystone.Ks(keystone.KS_ARCH_ARM, keystone.KS_MODE_THUMB) encoding, count = KS_THUMB.asm("adr r8,0x8fb8",0x13AAE) bytes(encoding).hex() 'aff6f828' codes = [] addr = 0x13AAE code = bytes(encoding) for i in CS_THUMB.disasm(code, addr): ... codes.append(i) ... codes [<CsInsn 0x13aae [aff6f828]: subw r8, pc, #0xaf8>]`