idapython 处理IDA错误将数据转成了汇编指令

idapython 将汇编转成 int

import idc
import ida_bytes
import ida_kernwin

def convert_data():
        align_size = ida_kernwin.ask_long(4, "align size")
        end = ida_kernwin.ask_long(4, "end Addr")
        if align_size == None:
            return
        start = idc.get_screen_ea()
        print("Align %d bytes from 0x%X - 0x%X" % (align_size, start, end))
        ret = ida_bytes.del_items(start, 0,end)
        if ret == False:
            print("del_items error")
            return
        flag = None
        if align_size == 1:
            flag = ida_bytes.FF_BYTE
        elif align_size == 2:
            flag = ida_bytes.FF_WORD
        elif align_size == 4:
            flag = ida_bytes.FF_DWORD
        elif align_size == 8:
            flag = ida_bytes.FF_QWORD
        elif align_size == 16:
            flag = ida_bytes.FF_OWORD
        
        if flag == None:
            ida_kernwin.warning("align size is invalid")
            return
            
        while start < end:
            ret = ida_bytes.create_data(start, flag, align_size, ida_idaapi.BADADDR)
            # if ret == False:
            #     print("create_data error")
            #     return
            start += align_size


convert_data()            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值