Ida Pro python Editor v1 what it Does: Just like the ida one but much nicer and better Python language. Run Scripts within ida. todo python auto completion I always hated the Old Run script command, so i set up making my own editor for ida pro. I had to rebuild PyQt4 for ida, so it had all the stuff i needed. http://www.techbliss.org/threads/py...-total-package-installer-by-storm-shadow.768/ Download plugin. extarct to Ida Pro plugins folder. use hotkey Alt+E and find it under File menu. https://github.com/techbliss/Python_editor
Okay this version is damn nice. Works much better and looks much nicer than the first build. https://github.com/techbliss/Python_editor NB! Works outside ida also.
Changelog Fix globals you can run files that depends on submodules. So it can handkle full scale python now
Version 3 ################################################### # Author Storm Shadow # # Hotkeys # # NewFile: Ctrl+N # # OpenFile: Ctrl+O # # SaveFile: Ctrl+S # # RunScript: Ctrl+E # # Undo: Ctrl+Z # # Redo: Ctrl+Y # # SelectALL: Ctrl+A # # Paste: Ctrl+V # # ResetFolding: Ctrl+R # # CircleFolding: Ctrl+C # # PlainFolding: Ctrl+P # # HEX-ray Home: Ctrl+W # # Ida Pro Python SDK Ctrl+I # # IDAPROPythonGit: Ctrl+G # # Author: Ctrl+B # # Enable Reg: Alt+E # # Disable Reg: Alt+D # ################################################### # IDA PRO python Editor # ################################################### https://github.com/techbliss/Python_editor
I have a conflict with IDA 6.8 which is easy to bypass but it can get cumbersome eventually. It is a generic prolem and not just related to the Python Editor. It has to do with HotKeys. Python Editor has a conflict with one of its hotkeys either against IDA or some other plugin. Similarly with other plugins. When this happens in 6.8, it creates a second 'plugins' entry in its menu. One with whatever has gone OK and one with the plugins that couldn't get a 'run' hotkey. It looks weird. You can't keep trying combinations since many of them are activated at different parts of the debugging process, so what do you do to find a free Hotkey, other than keeping some updated list of any hotkeys used by IDA and all its addons?
Have you tried shortkey menu in Ida. I You can change All hotkeys. only encounted the ALT E. But havent seen the hotkeys within the editor beeing affected.
Alt+E is the one I found too. Plus 2-3 more for other plugins. Scylla, idaskins, idasploiter. I don't remember all they conflicted with but Kam1n0 was one of them. What shortkey menu you refer to?
under menu>>>> shortcuts. you have to load a file first, so plugins are loaded. then change shortcuts. if i remember correct collision shortcuts will be marked in red.
Added profile code of the editor itself. Code (Text): 173 function calls in 0.025 seconds Ordered by: standard name ncalls tottime percall cumtime percall filename:lineno(function) 1 0.000 0.000 0.000 0.000 <string>:282(retranslateUi) 1 0.008 0.008 0.025 0.025 <string>:4(<module>) 2 0.000 0.000 0.000 0.000 <string>:71(_translate) 1 0.000 0.000 0.000 0.000 <string>:77(Ui_MainWindow) 1 0.001 0.001 0.008 0.008 <string>:78(setupUi) 1 0.000 0.000 0.000 0.000 idaapi.py:27414(idadir) 4 0.000 0.000 0.003 0.001 init.py:30(write) 1 0.000 0.000 0.000 0.000 {_idaapi.idadir} 4 0.003 0.001 0.003 0.001 {_idaapi.msg} 2 0.000 0.000 0.000 0.000 {built-in method SendScintilla} 18 0.000 0.000 0.000 0.000 {built-in method addAction} 1 0.000 0.000 0.000 0.000 {built-in method addPixmap} 18 0.000 0.000 0.000 0.000 {built-in method addSeparator} 1 0.000 0.000 0.000 0.000 {built-in method addToolBar} 1 0.000 0.000 0.000 0.000 {built-in method addWidget} 1 0.000 0.000 0.000 0.000 {built-in method exec_} 3 0.005 0.002 0.005 0.002 {built-in method load} 1 0.000 0.000 0.000 0.000 {built-in method prepare} 2 0.002 0.001 0.002 0.001 {built-in method resize} 1 0.000 0.000 0.000 0.000 {built-in method setAutoCompletionSource} 3 0.000 0.000 0.000 0.000 {built-in method setAutoCompletionThreshold} 2 0.000 0.000 0.000 0.000 {built-in method setAutoFillBackground} 1 0.000 0.000 0.000 0.000 {built-in method setAutoIndent} 1 0.000 0.000 0.000 0.000 {built-in method setBraceMatching} 1 0.000 0.000 0.000 0.000 {built-in method setCentralWidget} 1 0.000 0.000 0.000 0.000 {built-in method setDefaultFont} 1 0.000 0.000 0.000 0.000 {built-in method setEolFill} 1 0.000 0.000 0.000 0.000 {built-in method setFamily} 1 0.000 0.000 0.000 0.000 {built-in method setFixedPitch} 1 0.000 0.000 0.000 0.000 {built-in method setFont} 1 0.000 0.000 0.000 0.000 {built-in method setFrameShape} 1 0.000 0.000 0.000 0.000 {built-in method setIconSize} 1 0.000 0.000 0.000 0.000 {built-in method setLexer} 1 0.000 0.000 0.000 0.000 {built-in method setMarginWidth} 1 0.000 0.000 0.000 0.000 {built-in method setMarginsFont} 1 0.000 0.000 0.000 0.000 {built-in method setMargin} 5 0.000 0.000 0.000 0.000 {built-in method setObjectName} 1 0.000 0.000 0.000 0.000 {built-in method setPointSize} 18 0.000 0.000 0.000 0.000 {built-in method setShortcut} 1 0.000 0.000 0.000 0.000 {built-in method setSpacing} 18 0.000 0.000 0.000 0.000 {built-in method setStatusTip} 1 0.000 0.000 0.000 0.000 {built-in method setStyleSheet} 1 0.000 0.000 0.000 0.000 {built-in method setTabWidth} 1 0.000 0.000 0.000 0.000 {built-in method setToolButtonStyle} 1 0.000 0.000 0.000 0.000 {built-in method setToolTip} 1 0.000 0.000 0.000 0.000 {built-in method setWhatsThis} 1 0.000 0.000 0.000 0.000 {built-in method setWindowIcon} 2 0.000 0.000 0.000 0.000 {built-in method setWindowTitle} 1 0.005 0.005 0.005 0.005 {built-in method show} 1 0.000 0.000 0.000 0.000 {built-in method width} 1 0.000 0.000 0.000 0.000 {connectSlotsByName} 9 0.000 0.000 0.000 0.000 {fromUtf8} 1 0.000 0.000 0.000 0.000 {instance} 18 0.000 0.000 0.000 0.000 {method 'connect' of 'PyQt4.QtCore.pyqtBoundSignal' objects} 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} 2 0.000 0.000 0.000 0.000 {method 'insert' of 'list' objects} 1 0.000 0.000 0.000 0.000 {nt.chdir} 1 0.000 0.000 0.000 0.000 {nt.getcwd} 2 0.000 0.000 0.000 0.000 {translate}
Hi, I wanna change font family of the code box to Courier New - 9. In `pyeditor.py` I've changed this code to: Code (Text): #font skrift = QFont() skrift.setFamily("Courier New") skrift.setFixedPitch(True) skrift.setPointSize(9) self.codebox.setFont(skrift) self.codebox.SendScintilla(QsciScintilla.SCI_STYLESETFONT, 1, "Courier New") But nothing changed. Could you help me to change it? Thanks you so much!
Got it. Just add at: Code (Text): #python style lexer = QsciLexerPython(self.codebox) lexer.setFont(skrift) # << lexer.setEolFill(True)
i moved it to correct thread. However im testing some changes adding a font box, that im gonna update with
NEW VERSION Changelog v4 Clean up code Zoom -/+ Font box And in the next versions i have a little supprise