示例#1
0
def format_mem(results, append=True):

    global scroll

    regs, stack = results

    string = copy(style)
    string += "<div>"
    string += "".join((i + "&nbsp;"*(4-len(i)) + parse_mem(mem) + "\n") + "<br>" for i, mem in regs)
    string = string[:-4]
    string += "</div>"
    form.textEdit.clear()
    form.textEdit.insertHtml(string)

    string = copy(style)
    string += "<div>"
    string += "".join((cPrint("red", "RSP+%s&nbsp;" %  "{:03x}".format(i)) + parse_mem(mem)) + "<br>" for i, mem in stack)
    string += "</div>"
    form.textEdit_2.clear()
    form.textEdit_2.insertHtml(string)
    offset = GetFuncOffset(cpu.rip)

    if append:
        form.listWidget.addItem(offset if offset else hex(cpu.rip).replace("L", ""))
        scroll = True
示例#2
0
def find(arg, int_size):

    matches = []
    addr = 0

    for x in range(100):
        newAddr = FindText(addr, SEARCH_DOWN, 0, 0, arg)
        if newAddr != 0xffffffffffffffffL:
            if newAddr > addr:
                addr = newAddr
                matches.append(addr)
            else:
                addr += 0x4
        else:
            break

    string = copy(style)
    string += "<p>"

    for addr in matches:
        regions = []
        get_mem_recursive(addr, regions, int_size=int_size)
        string += parse_mem(regions) + "<br>"

    string += "</p>"

    form.textEdit.append(string)
    form.textEdit.verticalScrollBar().setValue(
        form.textEdit.verticalScrollBar().maximum())
示例#3
0
文件: ea_cmd.py 项目: UniqueSB/ida_ea
def get(addr, int_size, n=20):

    string = copy(style)
    string += "<p>"

    for x in range(n):
        regions = []
        get_mem_recursive(addr + x * 4, regions, int_size=int_size)
        string += parse_mem(regions) + "<br>"

    string += "</p>"

    form.textEdit.append(string)
    form.textEdit.verticalScrollBar().setValue(form.textEdit.verticalScrollBar().maximum())