diff options
| author | Camille Mougey <camille.mougey@cea.fr> | 2015-02-09 21:18:42 +0100 |
|---|---|---|
| committer | Camille Mougey <camille.mougey@cea.fr> | 2015-02-09 21:18:42 +0100 |
| commit | 11abe47d5b60d1442e1da6d55b9ac53f6f8f632b (patch) | |
| tree | d0e8d1b21664be6f327c33ae896e06ad1644a399 /example/ida/symbol_exec.py | |
| parent | d876fd8be63a3b319d206b59d57574fc3c5da8ff (diff) | |
| download | miasm-11abe47d5b60d1442e1da6d55b9ac53f6f8f632b.tar.gz miasm-11abe47d5b60d1442e1da6d55b9ac53f6f8f632b.zip | |
Example/IDA: Move `translatorForm` to `utils`
Diffstat (limited to 'example/ida/symbol_exec.py')
| -rw-r--r-- | example/ida/symbol_exec.py | 60 |
1 files changed, 2 insertions, 58 deletions
diff --git a/example/ida/symbol_exec.py b/example/ida/symbol_exec.py index 1ff75f41..b1601cef 100644 --- a/example/ida/symbol_exec.py +++ b/example/ida/symbol_exec.py @@ -4,64 +4,8 @@ import idaapi import idc from miasm2.expression.expression_helper import Variables_Identifier from miasm2.expression.expression import ExprAff -from miasm2.ir.translators import Translator - -from utils import expr2colorstr - - -class translatorForm(Form): - """Translator Form. - - Offer a ComboBox with available languages (ie. IR translators) and the - corresponding translation.""" - - flags = (Form.MultiLineTextControl.TXTF_FIXEDFONT | \ - Form.MultiLineTextControl.TXTF_READONLY) - - def __init__(self, expr): - "@expr: Expr instance" - - # Init - self.languages = list(Translator.available_languages()) - self.expr = expr - - # Initial translation - text = Translator.to_language(self.languages[0]).from_expr(self.expr) - - # Create the Form - Form.__init__(self, r"""STARTITEM 0 -Python Expression -{FormChangeCb} -<Language:{cbLanguage}> -<Translation:{result}> -""", { - 'result': Form.MultiLineTextControl(text=text, - flags=translatorForm.flags), - 'cbLanguage': Form.DropdownListControl( - items=self.languages, - readonly=True, - selval=0), - 'FormChangeCb': Form.FormChangeCb(self.OnFormChange), - }) - - def OnFormChange(self, fid): - if fid == self.cbLanguage.id: - # Display the Field (may be hide) - self.ShowField(self.result, True) - - # Translate the expression - dest_lang = self.languages[self.GetControlValue(self.cbLanguage)] - try: - text = Translator.to_language(dest_lang).from_expr(self.expr) - except Exception, error: - self.ShowField(self.result, False) - return -1 - - # Update the form - self.SetControlValue(self.result, - textctrl_info_t(text=str(text), - flags=translatorForm.flags)) - return 1 + +from utils import expr2colorstr, translatorForm class symbolicexec_t(idaapi.simplecustviewer_t): |