def format_mem(results, append=True): global scroll regs, stack = results string = copy(style) string += "<div>" string += "".join((i + " "*(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 " % "{: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
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())
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())