aaaaaaaaaaaa
代码改变世界

ida脚本学习

2018-02-07 17:07  二进制乐谱  阅读(579)  评论(0编辑  收藏  举报
#!/usr/bin/env python
#coding:utf-8

from idc import  *
import idaapi
import idautils


import os
os.system("cls")

#打印当前光标在的位置
ea = idc.ScreenEA()

#print idc.__file__
#----------------------------------------------------------------------
def  test():
    """"""

    print "%x"%(ea)

    #和上一句一样
    print "%x"%here()

    #最小地址
    print "minea%x"%(MinEA())

    #最大地址
    print "maxea%x"%(MaxEA())


    print "segname%s"%(idc.SegName(ea))

    #打印指令
    print "GetOpnd%s"%(GetOpnd(ea, 0))
    print "GetOpnd%s"%(GetOpnd(ea, 1))
    print "GetOpnd%s"%(GetOpnd(ea, 2))

    print  "GetDisasm %s"%(GetDisasm(ea))

    print "GetMnem %s"%GetMnem(ea)
    
    #判断是否为有效地址
    if here()!=idaapi.BADADDR:
        print "idaapi.BADADDR %x"%idaapi.BADADDR


#打印libnative_lib.so中的所有函数
for seg in idautils.Segments():
    mname = SegName(seg)
    if "libnative_lib.so"in mname:
        print SegName(seg)
        print "%x %x"%(SegStart(seg) ,SegEnd(seg))
        funlist =  idautils.Functions(SegStart(seg),SegEnd(seg))
        for func in funlist:
            print GetFunctionName(func)

脚本打印结果

 

aaaaaaaaaaaaa