def __init__(self): super(Ui_RenameClassDialog, self).__init__() self.d = QtGui.QDialog() self.setupUi(self.d) self.old_name = "" self.new_name = "" self.text_items = [] self.functions = [] self.header_files = [] self.ok_btn.clicked.connect(self.ok_btn_clicked) self.cancel_btn.clicked.connect(self.cancel_btn_clicked) self.class_cb.editTextChanged.connect(self.oldname_changed) self.new_name_edit.textChanged.connect(self.newname_changed) self.include_all_cb.stateChanged.connect(self.all_state_changed) visual_style.set(self.d) self.structname_to_file_table = {} self.field_to_struct_table = {} for h in proj.header_files(): hfile = hparser.HFile(h) for name in hfile.struct_list(): self.structname_to_file_table[name] = h # for field in hfile.get(name).names(): # l = self.field_to_struct_table.get(field, []) # l.append(name) # self.field_to_struct_table[field] = l self.struct_completer = QtGui.QCompleter( self.structname_to_file_table.keys(), self.d) self.struct_completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive) self.class_cb.setCompleter(self.struct_completer)
def __init__(self): super(Ui_RenameVarDialog, self).__init__() self.d = QtGui.QDialog() self.setupUi(self.d) self.old_name = "" self.new_name = "" self.vars = [] self.functions = [] self.ok_btn.clicked.connect(self.ok_btn_clicked) self.cancel_btn.clicked.connect(self.cancel_btn_clicked) self.old_name_edit.textChanged.connect(self.oldname_changed) self.new_name_edit.textChanged.connect(self.newname_changed) visual_style.set(self.d) self.structname_to_file_table = {} self.field_to_struct_table = {} for h in proj.header_files(): hfile = hparser.HFile(h) for name in hfile.struct_list(): self.structname_to_file_table[name] = h for field in hfile.get(name).names(): l = self.field_to_struct_table.get(field, []) l.append(name) self.field_to_struct_table[field] = l
def __init__(self): super(Ui_FindVirtualCallDialog, self).__init__() self.d = QtGui.QDialog() self.setupUi(self.d) self.selected_text = idaapi.get_highlighted_identifier() self.ok_btn.clicked.connect(self.ok_btn_clicked) self.cancel_btn.clicked.connect(self.cancel_btn_clicked) visual_style.set(self.d)
def __init__(self): super(Ui_GoToDialog, self).__init__() self.d = QtGui.QDialog() self.setupUi(self.d) self.goto_btn.clicked.connect(self.goto_btn_clicked) self.cancel_btn.clicked.connect(self.cancel_btn_clicked) self.goto_list.itemDoubleClicked.connect(self.item_double_clicked) visual_style.set(self.d) self.jump_list = []
def check_new_var_name(self): try: if not self.old_struct: raise BaseException() new_var = hparser.StructField(self.newvar_name_edit.text()).name if new_var in self.old_struct.names(): visual_style.set_as_alarmed(self.newvar_name_edit) else: visual_style.set(self.newvar_name_edit) except: visual_style.set(self.newvar_name_edit)
def __init__(self): super(Ui_FindTextDialog, self).__init__() self.d = QtGui.QDialog() self.setupUi(self.d) self.selected_text = idaapi.get_highlighted_identifier() self.ok_btn.clicked.connect(self.ok_btn_clicked) self.cancel_btn.clicked.connect(self.cancel_btn_clicked) self.only_named_functions.setVisible(False) visual_style.set(self.d)
def __init__(self): super(Ui_CreateClassDialog, self).__init__() self.d = QtGui.QDialog() self.setupUi(self.d) self.ok_btn.clicked.connect(self.ok_btn_clicked) self.cancel_btn.clicked.connect(self.cancel_btn_clicked) self.class_name_edit.textChanged.connect(self.renew_class_definition) self.class_size_edit.textChanged.connect(self.renew_class_definition) self.class_name_edit.textChanged.connect(self.renew_file_name) visual_style.set(self.d)
def __init__(self): super(Ui_FindFuncDialog, self).__init__() self.d = QtGui.QDialog() self.func_names = [] self.jump_list = {} self.setupUi(self.d) self.goto_btn.clicked.connect(self.goto_btn_clicked) self.cancel_btn.clicked.connect(self.cancel_btn_clicked) self.goto_list.itemDoubleClicked.connect(self.item_double_clicked) self.filter_edit.textChanged.connect(self.filter_edit_changed) self.hide_unkfunc_cb.stateChanged.connect(self.filter_edit_changed) visual_style.set(self.d)
def __init__(self): super(QuickMenu, self).__init__() self.d = QtGui.QDialog() self.button_clicked = None self.setupUi(self.d) self.selected_text = idaapi.get_highlighted_identifier() self.reload_headers_btn.clicked.connect( self.reload_headers_btn_clicked) self.goto_btn.clicked.connect(self.goto_btn_clicked) self.find_in_headers_btn.clicked.connect( self.find_in_headers_btn_clicked) self.find_in_decompiled_menu = QtGui.QMenu("", self.d) self.find_text_action = self.find_in_decompiled_menu.addAction( "Text/Var") self.find_virtual_call_action = self.find_in_decompiled_menu.addAction( "Virtual Call") self.find_text_action.triggered.connect(self.find_text_btn_clicked) self.find_virtual_call_action.triggered.connect( self.findvcall_btn_clicked) self.find_in_decompiled_btn.setMenu(self.find_in_decompiled_menu) self.rename_menu = QtGui.QMenu("", self.d) self.rename_class_action = self.rename_menu.addAction("Class") self.rename_class_action.triggered.connect(self.rename_class_clicked) self.rename_var_action = self.rename_menu.addAction("Variable") self.rename_var_action.triggered.connect(self.rename_btn_clicked) self.rename_btn.setMenu(self.rename_menu) self.create_menu = QtGui.QMenu("", self.d) self.create_class_action = self.create_menu.addAction("Class") self.create_var_action = self.create_menu.addAction("Variable") self.create_vtable_action = self.create_menu.addAction("VTable struct") self.create_class_action.triggered.connect( self.create_class_btn_clicked) self.create_var_action.triggered.connect(self.create_var_btn_clicked) self.create_vtable_action.triggered.connect( self.create_vtable_btn_clicked) self.create_btn.setMenu(self.create_menu) visual_style.set(self.d)
def __init__(self): super(Ui_SaveBinaryDumpDialog, self).__init__() self.d = QtGui.QDialog() self.setupUi(self.d) self.ok_btn.clicked.connect(self.ok_btn_clicked) self.cancel_btn.clicked.connect(self.cancel_btn_clicked) self.save_file_button.clicked.connect(self.save_file_clicked) self.addr_edit.textChanged.connect(self.addr_changed) self.length_edit.textChanged.connect(self.len_changed) self.filename = "" self.addr = -1 self.length = -1 visual_style.set(self.d)
def __init__(self): super(Ui_ReplaceDialog, self).__init__() self.d = QtGui.QDialog() self.do_mangled_fnnames = False self.do_unmangled_fnnames = False self.setupUi(self.d) self.replace_all_btn.clicked.connect(self.replace_all_btn_clicked) self.cancel_btn.clicked.connect(self.cancel_btn_clicked) self.mangled_fun_cb.stateChanged.connect(self.check_mangled_fun_names) self.unmangled_fun_cb.stateChanged.connect( self.check_unmangled_fun_names) visual_style.set(self.d)
def __init__(self): super(Ui_CreateVTableDialog, self).__init__() txt = idaapi.get_highlighted_identifier() print txt start_ea = decompiled.get_ea(txt) if txt else idc.here() print start_ea self.d = QtGui.QDialog() self.setupUi(self.d) self.ok_btn.clicked.connect(self.ok_btn_clicked) self.cancel_btn.clicked.connect(self.cancel_btn_clicked) self.name_edit.textChanged.connect(self.name_changed) self.prefix_name.textChanged.connect(self.prefix_changed) self.header_file_cb.clicked.connect(self.header_cb_switched) visual_style.set(self.d) self.vtable = decompiled.VirtualTable(start_ea) self.redraw()
def __init__(self): super(Ui_CreateVarDialog,self).__init__() self.d = QtGui.QDialog() self.setupUi(self.d) self.save_btn.clicked.connect(self.ok_btn_clicked) self.cancel_btn.clicked.connect(self.cancel_btn_clicked) visual_style.set(self.d) self.success = False self.structname_to_file_table = {} self.field_to_struct_table = {} for h in proj.header_files(): hfile = hparser.HFile(h) for name in hfile.struct_list(): self.structname_to_file_table[name] = h for field in hfile.get(name).names(): l = self.field_to_struct_table.get(field,[]) l.append(name) self.field_to_struct_table[field] = l self.class_cb.editTextChanged.connect(self.on_class_name_changed) self.old_var_name_edit.textChanged.connect(self.on_old_var_changed) self.array_index_edit.textChanged.connect(self.on_editors_changed) self.newvar_name_edit.textChanged.connect(self.on_editors_changed) self.verticalScrollBar.valueChanged.connect(self.on_scrolled) self.dest_text_edit.verticalScrollBar().valueChanged.connect(self.on_scrolled) self.source_text_edit.verticalScrollBar().valueChanged.connect(self.on_scrolled) self.old_struct_text = "" self.new_struct_text = "" self.old_struct = None self.new_struct = None self.struct_completer = QtGui.QCompleter(self.structname_to_file_table.keys(),self.d) self.struct_completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive) self.class_cb.setCompleter(self.struct_completer) self.fill_structname_list()
def OnCreate(self, form): """ Called when the plugin form is created """ # Get parent widget self.parent = self.FormToPySideWidget(form) self.table_view = TableView_t() self.table_view.setModel(self.table_model) self.table_view.setSortingEnabled(True) self.table_view.setWordWrap(False) self.table_view.horizontalHeader().setStretchLastSection(False) self.adjustColumnsToContents() self.layout = QtGui.QVBoxLayout() self.layout.setSpacing(0) self.layout.addWidget(self.table_view) self.parent.setLayout(self.layout) visual_style.set(self.parent) self.adjustColumnsToContents()
def OnCreate(self, form): """ Called when the plugin form is created """ # Get parent widget self.parent = self.FormToPySideWidget(form) self.table_view = TableView_t() self.table_view.setModel(self.table_model) self.table_view.setSortingEnabled(True) self.table_view.setWordWrap(False) self.table_view.horizontalHeader().setStretchLastSection(False) self.adjustColumnsToContents() # # self.func_view = QtGui.QTextEdit() self.func_view.setReadOnly(True) # self.line_edit.setCenterOnScroll(True) self.func_view.setPlainText("") font = self.func_view.currentFont() font.setPointSize(10) self.func_view.setCurrentFont(font) # Populate PluginForm self.layout = QtGui.QVBoxLayout() self.layout.setSpacing(0) # layout.setContentsMargins(0, 0, 0, 0) self.splitter = QtGui.QSplitter() self.splitter.setOrientation(QtCore.Qt.Vertical) self.splitter.addWidget(self.table_view) self.splitter.addWidget(self.func_view) self.layout.addWidget(self.splitter) self.parent.setLayout(self.layout) visual_style.set(self.parent) self.table_view.clicked.connect(self.table_view_clicked)
def update(self): if hasattr(self, 'table_view'): visual_style.set(self.parent) self.show() self.adjustColumnsToContents()
def __init__(self): super(Ui_TracebackDialog,self).__init__() self.d = QtGui.QDialog() self.setupUi(self.d) visual_style.set(self.d) self.tb_list.itemDoubleClicked.connect(self.item_double_clicked)