idapython常用api记录7.0

本文记录了IDAPython在分析二进制文件时的一些常用API,包括获取光标位置、遍历段、获取函数信息、读取指令等操作,并提到了在处理跳转指令和函数边界时可能遇到的问题及解决办法。
摘要由CSDN通过智能技术生成

2019-02-13 idapython常用api记录

以下代码片段可以在ida的output窗口中测试用,需要引入相关的模块即可。

import idaapi
import idc
import idautils

后续需要使用的程序代码指令


0017C24                 CODE32
LOAD:00017C24
LOAD:00017C24 ; =============== S U B R O U T I N E =======================================
LOAD:00017C24
LOAD:00017C24 ; Attributes: thunk
LOAD:00017C24
LOAD:00017C24 ; int fstat(int fd, struct stat *buf)
LOAD:00017C24 fstat                                   ; CODE XREF: sub_136A44+64↓p
LOAD:00017C24                 ADRL            R12, 0x1C1C2C
LOAD:00017C2C                 LDR             PC, [R12,#(off_1C2B20 - 0x1C1C2C)]! ; __imp_fstat
LOAD:00017C2C ; End of function fstat
LOAD:00017C2C
....

0017C30
LOAD:00017C30 ; =============== S U B R O U T I N E =======================================
LOAD:00017C30
LOAD:00017C30
LOAD:00017C30                 EXPORT start
LOAD:00017C30 start                                   ; DATA XREF: LOAD:00000018↑o
LOAD:00017C30                                         ; LOAD:stru_66C↑o
LOAD:00017C30                 LDR             R0, =(unk_1C3000 - 0x17C3C)
LOAD:00017C34                 ADD             R0, PC, R0 ; unk_1C3000
LOAD:00017C38                 B               __cxa_finalize
LOAD:00017C38 ; End of function start
LOAD:00017C38
LOAD:00017C38 ; ---------------------------------------------------------------------------
LOAD:00017C3C off_17C3C       DCD unk_1C3000 - 0x17C3C
LOAD:00017C3C                                         ; DATA XREF: start↑r


0017C3C                                         ; DATA XREF: start↑r
LOAD:00017C40 ; ---------------------------------------------------------------------------
LOAD:00017C40
LOAD:00017C40 loc_17C40                               ; DATA XREF: LOAD:00017C5C↓o
LOAD:00017C40                                         ; LOAD:off_17C68↓o
LOAD:00017C40                 CMP             R0, #0
LOAD:00017C44                 BXEQ            LR
LOAD:00017C48                 BX              R0
LOAD:00017C4C ; ---------------------------------------------------------------------------
LOAD:00017C4C                 MOV             R1, R0
LOAD:00017C50                 LDR             R2, =(unk_1C3000 - 0x17C60)
LOAD:00017C54                 LDR             R0, =(loc_17C40 - 0x17C64)
LOAD:00017C58                 ADD             R2, PC, R2 ; unk_1C3000
LOAD:00017C5C                 ADD             R0, PC, R0 ; loc_17C40
LOAD:00017C60                 B               __cxa_atexit
LOAD:00017C60 ; ---------------------------------------------------------------------------
LOAD:00017C64 off_17C64       DCD unk_1C3000 - 0x17C60
LOAD:00017C64                                         ; DATA XREF: LOAD:00017C50↑r
LOAD:00017C68 off_17C68       DCD loc_17C40 - 0x17C64 ; DATA XREF: LOAD:00017C54↑r
LOAD:00017C6C                 CODE16
LOAD:00017C6C
LOAD:00017C6C ; =============== S U B R O U T I N E =================&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值