IDAPython 解混淆记录

IDA 9.0, Python 3.13.5, MacOS ARM64


情况1

.text:000000000008130C                 ADRL            X19, dword_10B51C
.text:0000000000081314                 LDRSW           X8, [X19]
.text:0000000000081318                 MOV             X0, X20
.text:000000000008131C                 MOV             X1, X27
.text:0000000000081320                 MOV             W2, WZR

.text:0000000000081324                 LDR             X8, [X25,X8,LSL#3]
.text:0000000000081328                 BLR             X8

Python>idc.print_operand(0x8130C , 1)
'dword_10B51C'

Python>idc.get_operand_value(0x8130C ,1)
0x10b51c

情况2

.text:000000000008167C                 ADRP            X8, #dword_10B62C@PAGE
.text:0000000000081680                 LDRSW           X8, [X8,#dword_10B62C@PAGEOFF]
.text:0000000000081684                 LDR             X0, [X24]
.text:0000000000081688                 LDR             X8, [X25,X8,LSL#3]
.text:000000000008168C                 BLR             X8

Python>idc.print_operand(0x8167C  , 1)
'#dword_10B62C@PAGE'
Python>idc.get_operand_value(0x8167C ,1)
0x10b000

Python>idc.print_operand(0x81680  , 1)
'[X8,#dword_10B62C@PAGEOFF]'
Python>idc.get_operand_value(0x81680 ,1)
0x62c

0x10b000 + 0x62c = 0x10B62C

情况3

.text:000000000008132C                 LDRSW           X8, [X19,#(dword_10B520 - 0x10B51C)]
.text:0000000000081330                 MOV             X2, X0
.text:0000000000081334                 MOV             W3, #1
.text:0000000000081338                 MOV             X0, X23

.text:000000000008133C                 LDR             X8, [X25,X8,LSL#3]
.text:0000000000081340                 MOV             X1, X20
.text:0000000000081344                 BLR             X8

Python>idc.print_operand(0x8132C , 1)
'[X19,#(dword_10B520 - 0x10B51C)]'


Python>idc.get_operand_value(0x8132C ,1)
0x4

0x10B520 - 0x10B51C = 0x4

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值