IDA Pro меняет цвет переменных в псевдокодеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 IDA Pro меняет цвет переменных в псевдокоде

Сообщение Anonymous »

Очень простой плагин Ida Pro, который меняет цвет MyVar123 внутри окна псевдокода.
Проблема в том, что этот подход ограничен использованием констант ida_lines.SCOLOR_... для цвета. Как определить свой собственный цвет текста, например. #00FF00 или каким-либо другим способом?
Я прочитал SDK и не нашел функции, отвечающей за пользовательские цветовые коды.
import idaapi, ida_kernwin, ida_lines

class ColorizeVariable(ida_kernwin.action_handler_t):

def __init__(self):
ida_kernwin.action_handler_t.__init__(self)

def activate(self, ctx):

if ida_kernwin.get_widget_type(ctx.widget) == ida_kernwin.BWN_PSEUDOCODE:
vu = idaapi.get_widget_vdui(ctx.widget)
pc = vu.cfunc.get_pseudocode()

find = "MyVar"

vu.refresh_view(False)

for sl in pc:
sl.line = sl.line.replace(find, ida_lines.COLSTR(find, ida_lines.SCOLOR_DNAME))
#sl.line = sl.line.replace(find, f'{ida_lines.COLOR_ON}{ida_lines.COLOR_CHAR}{find}{ida_lines.COLOR_OFF}{ida_lines.COLOR_CHAR}') # broken
#sl.line = sl.line.replace(find, f'{ida_lines.COLOR_ON}\x0A{find}{ida_lines.COLOR_OFF}\x0A') #working
#sl.line = sl.line.replace(find, f'\1\x0A{find}\2\x0A') #short version

return 0

def update(self, ctx):
return ida_kernwin.AST_ENABLE_ALWAYS

class ida_plugin_container(idaapi.plugin_t):

flags = idaapi.PLUGIN_UNL
comment = 'plugin comment'
help = 'help message'
wanted_name = "myPlugin"
wanted_hotkey = 'Shift-Q'

def init(self):

action_desc = idaapi.action_desc_t(
'myAction',
'Colorize Variable',
ColorizeVariable(),
'Ctrl+R',
'Colorize Variable in Pseudocode',
10)

ida_kernwin.unregister_action('myAction')
ida_kernwin.register_action(action_desc)

ida_kernwin.attach_action_to_toolbar("SearchToolBar", 'myAction')
print('loaded')
return idaapi.PLUGIN_OK

def run(self, arg):
pass

def term(self):
pass

def PLUGIN_ENTRY():
return ida_plugin_container()


Подробнее здесь: https://stackoverflow.com/questions/786 ... pseudocode
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • IDA Pro меняет цвет переменных в псевдокоде
    Anonymous » » в форуме Python
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • IDA Pro меняет цвет переменных в псевдокоде
    Anonymous » » в форуме Python
    0 Ответы
    46 Просмотры
    Последнее сообщение Anonymous
  • Как выполнить сценарий Python IDA-декомпилера от IdapyThon Inside Ida Pro
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как выполнить сценарий Python IDA-декомпилера от IdapyThon Inside Ida Pro
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Отладка Android Game Lib с IDA Pro 9.0
    Anonymous » » в форуме Android
    0 Ответы
    98 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»