TraceWidget.py 文件源码

python
阅读 34 收藏 0 点赞 0 评论 0

项目:idasec 作者: RobinDavid 项目源码 文件源码
def add_chunk_trace_table(self, table, trace, k, index):
        i = index
        while k in trace.instrs:
            inst = trace.instrs[k]
            if k in trace.metas:
                for name, arg1, arg2 in trace.metas[k]:
                    if name == "wave":
                        infos = ["=", "========", "> Wave:"+str(arg1)]
                    elif name == "exception":
                        infos = ["", "", "Exception type:"+str(arg1)+" @handler:"+str(arg2)]
                    elif name == "module":
                        infos = ["", "Module", arg1]
                    else:
                        infos = ["", "", "Invalid"]
                    for col_id, cell in enumerate(infos):
                        newitem = QtWidgets.QTableWidgetItem(cell)
                        newitem.setFlags(newitem.flags() ^ QtCore.Qt.ItemIsEditable)
                        table.setItem(i, col_id, newitem)
                    i += 1
            info = [str(k), hex(inst.address)[:-1], inst.opcode]
            for col_id, cell in enumerate(info):
                newitem = QtWidgets.QTableWidgetItem(cell)
                newitem.setFlags(newitem.flags() ^ QtCore.Qt.ItemIsEditable)
                table.setItem(i, col_id, newitem)
            i += 1
            k += 1
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号